Skip to content

klezki/cpp-battle-test-main

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Описание

Суть примерно такая:

Для каждого юнита создается объект с базовым классом Unit. Вместо отдельных подклассов Warrior, Archer есть подклассы MeleeUnit, RangedUnit, которые только хранят специфифичные данные, типо strength, agility.

Вся логика находится в объектах с базовым классом Action, который обозначает собой какое либо действие.

У юнита есть цепочка действий actionChain, каждый ход он поочередно выполняет действия из этой цепочки. Сейчас выполнение цепочки прерывается когда какой то action возврщает нам флаг что он выполнился и дальше ничего выполнять не надо. Наследуясь от Action, и описывая логику в executeAction, можно добавлять новые действия.

Для атак есть специальный Action в который передается стратегия поиска цели TargetStrategy и нанесения урона DamageStrategy.

Action-ы взаимодействуют с симуляцией через абстрактный интерфейс Simulation ссылка на который передается в конструкторе.

От Simulation наследуется имплементация интерфейса RealSimulation.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published