1
0
B10_elf_hoch/main.py

109 lines
2.9 KiB
Python
Raw Normal View History

2024-09-29 20:36:27 +02:00
# -----------------------------------------------------------
# Würfel
# -----------------------------------------------------------
from random import randint
class Wuerfel(object):
def __init__(self):
self.augen = randint(1, 6)
def werfen(self):
self.augen = randint(1, 6)
# print(self.augen)
def getAugen(self):
return self.augen
# -----------------------------------------------------------
# Kasse
# -----------------------------------------------------------
class Kasse(object):
def __init__(self):
self.stand = 0
def auszahlen(self, pBetrag):
self.stand = self.stand - pBetrag
def einzahlen(self, pBetrag):
self.stand = self.stand + pBetrag
def getStand(self):
return self.stand
# -----------------------------------------------------------
# Spieler
# -----------------------------------------------------------
class Spieler(object):
def __init__(self, pName, pMarken, pWuerfel1, pWuerfel2, pKasse):
self.name = pName
self.marken = pMarken
self.rWuerfel1 = pWuerfel1
self.rWuerfel2 = pWuerfel2
self.rKasse = pKasse
def spielen(self):
self.rWuerfel1.werfen()
self.rWuerfel2.werfen()
augenGesamt = self.rWuerfel1.getAugen() + self.rWuerfel2.getAugen()
if augenGesamt == 12:
self.marken = self.marken - 12
self.rKasse.einzahlen(12)
elif augenGesamt == 11:
anzahlMarken = self.rKasse.getStand()
self.rKasse.auszahlen(anzahlMarken)
self.marken = self.marken + anzahlMarken
else:
differenzBetrag = 11 - augenGesamt
self.marken = self.marken - differenzBetrag
self.rKasse.einzahlen(differenzBetrag)
def getName(self):
return self.name
def getMarken(self):
return self.marken
# -----------------------------------------------------------
# Spielmanager
# -----------------------------------------------------------
class Spielmanager(object):
def __init__(self, pSpieler1, pSpieler2, pSpieler3):
self.rSpieler1 = pSpieler1
self.rSpieler2 = pSpieler2
self.rSpieler3 = pSpieler3
def spielrundeDurchfuehren(self):
self.rSpieler1.spielen()
self.rSpieler2.spielen()
self.rSpieler3.spielen()
# -----------------------------------------------------------
# Test
# -----------------------------------------------------------
w1 = Wuerfel()
w2 = Wuerfel()
k = Kasse()
sp1 = Spieler('Winner', 100, w1, w2, k)
sp2 = Spieler('Looser', 100, w1, w2, k)
sp3 = Spieler('Zitterhand', 100, w1, w2, k)
m = Spielmanager(sp1, sp2, sp3)
2024-09-30 21:34:16 +02:00
for i in range(100):
m.spielrundeDurchfuehren()
print(sp1.getMarken(), sp2.getMarken(), sp3.getMarken())
print("Summe aller Marken: {sum}".format(sum=sp1.getMarken() + sp2.getMarken() + sp3.getMarken()))