cd good_abstracts/
go test ./... -coverprofile coverage.txt
go tool cover -html=coverage.txt
Движение игровых объектов по полю
Выработка навыка применения SOLID принципов на примере игры "Космическая битва".
В результате выполнения ДЗ будет получен код, отвечающий за движение объектов по игровому полю, устойчивый к появлению новых игровых объектов и дополнительных ограничений, накладываемых на это движение.
В далекой звездной системе встретились две флотилии космических кораблей. Корабли могут передвигаться по всему пространству звездной системы по прямой, поворачиваться против и по часовой стрелке, стрелять фотонными торпедами. Попадание фотонной торпеды в корабль выводит его из строя.
От каждой флотилии в сражении принимают участие по три космических корабля.
Победу в битве одерживает та флотилия, которая первой выведет из строя все корабли соперника.
Управление флотилиями осуществляется игрокам компьютерными программами (то есть не с клавиатуры).
Концептуально игра состоит из трех подсистем:
- Игровой сервер, где реализуется вся игровая логика.
- Player - консольное приложение, на котором отображается конкретная битва.
- Агент - приложение, которое запускает программу управления корабли от имени игрока и отправляет управляющие команды на игровой сервер.
Реализовать движение объектов на игровом поле в рамках подсистемы Игровой сервер.