Skip to content

Aleksey-Korneev/Computer-Graphics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Отчет по выполнению задания 1 ("Интерактивная 2D-графика"), вариант "Б0".
Выполнил: студент 313 группы Корнеев А.П, Москва, 2021 г.
Преподаватели: Конушин А.С., Фролов В.А.

В ходе выполнения данного задания реализована 2D-игра в жанре "Rougelike".

Реализованы основные элементы задания:
- Чтение карты общего лабиринта и карты комнат разных типов из текстовых файлов. Лабиринт состоит минимум из 20 комнат 4 разных типов. Одна комната целиком помещается на экран.
- Каждый символ в текстовом файле общего лабиринта задаёт один из нескольких типов комнат - ‘A’, ‘B’, ‘C’, ...:
- Каждый символ в текстовом файле для комнаты задает один из нескольких вариантов тайла:
  - пустое пространство: ‘ ‘ (пробел);
  - внешняя стена: ‘#’;
  - внутренняя стена: '$';
  - пол: ‘.’;
  - игрок: ‘@’;
  - выход из комнаты: ‘x’;
  - выход из всего лабиринта: ‘Q’;
  - сокровища, которые игрок может подобрать: ‘G’;
  - куча золота, которое игрок может подобрать: 'g';
  - золотая монета, которую игрок может подобрать: 'j';
  - ловушки в полу: 'i';
  - левая, центральная и правая входные двери: 'd', 'f', 'D';
  - факел, прикрепленный/не прикрепленный к стене: 'T', 't';
  - зелье запаса сил, которое игрок может подобрать: 'L';
  - зелье здоровья, которое игрок может подобрать: 'H'.
- Визуализация карты при помощи графики с обязательным отображением всех игровых элементов разными изображениями (тайлами/спрайтами).
- Реализация движения и взаимодействия с окружения игрока при помощи управления с клавиатуры (W, A, S, D - перемещение, E - использование зелья запаса сил). Игрок не должен проходить сквозь стены.
- При попадании в пустоту/ловушку игрок должен умирать: с помощью графики необходимо вывести сообщение о проигрыше и завершить игру.
- Если игрок достиг выхода из лабиринта, необходимо при помощи графики вывести сообщение об успешном окончании игры.

Реализованы задания дополнительной части:
- Анимация статических объектов - факелов.
- Плавная спрайтовая анимация динамических объектов - анимация простаивания, походки и смерти игрока.
- Графический эффект перехода между комнатами - постепенное “угасание” и появление игровой карты (fade out / fade in).
- Источники света - факелы, которые “освещают” (=изменяют цвет) соседних тайлов в некотором радиусе: анимация источников света и bloom (наложение эффектов освещения от нескольких факелов).
- Реализация и графическое отображение инвентаря.
- Графическое отображение характеристик игрока и соответствующие им игровые механики: на экран выводится здоровье, игрок может его потерять (ловушки) и восстановить (зелья здоровья).

Запись игрового процесса с демонстрацией игровых механик приложена к архиву.

Инструкция по запуску игры:
- Установить библиотеку SFML (https://github.com/SFML/SFML). Например, для установки на Ubuntu можно запустить в терминале команду "sudo apt-get install libsfml-dev".
- В директории "313_Korneev_B0/src" запустить утилиту make.
- Запустить приложение через терминал командой "./app".
- Удалить образованные при компиляции файлы командой терминала "make clean".

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages