1 changed files with 36 additions and 0 deletions
@ -0,0 +1,36 @@ |
|||||
|
#zapouzdření aneb jak chránit data a jak učit objekty "mluvit" |
||||
|
|
||||
|
class Postava: |
||||
|
def __init__(self,jmeno,hp): |
||||
|
self.jmeno = jmeno |
||||
|
#Zapozdření |
||||
|
#podržítko na začátku je dohoda programátorů |
||||
|
# "Tato hodnoda je soukromá, neměn ji přímo zvenčí!" |
||||
|
self._hp = hp |
||||
|
self.max_hp = hp |
||||
|
|
||||
|
#Magická metoda __str__ |
||||
|
# Python ji volá automaticky když napíšeme print(objekt) |
||||
|
def __str__(self): |
||||
|
return f"Postava {self.jmeno} | Hp: {self._hp}/{self.max_hp}" |
||||
|
|
||||
|
def utrp_zraneni(self,sila): |
||||
|
self._hp -= sila |
||||
|
if self._hp < 0 : |
||||
|
self._hp = 0 |
||||
|
print(f"{self.jmeno} zranen o {sila} bodů") |
||||
|
|
||||
|
def vylecit(self,body): |
||||
|
self._hp += body |
||||
|
if self._hp > self.max_hp: |
||||
|
self._hp = self.max_hp |
||||
|
print(f"{self.jmeno} se vyléčil") |
||||
|
|
||||
|
hrdina = Postava("Aragorn", 100) |
||||
|
print(hrdina) |
||||
|
|
||||
|
hrdina.utrp_zraneni(30) |
||||
|
print(hrdina) |
||||
|
|
||||
|
hrdina.vylecit(20000000) |
||||
|
print(hrdina) |
||||
Loading…
Reference in new issue