-
Notifications
You must be signed in to change notification settings - Fork 0
Aleksey-Korneev/Computer-Graphics
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
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 0
No packages published