- •1 Постановка задачи
- •2 Техническое задание
- •4.1.2 Требования к организации входных данных
- •2) Разработка архитектуры приложения;
- •4) Разработка алгоритмов;
- •3 Обзор предметной области
- •5.1 Разработка архитектуры приложения
- •5.2 Разработка структур данных
- •5.3 Разработка интерфейса пользователя
- •Пример работы алгоритма
- •4 Выбор технологий и средств разработки
- •5 Разработка приложения
- •5.4 Разработка алгоритмов
- •5.5 Диаграмма классов
- •5.6 Описание классов
- •Технологическая часть
- •6.1 Тестирование
- •7 Заключение
- •Перечень ссылок
- •Управление
- •Описание игры
- •Пример работы программы
- •Приложение б. Дополнение.
5.4 Разработка алгоритмов
Волновой алгоритм - Рис 5.4.1
5.5 Диаграмма классов
Рис. 5.5.1 - Диаграмма классов проекта
Рис. 5.5.2 - Диаграмма классов проекта
5.6 Описание классов
MainWindow
Описание: реализация графического интерфейса для взаимодействия с пользователем на игровом поле.
RatingWindow
Описание: реализация записи и вывода рейтингов на экран.
Renderer
Описание: прорисовка объектов на поле.
MapLoader
Описание: считывание файла map.txt, в котором содержится разметка карты и преобразование полученных данных в специальный пользовательский тип данных Map для его дальнейшей обработки.
Game
Описание: создание игрового поля полученного ранее и объектов на нём, а также обработка внешних (от пользователя) и внутренних(от «привидений») событий в игре.
StartWindow
Описание: приглашение к игре пользователя, а также настройки громкости звука и предоставляет возможность открытие окна с рейтингом.
RestartWindow
Описание: предлагает пользователю продолжить игру или закончить после её окончания.
GameElement
Описание: абстрактный класс для игровых элементов. Содержит свойства позиционирования элемента на карте.
Block
Описание: наследник от GameElement. Представляет собой заблокированную клетку, через которую нельзя пройти ни пользователю, ни «привидениям».
Pellet
Описание: наследник от GameElement. Это клетка с белой точкой, которая приносит очко игроку.
Sprite
Описание: наследник от GameElement. Этот класс содержит в себе основные методы для игрока и привидений - передвижение по игровому полю.
Player
Описание: наследник от Sprite. Класс пользователя. Содержит метод «поглощения» белых точек на карте.
Ghost
Описание: наследник от Sprite. Родительский класс для привидений. Содержит метод поиска пути к объекту пользователя и «поглощения» этого же объекта.
Blynki
Описание: наследник от Ghost. Красное привидение. Содержит следующий алгоритм поиска движения: 150 шагов он следует за объектом игрока, 50 стремится в верхний левый угол экрана.
Inky
Описание: наследник от Ghost. Синее привидение. Содержит следующий алгоритм поиска движения: 130 шагов он следует за объектом игрока, 70 в качестве цели для движения точка, координатами которой является один из концов отрезка, другим концом которого является Blinky, а центром — точка на 2 клетки перед пакменом.
Clyde
Описание: наследник от Ghost. Жёлтое привидение. Содержит следующий алгоритм поиска движения: если Clyde находится дальше 9 клеток от объекта пользователя, то он использует в качестве цели объект пользователя (как Blinky), если же пакмен ближе 9 клеток, то Clyde меняет цель на точку «выше» верхнего левого угла.
Pynki
Описание: наследник от Ghost. Розовое привидение. В качестве цели использует точку, на 4 клетки находящуюся впереди пакмена.
Технологическая часть
6.1 Тестирование
Название |
Входные данные |
Полученный результат |
Попытка запустить игру без ввода имения пользователем |
В стартовом окне нажимаем кнопку «Начать игру» |
Вывод сообщения, которое предлагает ввести имя пользователя |
Запуск игры, после удаление/переименование файла map.txt. |
В стартовом окне вводим имя пользователя и нажимаем кнопку «Начать игру» |
После запуска игры вывод сообщения об ошибке и закрытие программы |
Выбор опции просмотр рейтинга |
В стартовом окне нажимаем кнопки «Показать рейтинг» |
Вывод окна с рейтингом предыдущих игроков |
Выбор опции просмотр рейтинга, удалив перед этим файл rating.r |
В стартовом окне нажимаем кнопки «Показать рейтинг» |
Вывод пустого окна |
Запуск игры с «испорченным» файлом map.txt |
В стартовом окне вводим имя пользователя и нажимаем кнопку «Начать игру» |
Вывод сообщения о том, что файл испорчен и программа завершает своё выполнение |
Запуск игры с корректным файлом map.txt |
В стартовом окне вводим имя пользователя и нажимаем кнопку «Начать игру» |
Проигрывание музыки и после её окончания начинается процесс игры |
Во время игры начинаем игру заново. |
В игровом поле, в меню, выбираем пункт «Начать заново» |
Возвращения всех элементов поля в начальное значение, проигрывание музыки и после его окончания начинается процесс игры |
Остановка игры на паузу |
В игровом поле, в меню, выбираем пункт «Пауза/Продолжить» |
Объекты на игровом поле «замирают». |
Объект пользователя находится на одной точке с «белой точкой» |
Нажатие на клавиши-стрелки пользователем |
Удаления «белой точки» с игрового поля сопровождаемое специальным звуком и добавление очков к рейтингу пользователя |
Объект пользователя находится на одной точке с «привидением» Блинки
|
Нажатие на клавиши-стрелки пользователем |
Выводится сообщение, о том, что пользователь проиграл, и открывается финальное окно. |
Объект пользователя «съел» все «белые точки» |
Нажатие на клавиши-стрелки пользователем |
Выводится сообщение, о том, что пользователь выиграл, и открывается стартовое окно. |
