Игра в стиле match3 на форке SFML с поддержкой Emscripten для запуска в браузере. Исходный код можно посмотреть здесь. В саму игру можно поиграть на этом сайте по ссылке. Поддерживаемое разрешение экрана: 1920:1080
Демо
Техническое задание
- При запуске игры открывается Главное Меню, в котором есть единственная кнопка Play.
- При нажатии на Play открывается Игровой Экран.
- Игровой Экран представляет из себя поле 8x8 квадратных клеток.
- В каждой клетке находится по одному элементу.
- Существуют пять разновидностей элементов, представляющих из себя разноцветные геометрические фигуры (например, квадраты или круги).
- Элементы размещаются в клетках случайным образом.
- Если на поле где-то стоят 3 или более элементов в ряд, элементы исчезают. На свободные места опускаются элементы, котороые находятся выше. Если выше элементов нет, то элементы просто появляются.
- Игрок кликом мышки выделяет любой элемент на поле.
- Выделенный элемент должен визуально отличаться от остальных (крутиться, подпрыгивать, сменить цвет, светиться, либо любым другим образом).
- Вторым кликом мышки игрок выделяет второй элемент. Если это соседний по горизонтали или вертикали элемент, то элементы меняются местами. Если не соседний - выделение сбрасывается. Если смена мест элементов не привела к исчезновению хотя бы одного из них, элементы меняются местами обратно.
- Все перемещения элементов должны быть анимированы.
- За каждый исчезнувший элемент игрок получает очки. Количество набранных очков должно быть видно на Игровом Экране.
- Игроку даётся 60 секунд на игру. По истечении этого времени игра заканчивается. На Игровом Экране должно быть видно сколько времени осталось.
- По завершению игры должно появиться сообщение «Game Over», с единственной кнопкой Ok. При нажатии на Ok игрок попадёт в Главное Меню.
- Комбинация из четырёх элементов в ряд приводит к образованию бонуса Line.
- Бонус Line образуется вместо одного из элементов. Вместо того, который был перемещён последним.
- Line бонус имеет цвет такой же, как цвет элементов, участвовавших в матче.
- Line бонус может иметь либо вертикальное, либо горизонтальное направление.
- В случае, если Line бонус участвует в матче, он срабатывает: элемент разрушается, и из него в противоположных направлениях, зависящих от направления бонуса, вылетают два Разрушителя, каждый из которых летит прямо, пока не долетит до края игрового поля.
- Если над элементом летит Разрушитель, элемент уничтожается.
- Все перемещения Разрушителей должны быть анимированы.
- Если Разрушитель пролетает над другим бонусом, бонус срабатывает.
- Комбинация из 5 или более элементов в ряд приводит к образованию бонуса Bomb.
- Бонус Bomb образуется вместо одного из элементов. Вместо того, который был перемещён последним.
- Пересечение горизонтальной и вертикальной комбинаций из трёх и более элементов каждая приводит к образованию бонуса Bomb на пересечении.
- Бонус Bomb имеет такой же цвет, как цвет элементов, участвовавших в матче.
- В случае, если бонус Bomb участвует в матче, он срабатывает: элемент разрушается, и через 250 мс разрушаются все элементы вокруг него в квадрате 3х3 с центром в том месте, где взорвался бонус.
- Если во взрывающейся области оказался другой бонус, он срабатывает.
Блок-схема хода