Игра - однопользовательская, жанр игры – аркада. Визуальное представление – двухмерное.
Игра должна представлять из себя оконное приложение.
Приложение состоит из четырёх окон:
1. стартовое окно;
2. окно рейтинга;
3. игровое окно;
4. финальное окно.
В стартовом окне игроку предлагаются такие функции:
1. ввести своё имя (обязательно для начала игры).
2. посмотреть рейтинг игроков;
3. регулировать громкость звука;
4. выйти.
В окне рейтинга игрок может посмотреть список 10 самых лучших результатов набранных игроками во время игры. Здесь отображается имя игрока и количество очков набранное им.
В игровом окне осуществляется процесс игры.
Работа программы состоит в управлении круглым жёлтым существом только с одним ртом (пакменом), цель которого собрать все белые точки на уровне, избегая столкновений с привидениями. В случае столкновения игра заканчивается проигрышем. Под столкновением подразумевается, что пакмен находится на одной клетке с привидениями. Победа засчитывается, если игрок сумел «съесть» все белые точки. Игровое поле представляет из себя матрицу 25x16, состоящую из различных видов элементов:
· пустая клетка;
· клетка с белой точкой, которая приносит очко игроку;
· заблокированная клетка.
Пакмен может двигаться на пустой клетке и клетке с белой точкой. Проходя через клетку с белой точкой, пакмен забирает точку, она засчитывается как очко, и эта клетка становится пустой. Эти очки будут занесены в рейтинг после победы или проигрыша игрока. Привидения, проходя через клетки с белой точкой эти точки не забирают. Пакмен и привидения не могут находится на заблокированной клетке и не могут пройти через неё.
Привидения в начале уровня находятся в центре экрана в небольшой комнате, которая представляет из себя квадрат из заблокированных блоков с выходом, откуда они выходят по одному, а одно привидение начинает уровень вне комнаты. Каждое привидение обладает индивидуальными характеристиками, приведёнными ниже:
· Блинки — красное привидение. У него есть два режима: режим «охоты» и режим «ожидания». В режиме «охоты» он использует в качестве цели точку, в которой находится пакмен, в режиме ожидания он идёт в верхний левый угол. Режимы меняются автоматически. Время работы этих режимов определяется количеством шагов сделанных Блинки.
· Пинки — розовое привидение. В качестве цели использует точку, на 4 клетки находящуюся впереди пакмена.
· Инки — голубое привидение. Как и Блинки использует те же два режима. Только в режиме ожидания он использует другой алгоритм преследования: в качестве цели для движения точка, координатами которой является один из концов отрезка, другим концом которого является Blinky, а центром — точка на 2 клетки перед пакменом. Получившуюся точку очень тяжело предсказать, так что Inky считается самым непредсказуемым привидением.
· Клайд — оранжевое привидение. Если Clyde находится дальше 9 клеток от пакменa, то он использует в качестве цели пакменa (как Blinky), если же пакмен ближе 9 клеток, то Clyde меняет цель на точку «ниже» правого нижнего угла.
В таблицу рейтинга может быть занесено не более 10 лучших результатов, набранных пользователем.
Программа должна обеспечивать возможность выполнения следующих функций:
1) создание новой игры;
2) приостановка игры;
3) управления главным героем с помощью клавиш стрелок;
4) сохранение результатов игры и запись результатов в таблицу рейтинга, где будет учитываться количество набранных очков;