Apgūsti Python class, __init__, mantošanu un polimorfismu. Veido RPG turnīra simulatoru ar cīnītāju hierarhiju.
class kā blueprint, instance kā konkrēts objekts, atribūti un metodes.
__init__ inicializācijas metode, self pašatsauce, instance vs klases atribūti.
Instance metodes, self kā pirmais parametrs, metožu izsaukšana, __str__.
class Maģis(Cīnītājs), super().__init__(), metodes mantošana un paplašināšana.
Metodes override, isinstance(), dunder metodes: __str__, __eq__, __len__.
Cīnītāju klašu hierarhija, kaujas simulācija, turnīra kārtu sistēma, rezultātu vizualizācija.
class Cīnītājs:
def __init__(self, vārds: str, hp: int = 100):
self.vārds = vārds
self.hp = hp
def uzbrukt(self, pretinieks: "Cīnītājs") -> int:
kaitejums = 10
pretinieks.hp -= kaitejums
return kaitejums
def __str__(self) -> str:
return f"{self.vārds} (HP: {self.hp})"
class Maģis(Cīnītājs):
def uzbrukt(self, pretinieks: "Cīnītājs") -> int:
kaitejums = 20 # polimorfisms - override
pretinieks.hp -= kaitejums
return kaitejums
anna = Maģis("Anna", hp=80)
janis = Cīnītājs("Jānis")
anna.uzbrukt(janis)
print(janis) # Jānis (HP: 80)
print(isinstance(anna, Cīnītājs)) # True