diff --git a/34_oop_next/dedicnost.py b/34_oop_next/dedicnost.py new file mode 100644 index 0000000..e52098f --- /dev/null +++ b/34_oop_next/dedicnost.py @@ -0,0 +1,34 @@ +class Postava: + def __init__(self,jmeno,hp): + self.jmeno = jmeno + self._hp = hp + self.max_hp = hp + + def __str__(self): + return f"Postava {self.jmeno} | Hp: {self._hp}/{self.max_hp}" + +#DEDIČNOST: Kouzelník JE Postav, ale umí něco navíc +class Kouzelnik(Postava): + def __init__(self, jmeno, hp, mana): + #super() -> zavolá __init__ z rodičovské třídy + # vyřídí za nás jméno a životy. My jen přidáme manu pro kouzelníka + super().__init__(jmeno, hp) + self.mana = mana + + def sesli_kouzlo(self,cena_many=10): + if self.mana >=cena_many: + self.mana -= cena_many + print(f"{self.jmeno} sesílá kouzlo! (Mana:{self.mana})") + + def __str__(self): + zakladni_text = super().__str__() + return f"{zakladni_text} | Mana: {self.mana}" + +print("---Vytvoření kouzelníka a Postavy---") +gandalf = Kouzelnik("Gandalf",250,100) +print(gandalf) +gimli = Postava("Gimli",80) +print(gimli) +print("---Akce kouzelníka---") +gandalf.sesli_kouzlo(20) +print(gandalf) \ No newline at end of file