add code
This commit is contained in:
commit
4a23bb2aa5
63
main.py
Normal file
63
main.py
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
from abc import ABC, abstractmethod
|
||||||
|
import random
|
||||||
|
|
||||||
|
class Charakter(ABC):
|
||||||
|
def __init__(self, name, lebenspunkte, angriffsstaerke):
|
||||||
|
self.name = name
|
||||||
|
self.lebenspunkte = lebenspunkte
|
||||||
|
self.angriffsstaerke = angriffsstaerke
|
||||||
|
self.char_list = []
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def angreifen(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def spezielle_faehigkeit(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
class Kaempfer(Charakter):
|
||||||
|
def angreifen(self):
|
||||||
|
return self.angriffsstaerke
|
||||||
|
|
||||||
|
def spezielle_faehigkeit(self):
|
||||||
|
return self.angriffsstaerke * 2 # Berserkerangriff
|
||||||
|
|
||||||
|
class Magier(Charakter):
|
||||||
|
def angreifen(self):
|
||||||
|
return self.angriffsstaerke + random.randint(1, 5) # Zauberangriff
|
||||||
|
|
||||||
|
def spezielle_faehigkeit(self):
|
||||||
|
return self.angriffsstaerke * 3 # Feuerball
|
||||||
|
|
||||||
|
class Schurke(Charakter):
|
||||||
|
def angreifen(self):
|
||||||
|
return self.angriffsstaerke + random.randint(-2, 3) # Hinterhältiger Angriff
|
||||||
|
|
||||||
|
def spezielle_faehigkeit(self):
|
||||||
|
return self.angriffsstaerke * 1.5 # Schleichen
|
||||||
|
|
||||||
|
def kampf(char1, char2):
|
||||||
|
while char1.lebenspunkte > 0 and char2.lebenspunkte > 0:
|
||||||
|
# char1 greift an
|
||||||
|
schaden = char1.angreifen()
|
||||||
|
char2.lebenspunkte -= schaden
|
||||||
|
print(f"{char1.name} greift an und fügt {char2.name} {schaden} Schaden zu. Lebenspunkte: {char2.lebenspunkte}")
|
||||||
|
|
||||||
|
if char2.lebenspunkte <= 0:
|
||||||
|
print(f"{char2.name} wurde besiegt!")
|
||||||
|
break
|
||||||
|
|
||||||
|
# char2 greift an
|
||||||
|
schaden = char2.angreifen()
|
||||||
|
char1.lebenspunkte -= schaden
|
||||||
|
print(f"{char2.name} greift an und fügt {char1.name} {schaden} Schaden zu. Lebenspunkte: {char1.lebenspunkte}")
|
||||||
|
|
||||||
|
if char1.lebenspunkte <= 0:
|
||||||
|
print(f"{char1.name} wurde besiegt!")
|
||||||
|
|
||||||
|
# Beispiel für die Erstellung von Charakteren und einen Kampf
|
||||||
|
char1 = Kaempfer("Thor", 100, 15)
|
||||||
|
char2 = Magier("Gandalf", 80, 12)
|
||||||
|
|
||||||
|
kampf(char1, char2)
|
Loading…
Reference in New Issue
Block a user