Shara & Fusrodah
Fusrodah Fusrodah
Шара, я тут разрабатываю детальный сценарий средневековой осады, и думаю, твоя внимательность к деталям могла бы сделать симуляцию невероятно достоверной. Как тебе идея превратить историю в хорошо структурированный программный проект?
Shara Shara
Звучит вполне реально. Мне нравится идея моделировать укрепления, войска и осадные машины как отдельные модули, а потом их связать вместе. Начнём с чёткой схемы классов.
Fusrodah Fusrodah
Вот краткая схема классов для проекта: Укрепление – атрибуты: стены, ворота, сторожевые башни, защищенность. Отряд – атрибуты: тип, сила, мораль, оружие, позиция. Осадная машина – атрибуты: тип, урон, дальность, прочность, экипаж. Поле боя – содержит коллекции Укреплений, Отрядов, Осадных машин; управляет взаимодействиями. Командование – разрабатывает стратегию, назначает юнитов, обновляет статус. У каждого класса есть понятный конструктор, геттеры, сеттеры и ключевые методы: Fortification.defend(), Troop.move(), SiegeEngine.attack(), Battlefield.update(). Такая структура позволяет легко интегрировать каждый компонент и разделять обязанности.
Shara Shara
Выглядит надёжно. Начну с реализации конструкторов и основных методов, потом напишу юнит-тесты для каждого класса. После этого сможем подключить их в Battlefield и посмотрим, как будет вести себя симуляция. Есть какие-то особые требования к расчётам обороны?