diff --git a/game.py b/game.py index a333c94..4ec9352 100644 --- a/game.py +++ b/game.py @@ -22,15 +22,15 @@ class Unit(ABC): def calculate_defense(self) -> float: pass -# class Spell(ABC): -# def __init__(self, name: str, damage: float, mana_cost: float): -# self.name: str = name -# self.damage: float = damage -# self.mana_cost: float = mana_cost +class Spell(ABC): + def __init__(self, name: str, damage: float, mana_cost: float): + self.name: str = name + self.damage: float = damage + self.mana_cost: float = mana_cost -# @abstractmethod -# def cast(self): -# pass + @abstractmethod + def cast(self): + pass class Monster(Unit): @@ -61,7 +61,7 @@ class Character(Unit): self.max_health: float = self.calculate_max_health() self.defense: float = self.calculate_max_health() self.damage: float = self.calculate_damage() - # self.max_mana: float = self.calculate_max_mana() + self.max_mana: float = self.calculate_max_mana() @override def calculate_max_health(self): @@ -89,12 +89,12 @@ class Character(Unit): else: return 0 - # def calculate_max_mana(self): - # if self.character_class == "warrior": - # return self.intelligence + self.strength // 2 - # elif self.character_class == "mage": - # return self.wisdom * 3 + self.intelligence - # elif self.character_class == "hunter": - # return self.dexterity * 1.5 + self.wisdom // 2 - # else: - # return 0 + def calculate_max_mana(self): + if self.character_class == "warrior": + return self.intelligence + self.strength // 2 + elif self.character_class == "mage": + return self.wisdom * 3 + self.intelligence + elif self.character_class == "hunter": + return self.dexterity * 1.5 + self.wisdom // 2 + else: + return 0