Научился: Понял как у динамического массива List реализовывать Свойство. UML диаграмки очень кстати )
Если leader это голя, то при старте игры мы должны сделать рандом голи и если в игру придет еще игрок, то сделать его голей - SetNewLeader(gamer); // хотя я не уверен что мы хотим сделать, не совсем понял )
FindNewLeader - найти нового leader, если голя кого то тронул перезаписать голю через SetNewLeader(gamer)
Беги() - сместить объекты, рандомный сдвиг на свой диаметр или радиус, или задать вектор нправления
Поймал() - если голя столкнулся с игроком то игрок голя. Если несколько игроков столкнулось с голей, то первый объект столкнувшийся с голей будет голей.