From f5be03141bda221cc64e35c0047ef88f34b093b8 Mon Sep 17 00:00:00 2001 From: KubMakCZ Date: Wed, 29 Apr 2026 12:18:05 +0200 Subject: [PATCH] oop Uvod --- 32_oop_uvod/mazlicek.py | 31 +++++++++++++++++++++++++++++++ 32_oop_uvod/rpg.py | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 32_oop_uvod/mazlicek.py create mode 100644 32_oop_uvod/rpg.py diff --git a/32_oop_uvod/mazlicek.py b/32_oop_uvod/mazlicek.py new file mode 100644 index 0000000..0ee96c8 --- /dev/null +++ b/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() \ No newline at end of file diff --git a/32_oop_uvod/rpg.py b/32_oop_uvod/rpg.py new file mode 100644 index 0000000..94d4821 --- /dev/null +++ b/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) \ No newline at end of file