Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсач2.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
5.53 Mб
Скачать

Министерство образования Республики Беларусь

Учреждение образования

«Белорусский государственный университет информатики и радиоэлектроники»

Факультет компьютерных систем и сетей

Кафедра Информатики

Дисциплина: Программирование

Отчет

по курсовому проекту

на тему

Компьютерная игра “Zuma”

Студентка: гр. 152001

Новаковская А.И.

Руководитель: ассистент кафедры информатики

Стаховский С.М.

Минск 2012

Содержание

Задание 3

Введение 4

Теория 5

Практика 8

Руководство пользователя 17

Заключение 22

Список использованных источников 23

Приложения 1. Исходный код 24

Функции кадра меню и его прорисовки 24

Задание 3

Введение 4

Теория 5

Практика 8

Руководство пользователя 17

Заключение 22

Список использованных источников 23

Приложения 1. Исходный код 24

Задание

Задание курсовой работы заключалось в том, чтобы написать игру «Zuma Deluxe» на языке С\С++. Создать как можно более похожую на исходную программу. «Zuma Deluxe» представляет собой двухмерный тир. Расстреливать надо очень длинную змейку, неспешно движущуюся из точки А в точку В.Играющему нужно её остановить. Если она все же вдруг достигает конечной точки, то игроку засчитывают проигрыш. Змейка состоит из множества цветных шаров, а игрок управляет зелёной лягушкой, которая плюётся в этот подвижный состав точно такими же цветными шарами. При попадании шарик заскакивает внутрь змейки, раздвигая соседние шары, и становиться её частью. Добавлять шарики нужно таким образом, чтобы в змейке получались последовательности из трёх и более шаров одного цвета. В результате эти шары исчезнут, а длина змейки за счёт этого уменьшится. Составлять последовательности нужно до тех пор, пока от змейки вообще ничего не останется.

Введение

Компьютерная головоломка Zuma увидела свет в конце 2003 года благодаря известному в мире казуальных игр разработчику PopCapGame. И уже в 2004 году игра завоевала первую награду - «Игра года» от RealArcade. Zuma стала бестселлером и до сих пор привлекает интерес большинства поклонников игр жанра casual. Существует всего 3 версии игры: Zuma, Zuma Deluxe (расширенная версия) и Zuma's Revenge! 

Казалось бы, чего нового можно придумать в двухмерных играх, всё и так уже есть. Но и в наше время придумывают совершенно новые концепции игрового процесса. Яркий пример – игра «Zuma Deluxe». Процесс разбавляется временно появляющимися бонусами, такими как, например лазерная наводка, взрыв, радужные цвета, остановка или даже обратный ход шариков. Кроме того, особо учитываются попадания сквозь поток шариков, серия результативных попаданий без ошибок, время выполнения уровней.

В «Zuma» использован стиль древних инков и ацтеков, им пронизано всё вокруг. Выбор уровней происходит под сводами ацтекских храмов, на уровнях змейки бегут по каменным желобкам с узнаваемыми орнаментами, главная героиня - лягушка общается с каменным божеством, даже на цветных шариках изображены рожицы индейских идолов. Единый оригинальный стиль делает игру запоминающейся и узнаваемой. Подходит практически любому возрасту и социальному статусу. Игра Тренирует сообразительность, реакцию, логику и глазомер.

Теория

Моя игра написана с использованием графического движка HGE version 1.53.В этом разделе я опишу кратко его возможности.

Это полнофункциональное посреднеческая библиотека для всех, кто хочет разрабатывать быстро и легко качественные коммерческие 2D игры.

HGE работает на Microsoft Windows 98, 2000, NT, ME, XP and требует DirectX 8.0. Она даже запустится на low-end видеокартах, включая встроенные, такие как Intel Solano(i815 chipset). HGE можно использловать практически с любым C++ компилятором включая Visual C++, Borland C++, MinGW и Metrowerks Codewarrior.

Вспомогательные классы библиотеки:

Спрайты и анимация

Прозрачный интерфейс ко всем функциям железа; поддержка точки привязки (якорь); поддержка вытягивания, вращения и масштабирования; горизонтальное и вертикальное отражение; функции работы с временем; различные режимы проигрывания.

Шрифты

Загрузка и отображение растровых шрифтов; различные способы выравнивания текста; тень, масштабирование и вращение текста; вычисление длины строки; формат printf для функций вывода.

Система частиц и сетка искажения

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

Менеджер ресурсов

Powerful resource script; on the fly script switching; create complex objects with just a single function call; fully automated memory management; precaching and purging of specific resource groups.

Графический интерфес пользователя

Простое и гибкое управление контролами; стандартные контролы: текст, кнопки и ползунки; поддержка сильно активных, анимированных ГУИ.

Векторы и цвета

Полный набор операций и функций для поддержки 2д векторов; полный набор операций для вычислений с цветами в формате ARGB; аппаратное преобразование цветов; фиксирование цветов.

Всю информации, по использованию этой библиотеки я брала на сайте gamesmaker.ru(там расположена документации на русском об этой библиотеке).

Интерфейсные функции

  • hgeCreate Возвращает указатель на интерфейс HGE.

  • Release Освобождает полученный интерфейс HGE.

Системные функции

  • System_Shutdown Восстанавливает видеорежим и освобождает выделенные ресурсы.

  • System_Start Начинает выполнять определенную пользователем функцию кадра.

  • System_SetState Устанавливает внутреннюю переменную системы.

Функции работы с таймером

  • Timer_GetTime Возвращает время, прошедшее после вызова функции System_Initiate.

  • Timer_GetDelta Возвращает время, прошедшее с последнего вызова функции кадра.

Графические функции

  • Gfx_BeginScene Начинает вывод графики.

  • Gfx_EndScene Заканчивает вывод графики и отображает буфер на экране.

  • Gfx_Clear Очищает цель вывода и z-буфер.

С помощью этих функций и некоторых других предоставленных этой библиотекой, я написала игру «Zuma Deluxe».