Browse Source

OOP INTRO

master
Jakub Škrabánek 1 month ago
parent
commit
8a9553cf05
  1. 34
      32_oop_uvod/rpg.py
  2. 27
      32_oop_uvod/zviratko.py

34
32_oop_uvod/rpg.py

@ -0,0 +1,34 @@
# varianta bez třídy
print("---Způsob přes slovníky---")
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)
# NOVÝ ZPŮSOB (OOP - Objektově Orientované Programování)
class Hrdina:
def __init__(self,jmeno,hp,sila):
#self = "ja"/"muj" -> ukazovátko na konkretního hrdinu
#bez SELF by python nevěděl, kterému hrdinovi nastavuje hodnoty
self.jmeno = jmeno
self.hp = hp
self.sila = sila
self.mana = 100
print(f"Objevil se RPG Hrdina: {self.jmeno}!!!")
def utoc(self,nepritel):
nepritel.hp -= self.sila
print(f"{self.jmeno} útočí na {nepritel.jmeno}")
print(f"{nepritel.jmeno} má nyní {nepritel.hp}HP.\n")
aragorn = Hrdina("Aragorn",100,20)
skret = Hrdina("Sktřet", 50, 10)
aragorn.utoc(skret)

27
32_oop_uvod/zviratko.py

@ -0,0 +1,27 @@
class Zviratko:
def __init__(self, jmeno, druh):
self.jmeno = jmeno
self.druh = druh
self.hlad = 50 #0 = hladové, 100 = najezené
self.stesti = 50
def nakrmit(self):
self.hlad += 20
if self.hlad > 100: self.hlad = 100
print(f"Krmíš {self.jmeno}. Hlad je nyní {self.hlad}")
def pohladit(self):
self.stesti += 10
print(f"Pohladil jsi {self.jmeno}. Štěstí je nyní {self.stesti}")
def status(self):
print(f"--- Stav zvířatka: {self.jmeno}")
print(f"Druh: {self.druh}")
print(f"Hlad: {self.hlad}/100")
print(f"Štěstí: {self.stesti} \n")
mazlicek = Zviratko("Alík","pes")
mazlicek.status()
mazlicek.nakrmit()
mazlicek.pohladit()
mazlicek.status()
Loading…
Cancel
Save