Description
Implement turn-based combat system with CombatEngine class.
Depends on: Character, Player, Enemy, and ICombatStrategy issues
CombatEngine Class
RunCombat(Player player, Enemy enemy)
Returns CombatOutcome with:
- Winner (Character)
- TotalDamageDealt (int)
- ExperienceEarned (int)
- GoldEarned (int)
- TurnCount (int)
Combat Rules
- Player attacks first each turn
- Each character uses their ICombatStrategy.Execute()
- Combat continues until one character dies (Health <= 0)
- Publishes events via GameEventSystem:
- EnemyDefeatedEvent if player wins
- PlayerDeathEvent if enemy wins
Requirements
- No UI/console output in CombatEngine
- Pure game logic only
- Combat result encapsulates all outcome data
Acceptance Criteria
Description
Implement turn-based combat system with CombatEngine class.
Depends on: Character, Player, Enemy, and ICombatStrategy issues
CombatEngine Class
RunCombat(Player player, Enemy enemy)
Returns CombatOutcome with:
Combat Rules
Requirements
Acceptance Criteria