Skip to content

Latest commit

 

History

History
49 lines (31 loc) · 3.42 KB

README.md

File metadata and controls

49 lines (31 loc) · 3.42 KB

Практикум по Компьютерной графике

Задание 1. Интерактивная 2D-графика


Сборка и запуск

[user@domain roguelike] cmake .
[user@domain roguelike] make
[user@domain roguelike] ./bin/main

Описание выполненных пунктов задания

Базовая часть

  • Карты уровней считываются из текстовых файлов (файлы находятся в папке roguelike/resources/level_maps).

  • Площадь карты каждого из уровней составляет 60 x 30 тайлов. Элементы карты в текстовам файле задаются следующими символами:

    • пустое пространство: ' '
    • стена: '#'
    • 'фальшивая' стена (такие стены игрок может разрушать): '%'
    • пол: '.'
    • игрок: '@'
    • выход: 'x'
  • Игрок и элементы карты отображаются с помощью тайлов:

    • тайлы элементов карты находятся в папке roguelike/resources/tiles/map
    • тайлы для отображения возможных положений игрока при его движении – в папке roguelike/resources/tiles/player
  • Управление движением игрока осуществляется с помощью клавиш WASD, дверь выхода с уровня открывается нажатием клавиши E (только когда игрок добирается до выхода).

  • Игрок не может проходить сквозь обычные стены, но может проходить сквозь 'фальшивые' стены, тем самым разрушая их. Также игрок не может выходить за пределы карты.

  • При попадании в пустоту игрок умирает, выводится сообщение 'YOU DIED' и игра завершается. Если игрок успешно проходит все уровни, в конце игры выводится сообщение 'YOU WON' (отображаемые изображения находятся в папке roguelike/resources/game_endings).

  • При каждом переходе на новый уровень выводится сообщение с номером этого уровня (соответствующие изображения – в папке roguelike/resources/level_openings).

Дополнительная часть

  • Плавная анимация движения игрока.

  • Анимация открытия двери (при достижении игроком выхода с уровня).

  • Графический эффект перехода между уровнями (угасание и появление карты). Эффект также проявляется при выводе сообщения о переходе на новый уровень и сообщений о смерти или выигрыше.

Все вышеописанные эффекты демонстрируются в приложенных видеозаписях прохождения игры, папка gameplay.