На этом уроке мы поговорим о правилах игры в догоняшки. На прошлом уроке мы выясняли, что должны уметь делать игроки. На этом уроке мы начнём писать класс, в котором опишем конкретные правила нашей игры.
Дата отправки отчёта:
20 ноября 2019 г.
Задание выполнено: за
2 час. 40 мин.
Чему научился:
Создал класс GameCatch. Описал поля gamers и leader. Создал конструктор. Создал публичные методы AddGamer(Игрок), Step() и RunAll(). Словесный алгоритм методов FindNewLeader() и SetNewLeader(): Не совсем понятны правила игры, вернее термины. Если я правильно понял, Голя - это ведущий (он же лидер), и если он поймал игрока, то у него (лидера) меняется состояние bool Поймал(). Тогда алгоритм метода FindNewLeader() следующий. После первого шага нужно проверить значение bool Поймал() у лидера. Если оно try, тогда запустить цикл перебора игроков, чтобы найти нового Голя. Если найден игрок, которого поймал Голя, тогда запустить метод SetNewLeader(), который присваивает этому новому игроку статус Голя через цикл перебора игроков. Ну, как то так. Дальше по ходу дела буду разбираться.
Что было сложным:
Скакать и рус. раскладки на англ. Надеюсь, что это оправдано.
Научился: FindNewLeader() - находит нового галю и запускает метод SetNewLeader().
SetNewLeader() - устанавливает нового галю и запускает метод Step() для продолжения (следующего хода) игры.
Трудности: определить правильные действия алгоритмов
Научился: FindNewLeader должна делать проверку по всем игрокам на наличие флага Leader.
SetNewLeader - менять значение флага на NoLeader у текущего игрока и ставить Leader на пойманого нормально