-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
Description
Implement the Strategy pattern for combat actions using ICombatStrategy interface.
Depends on: Character base class issue
ICombatStrategy Interface
- Execute(Character attacker, Character target) returns CombatResult
CombatResult Class
- DamageDealt (int)
- AttackerName (string)
- TargetName (string)
- Message (string)
Concrete Strategy Implementations
MeleeStrategy
- Direct physical damage calculation
- Uses attacker's AttackPower and target's Defense
MagicStrategy
- Magic damage that partially bypasses defense
- Different calculation than melee
RangedStrategy
- Ranged attack with different mechanics
- Unique damage calculation
Integration
- Add CombatStrategy property to Character base class
- Include code comment explaining Strategy pattern choice
Acceptance Criteria
- ICombatStrategy interface defined with Execute method
- CombatResult class created with all properties
- MeleeStrategy implemented
- MagicStrategy implemented
- RangedStrategy implemented
- Character.CombatStrategy property added
- Each strategy has distinct damage calculation
- Code comment explaining Strategy pattern included
- All classes and interfaces documented with XML comments
Reactions are currently unavailable