moevm / oop

Object-oriented programming course
29 stars 225 forks source link

[8303]Kurlin_Nikita_L6 #681

Closed Yogik10 closed 4 years ago

Yogik10 commented 4 years ago

Смотреть файлы Game, Rule, State

Yogik10 commented 4 years ago

1) Правила игры должны определять начальное состояние игры: смотреть файлы Rule.h (смотреть классы Rule, Rule1 Rule2), main.cpp (выбор правила) и Game.h (смотреть классы GameBase и Game<>, в которых поле создаётся в соответствии с правилом).

2) Правила игры должны определять условия выигрыша игроков: смотреть файлы Rule.h (смотреть классы Rule, Rule1 Rule2, метод checkWin()), и Game.h (смотреть классы Game<>, в которых в бесконечном цикле осуществляется проверка на победу в соответствии с правилом).

3) Правила игры должны определять очередность ходов игрока: смотреть файлы Rule.h (смотреть классы Rule, Rule1 Rule2, методы handle(), changeState()) и State.h. Вызов метода handle класса Rule* осуществляется в бесконечных циклах классов Game<> (файл Game.h).

4) Должна быть возможность начать новую игру: смотреть файл Game.h, классы Game<>, бесконечный цикл игры.

5) Реализован шаблонный класс игры, в качестве параметра шаблона передаются конкретные правила: смотреть файлы Game.h (классы Game<>) и main.cpp, где происходит создание экземпляра игры.

6) Должно быть реализовано минимум 2 правила игры: можно посмотреть предыдущий пункт.

7*) Класс игры в шаблоне поддерживает кол-во игроков. И для определенного кол-ва должен быть специализирован отдельно: можно посмотреть предыдущий пункт.

8*) Передача хода между игроками реализована при помощи паттерна “Состояние”: смотреть пункт 3.

9*) Класс игры один единственный и создается паттерном “Синглтон”: смотреть файл Game.h (классы Game<>) и создание экземпляров игры в main.cpp.