Browse Source

zapozdreni a dedicnost

master
Jakub Škrabánek 4 weeks ago
parent
commit
b048805cbf
  1. 34
      34_oop_next/dedicnost.py

34
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)
Loading…
Cancel
Save