Base files added.

This commit is contained in:
2026-04-30 20:00:29 +03:30
parent cc237f6b31
commit 3e6af74041
21 changed files with 419 additions and 2 deletions
+6 -2
View File
@@ -39,7 +39,7 @@ git checkout -b develop
A well-structured OOP hierarchy is crucial. Avoid duplicating code by placing shared logic in abstract classes.
- **Entities & Locations:** You have `Entity`, `Object`, and `Location`.
- **Entities & Locations:** You have `Entity`, `Object`(Bonus) , and `Location`.
- **Players:** `Player` is an abstract class implementing `Entity`. Subclasses: `Wizard`, `Knight`, `Assassin`.
- **Base Stat Differences:** Each class must have distinct starting stats. For example:
- **Knight:** Highest Base Damage.
@@ -47,7 +47,11 @@ A well-structured OOP hierarchy is crucial. Avoid duplicating code by placing sh
- **Assassin:** Highest Max Stamina/Mana.
- **Enemies:** `Enemy` is an abstract class implementing `Entity`. Subclasses: `Skeleton`, `Goblin`, `Vampire`, and **`Dragon`**.
- **The Boss:** Even though `Dragon` is the final boss, it **must** be a subclass of `Enemy` to inherit common combat properties, while possessing extremely high stats and unique mechanics.
- **Objects:** `Consumable`, `Armor`, `Weapon` are abstract classes implementing `Object`.
- **Objects (Bonus):** `Consumable`, `Armor`, `Weapon` are abstract classes implementing `Object`. example :
- KnightArmor extends Armor - you can add more subclasses of Armor for extra score
- Sword extends Weapon - you can add more subclasses of Weapon for extra score
![structure](Readme_Pictures/structure.png)
### 3️⃣ Step 3: Implement Player & Monster Methods 🏹