Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PZ.doc
Скачиваний:
4
Добавлен:
12.09.2019
Размер:
4.24 Mб
Скачать
  1. Разработка алгоритмов достижения заданной функциональности игры

При разработке программы использовалось модульное программирование, суть которого заключается в том, что программа разбивается на отдельные функциональные части – подпрограммы, которые распределяются по отдельным уровням иерархии. Каждая из подпрограмм решает только свою небольшую задачу по преобразованию данных, что позволяет упростить процесс написания и отладки программы в целом. Описание методов класса Game1 представлено в таблице №1.

Кроме того, при создании приложения используются алгоритмы, позволяющие достичь нужной функциональности. На рисунках 2 и 3 приведены блок-схемы некоторых функций, реализующих эти алгоритмы.

Таблица №1. Описание методов класса Game1

Функции и методы

Назначение

public Game1()

Конструктор класса

protected override void Initialize()

Базовая инициализация.

protected override void LoadContent()

Загрузка игрового контента (необходимых изображений, звуков, шрифтов).

protected void CreateNewObject()

Создание объектов для всех блоков с картинками.

protected override void Update(GameTime gameTime)

Логика игры. Управляет основными действиями игры, отслеживает нажатия левой кнопки мыши, запускает секундомер.

protected override void Draw(GameTime gameTime)

Используется для отрисовки всех объектов, вывода текстовых сообщений.

protected override void UnloadContent()

По окончании игрового цикла этот метод освобождает системные ресурсы.

  1. Метод для создания объектов.

Метод protected void CreateNewObject() создает объекты игры.

Рисунок 2 Блок-схема метода protected void CreateNewObject

  1. . Метод protected override void Update(GameTime gameTime)

В данном методе сосредоточена вся логика игры. Он является основным в игровом цикле.

Рисунок 3 Блок-схема метода protected override void Update

  1. Разработка элементов приложения

  1. Разработка 2D спрайтовой анимации

Спрайт (англ. Sprite — фея; эльф) — графический объект в компьютерной графике.

Чаще всего — растровое изображение, свободно перемещающееся по экрану. [2]

В приложении для создания спрайтов используются изображения в формате «png». Для спрайтов сообщения, которое выводится в конце игры, и фона используются фиксированные изображения, в то время как основные спрайты игры создаются на основе случайно выбранного изображения. Такой подход позволяет создать непредсказуемый для пользователя расклад, что исключает возможность запоминания месторасположения спрайтов.

Для вывода изображений используется класс для представления игрового объекта (см. «Приложение В»). Объект этого класса хранит текстуру спрайта и информацию о его позиции на экране. Также класс позволяет не заботиться о выводе каждого из своих объектов в методе Draw() класса Game1, так как его вывод осуществляется автоматически.

Спрайтовая анимация основывается на наличии пар изображений, расположенных одно под другим. Верхнее изображение (рубашка) скрывает содержимое нижнего, пару которого и следует найти во время игры. При нажатии левой кнопки мыши программа анализирует позицию клика и, если координаты данной позиции принадлежат какому-либо объекту, производит соответствующее действие. Если выбор объекта первичен, то верхнее изображение становится невидимым, и мы видим нижнее. Очередное нажатие либо скрывает предыдущий и текущий объекты при совпадении изображений на них, либо «открывает» новый объект, а предыдущие два - «закрывает» (верхнее изображение становится снова видимым).

На рисунке 4 представлен спрайт сообщения с кнопками, которое выводится по окончании игры. Изображения для основных спрайтов игры, в том числе «рубашки», можно увидеть на рисунке 5.

Рисунок 4 Cпрайт сообщения

Рисунок 5 Изображения для основных спрайтов игры

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]