ich mal wieder...dümpel immer noch als blutiger Anfänger rum und komme zu nichts. Um meine Kenntnisse (vor Allem im Bezug auf OOP) ein wenig zu festigen, habe ich mich an eine Übung gewagt, die sicherlich nicht neu und auch nicht sonderlich kreativ ist.
Kurzer Umriss:
Es handelt sich um ein "Spiel", welches zur Zeit noch nicht interaktiv ist. Es gibt einen Spieler und einen Gegner. Beide greifen sich in jeder Spielrunde gegenseitig an und ziehen sich Lebenspunkte ab. Hat ein Teilnehmer <= 0 Lebenspunkte, dann verliert er und das Spiel ist zuende.
Hier mein Code:
Code: Alles auswählen
#!/usr/bin/env python
class Charakter:
alive = True
loser = ""
def __init__(self, name, life, strength):
self.name = name
self.life = life
self.strength = strength
def get_life(self):
print("Life: " + str(self.life))
def get_name(self):
print("Name: " + self.name)
def get_status(self):
if self.life <= 0:
Charakter.alive = False
print("Dead")
loser = self.name
print ("Loser: " + loser)
else:
print("Alive")
class Enemy(Charakter):
def __init__(self, name, life, strength, race, xp):
self.name = name
self.life = life
self.strength = strength
self.race = race
self.xp = xp
def get_race(self):
print(self.race)
def attack(self, Player):
print (self.name + "(" + self.race + ")" + " attacked...")
print (str(self.strength) + " hp removed...")
Player.life = Player.life - self.strength
class Player(Charakter):
race = "Human"
def __init__(self, name, life, strength):
self.name = name
self.life = life
self.strength = strength
def get_race(self):
print(self.race)
def attack(self, Enemy):
print (self.name + "(" + self.race + ")" + " attacked...")
print (str(self.strength) + " hp removed...")
Enemy.life = Enemy.life - self.strength
horst = Enemy("Horst", 50, 55,"Alien", 45)
chris = Player("Chris", 100, 15)
round = 1
while Player.alive == True and Enemy.alive == True:
print ("")
print ("----------------")
print ("Round " + str(round))
print ("----------------")
print ("")
round = round + 1
chris.get_name()
chris.get_life()
horst.attack(chris)
chris.get_name()
chris.get_life()
chris.get_status()
if Player.alive == False or Enemy.alive == False:
break
horst.get_name()
horst.get_life()
chris.attack(horst)
horst.get_name()
horst.get_life()
horst.get_status()
if Player.alive == False or Enemy.alive == False:
break
Was mir auch ABSOLUT nicht gefällt, ist die Überprüfung am Ende des Codes:
Code: Alles auswählen
if Player.alive == False or Enemy.alive == False:
break
Bin auf eure Vorschläge, Ideen und Kritiken gespannt!
Liebe Grüße
Christopher