Hallo, ich bin wieder interessiert gewesen meine Informatik Kenntnisse aufzufrischen, nachdem ich ein Jahr lang Informatik in der Schule hatte, und mir wurde die Seite “inf-Schule” empfohlen.
Ich wollte jetzt unbedingt ein Programm zu dem Spiel “Elf-Hoch” schreiben, bekomme es aber nicht hin wie ich will…:/
Folgende Spielsituation soll mit Objekten erfasst werden:
- Es gibt 2 Würfel, die geworfen werden können.
- Es gibt eine Kasse, in die Marken eingezahlt und ausgezahlt werden können.
- Es sollen (vorerst) 3 Spieler mitspielen. Jeder Spieler hat einen Namen und verfügt über eine bestimmte Anzahl von Marken. Jeder Spieler kann die Würfel werfen. Jeder Spieler hat zudem Zugriff auf die Kasse.
- Es gibt einen Spielmanager, der das Spiel leitet. Der Spielmanager fordert hierzu die Spieler der Reihe nach zum Spielen auf.
Wie könnte ich z.B. den Spielmanager einbeziehe, damit er die Spieler Reihe nach zum Spielen auffordert?
Oder wie beziehe ich die Kasse mit den Marken ein?
Kann mir jemand dabei möglichst schnell helfen?
from random import randint
class Wuerfel(object):
def __init__(self):
self.augen = randint(1, 6)
def werfen(self):
self.augen = randint(1, 6)
def getAugen(self):
return self.augen
#----------------------------------------
# Spieler
#----------------------------------------
class Spieler(object):
def __init__(self, pName):
self.name = pName
self.rWuerfel = None
self.punkte = 0
def setWuerfel(self, pWuerfel):
self.rWuerfel = pWuerfel
def wuerfeln(self):
self.rWuerfel.werfen()
self.punkte = self.punkte + self.rWuerfel.getAugen()
def getName(self):
return self.name
def getPunkte(self):
return self.punkte
#----------------------------------------
# Test
#----------------------------------------
wuerfel1 = Wuerfel()
wuerfel2 = Wuerfel()
spieler1 = Spieler('Nina')
spieler1.setWuerfel(wuerfel2)
spieler2 = Spieler('Sabine')
spieler2.setWuerfel(wuerfel1)
spieler3 = Spieler('Louis')
spieler3.setWuerfel(wuerfel1)
for i in range(5):
spieler1.wuerfeln()
spieler2.wuerfeln()
spieler3.wuerfeln()
print('Punktestand', spieler1.getName(), ':', spieler1.getPunkte())
print('Punktestand', spieler2.getName(), ':', spieler2.getPunkte())
print('Punktestand', spieler3.getName(), ':', spieler3.getPunkte())
print()
L.G. Leo