Skip to content

CORRUPTOR2037/test_shooter

Repository files navigation

Простой космический шутер с применением UniRx.

Содержащиеся сущности в коде:

  • Космический корабль (Spaceship)
  • Метеор (Meteor)
  • Боевой снаряд (Projectile)
  • Визуальный эффект (Visual Effect)
  • Место появления (Spawner)
  • Игровой уровень (Level)

Там, где это было необходимо, старался соблюдать структуру MVC. Где это было излишним усложнением системы, отклонялся от неё (например, объединял Controller и View).

Комментариев в коде не присутствует, поскольку я придерживаюсь принципа "Хороший код в комментариях не нуждается": поведение каждого метода и каждой сущности обязано быть очевидно из её названия и структуры без каких-либо уточнений.

В проекте присутствуют непосредственно игровой процесс, в котором:

  • можно можно проиграть, 3 раза столкнувшись с астероидами
  • можно выиграть, достигнув финальной точки

В проекте присутствует сохранение данных. Класс GameConfig может хранить:

  • Пройденные уровни
  • Выбранный корабль
  • Выбранный тип боевого снаряда Всё это сохраняется и загружается с помощью бинарной сериализации

UniRx используется не так много, поскольку для меня это всё ещё новая парадигма, для которой я не нашёл достаточно применения. В основном для связи событий уровня, событий корабля и игрового интерфейса.

Уровни генерируются с помощью кнопки Randomize в инспекторе объектов типа LevelConfig.

About

Test shooter project with UniRx

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages