Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ляхов Записка КП ООП.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
896.12 Кб
Скачать

Министерство образования и науки Украины

Национальный аэрокосмический университет им. Н.Е.Жуковского

«Харьковский авиационный институт»

Кафедра компьютерных систем и сетей

Разработка игры «Pac-Man»

Пояснительная записка к курсовому проекту,

направление 6.050102 – «Компьютерная инженерия»

по дисциплине «ООП»

ХАІ.503.535.14О.050102,1105077 ПЗ

Выполнил студент гр.535 Ляхов Д. Э.

(№группы)(Ф.И.О.)

(подпись,дата)

Проверил ст.преподаватель

(научнаястепень,ученоезвание,должность)

ГодуновА.С.

(подпись,дата) (Ф.И.О.)

2025

Содержание

1 ПОСТАНОВКА ЗАДАЧИ 3

2 ТЕХНИЧЕСКОЕ ЗАДАНИЕ 5

3 ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ 10

4 ВЫБОР ТЕХНОЛОГИЙ И СРЕДСТВ РАЗРАБОТКИ 13

5 РАЗРАБОТКА ПРИЛОЖЕНИЯ 14

5.1 Разработка архитектуры приложения 14

5.2 Разработка структур данных 15

5.3 Разработка интерфейса пользователя 16

5.4 Разработка алгоритмов 19

5.5 Диаграмма классов 20

5.6 Описание классов 22

6 ТЕХНОЛОГИЧЕСКАЯ ЧАСТЬ 24

7 ЗАКЛЮЧЕНИЕ 25

ПЕРЕЧЕНЬ ССЫЛОК 26

ПРИЛОЖЕНИЕ А. Руководство пользователя 27

1. Аппаратные и программные требования 27

2. Установка программы 27

3. Описание интерфейса программы 27

4. Управление 29

5. Описание игры 29

6. Пример работы программы 30

ПРИЛОЖЕНИЕ Б. Дополнение. 31

1 Постановка задачи

Необходимо написать компьютерная игру, в стиле аркады «Pac-Man», которая будет работать в ОС Windows на платформе .NET Framework. Игра должна представлять из себя оконное приложение. Работа программы состоит в управлении круглым жёлтым существом только с одним ртом (пакменом), цель которого собрать все белые точки на уровне, избегая столкновений с привидениями. В случае столкновения игра заканчивается проигрышем и количество очков заносится в таблицу рейтингов. Победа засчитывается, если игрок сумел «съесть» все белые точки. Игровое поле представляет из себя матрицу 25x16, состоящую из различных видов элементов:

  • пустая клетка;

  • клетка с белой точкой, которая приносит очко игроку;

  • заблокированная клетка.

Пакмен может двигаться на пустой клетке и клетке с белой точкой. Проходя через клетку с белой точкой, пакмен «съедает» точку, она засчитывается как очко, и эта клетка становится пустой. Эти очки будут занесены в рейтинг после победы/ проигрыша игрока. Привидения, проходя через клетки с белой точкой эти точки не забирают. Пакмен и привидения не могут находится на заблокированной клетке и не могут пройти через неё.

Привидения в начале уровня находятся в центре экрана в небольшой комнате, которая представляет из себя квадрат из заблокированных блоков с выходом, откуда они выходят по одному, а одно привидение начинает уровень вне комнаты. Каждое привидение обладает индивидуальными характеристиками, приведёнными ниже:

  • Блинки — красное привидение. У него есть два режима: режим «охоты» и режим «ожидания». В режиме «охоты» он использует в качестве цели точку, в которой находится пакмен, в режиме ожидания он идёт в верхний левый угол. Режимы меняются автоматически. Время работы этих режимов определяется количеством шагов сделанных Блинки.

  • Пинки — розовое привидение. В качестве цели использует точку, на 4 клетки находящуюся впереди пакмена.

  • Инки — голубое привидение. Как и Блинки использует те же два режима. Только в режиме ожидания он использует другой алгоритм преследования: в качестве цели для движения точка, координатами которой является один из концов отрезка, другим концом которого является Blinky, а центром — точка на 2 клетки перед пакменом. Получившуюся точку очень тяжело предсказать, так что Inky считается самым опасным привидением.

  • Клайд — оранжевое привидение. Если Clyde находится дальше 9 клеток от пакменa, то он использует в качестве цели пакменa (как Blinky), если же пакмен ближе 9 клеток, то Clyde меняет цель на точку «ниже» правого нижнего угла.

В таблицу рейтинга может быть занесено не более 10 лучших результатов, набранных пользователем.

Программа должна обеспечивать возможность выполнения следующих функций:

  1. создание новой игры;

  2. приостановка игры;

  3. управления главным героем с помощью клавиш стрелок;

  4. сохранение результатов игры и запись результатов в таблицу рейтинга, где будет учитываться количество набранных очков;

  5. регулирования громкости звука;

  6. отображение названия программы;

  7. возможность перезапуска текущего уровня.