Skip to content

cblindy/lesta-test-task

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Шахматы-Корабли

Примечание автора: данное программное решение разработан в качестве тестового задания в ходе собеседования в Lesta Games LLC. Права на используемые изображения пренадлежат Lesta Games LLC.

Цель

Задача в своей сути, являлась ничем иным как разработка аналога игры "Шахматы", но в сеттинге кораблей и с немного упрощенными правилами:

  1. Всего 3 типа фигур, но с возможностью дальнейшего расширения "Ангара".
  2. Механика стрельбы, вместо классической для шахмат "атаки в лоб".
  3. Препятствия, которые фигуры могут огибать вокруг.

Запуск

  1. Установите зависимости. Хоть в проекте и используется Poetry как менеджер зависимостей, для удобства все зависимости также продублированы в requirements.txt.

Для установки через pip:

pip install -r requirements.txt

Для установки через poetry:

poetry shell
poetry install
  1. Запустите скрипт (через виртуальную среду или из системного интерпретатора):
python main.py

Немного скучных деталей

Задание выдалось интересным. Обычно, в качестве тестового задания нужно написать web-сервер, telegram-бота, взломать пентагон (нужное подчеркнуть), что зачастую не имеет ничего общего с реальными задачами. Здесь же, напротив, интересная задача, которая заставит подумать, как грамотно:

  1. Выстроить наследование.
  2. Построить граф зависимостей.
  3. Разделить ответственность между сущностями (хоть в классе game.Game у меня и не особо получилось 😅).

Несколько раз переосмыслил весь процесс. Даже идея с радарами (которая так удачно вписалась в логику "поиска" противников) пришла лишь в последний момент. Пришлось немного вспомнить математику (привет формула расстояния двух точек 😥).

Заключение

Задание интересное, а главное - заставляет подумать в дебаггере пару десятков минут, отлаживая в очередной раз неправильно реализованную логику. Может, выполнено оно не самым изящным образом, но было интересно попробовать свои силы и знания в таком ключе.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages