Browse Source

oop Uvod

master
Jakub Škrabánek 1 month ago
parent
commit
f5be03141b
  1. 31
      32_oop_uvod/mazlicek.py
  2. 35
      32_oop_uvod/rpg.py

31
32_oop_uvod/mazlicek.py

@ -0,0 +1,31 @@
class Zviratko:
def __init__(self,jmeno,druh):
self.jmeno = jmeno
self.druh = druh
self.hlad = 50 #100 = najezené, 0 = hladové
self.stesti = 50
def nakrmit(self):
self.hlad += 20
if self.hlad > 100: self.hlad = 100
print(f"Krmíš {self.jmeno} ({self.druh}). \
Hlad je nyní {self.hlad}")
def pohladit(self):
self.stesti += 20
if self.stesti > 100: self.stesti = 100
print(f"Pohladil jsi {self.jmeno}. \
Stesti je {self.stesti}")
def status(self):
print(f"---stav: {self.jmeno} ({self.druh})---")
print(f"Hlad: {self.hlad}")
print(f"Štěstí: {self.stesti}\n")
mazlicek = Zviratko("Alík","pes")
mazlicek.status()
mazlicek.nakrmit()
mazlicek.pohladit()
mazlicek.nakrmit()
mazlicek.status()

35
32_oop_uvod/rpg.py

@ -0,0 +1,35 @@
# 1. způsob za pomocí slovníků a funkcí
print("--- Způsob přes slovníky a funckce----")
hrdina_1 = {"jmeno":"Aragorn","hp":100,"utok":20}
hrdina_2 = {"jmeno":"Skřet","hp":50,"utok":10}
def zautoc(utocnik,obet):
obet["hp"] -= utocnik["utok"]
print(f"{utocnik['jmeno']} útočí na {obet['jmeno']}")
print(f"{obet['jmeno']} má nyní {obet['hp']}HP.\n")
zautoc(hrdina_1,hrdina_2)
### OOP ZPŮSOB (Oběktově Orientované Progamování)
print("--- OOP ZPŮSOB ---")
#sestrojíme TŘÍDY
class Hrdina:
def __init__(self,jmeno,hp,sila):
#self = "JÁ"/"MŮJ" (ukazovátko na konkretní objekt [hrdinu])
self.jmeno = jmeno
self.hp = hp
self.sila = sila
self.mana = 100
def utoc(self,nepritel):
nepritel.hp -= self.sila
print(f"{self.jmeno}(objekt) utočí na {nepritel.jmeno}!")
print(f"{nepritel.jmeno} má nyní {nepritel.hp}HP.\n")
#sestrojíme OBJEKTY
aragorn = Hrdina("Aragorn",100,20)
skret = Hrdina("Skřet",50,10)
aragorn.utoc(skret)
Loading…
Cancel
Save