Ядро игры типа SameGame, в которой нужно нажимать на группы ячеек одного цвета, чтобы убрать их с поля.
Проект содержит:
- класс игрового поля (GameBoard),
- класс управления игрой (CollapseGame),
- модульные тесты (Catch2) для этих классов.
Полностью готово для соединения с графическим интерфейсом и включает следующие функции:
- Создать поле заданного размера и заполнить случайным образом переданными цветами
- Выделить группу смежных клеток по переданным координатам одной из клеток
- Выделить самую большую группу смежных клеток
- Снять выделение
- Убрать с поля группу смежных клеток по переданным координатам одной из клеток
- Установить выделение клеток для применения бонуса по выбранному цвету или переданным координатам
- Применить один из трех возможных бонусов
- Проверить, закончилась ли игра и выиграл ли игрок
- Получить количество оставшихся бонусов
- Получить количество набранных очков по цветам
- Получить количество кубиков разных цветов, оставшиеся в игре
- Получить массив игрового поля. Например, можно использовать для отрисовки.
- Отменить ход
- Проверить, доступна ли отмена хода. Например, можно использовать для индикации в GUI.