Skip to content

Instantly share code, notes, and snippets.

@Makman2
Created July 9, 2017 16:25
Show Gist options
  • Save Makman2/9598cde1af9e3b645ff57958cf6edff6 to your computer and use it in GitHub Desktop.
Save Makman2/9598cde1af9e3b645ff57958cf6edff6 to your computer and use it in GitHub Desktop.
Maier initial stuff ;)
from random import randint
dices = 2
def wuerfeln():
return randint(1, 6)
def fusionieren(a, b):
sortierte_liste = sorted([a, b])
a, b = sortierte_liste
if a == 1 and b == 2:
return 1000
elif a == b:
return a * 100
else:
return b * 10 + a
def maierpasch(zahl):
if zahl < 100:
return zahl
elif zahl == 1000:
return 'Maier'
elif zahl >= 100:
return '{}er Pasch'.format(int(zahl / 100))
max_spieler = int(input('Wieviele Spieler? '))
max_punkte = int(input('Wieviele Punkte zum Spielende? '))
print('--- SPIELSTART ---')
aktueller_spieler = 1
punkte = {}
for spieler in range(max_spieler):
punkte[spieler + 1] = 0
vorherige_ansage = 0
ansage = 0
while(True):
if any(p >= max_punkte for p in punkte.values()):
break
print('Spieler {} von {}'.format(aktueller_spieler, max_spieler))
aktion = int(input('Würfeln [0], Schieben [1] oder Aufdecken [2]? '))
if aktion == 0:
augenzahl = fusionieren(wuerfeln(), wuerfeln())
print(maierpasch(augenzahl))
elif aktion == 1:
pass
elif aktion == 2:
if ansage == 1000:
strafpunkte = 2
else:
strafpunkte = 1
if augenzahl >= ansage:
punkte[aktueller_spieler] += strafpunkte
else:
if aktueller_spieler > 1:
vorheriger_spieler = aktueller_spieler - 1
else:
vorheriger_spieler = max_spieler
punkte[vorheriger_spieler] += strafpunkte
aktueller_spieler = vorheriger_spieler
if ansage == 1000:
print('Spieler {} kassiert zwei Punkte!'.format(aktueller_spieler))
else:
print('Spieler {} kassiert einen Punkt!'.format(aktueller_spieler))
print(punkte)
vorherige_ansage = 0
ansage = 0
continue
vorherige_ansage = ansage
print('(1000: Maier, x00: x-er Pasch)')
ansage = int(input('Zahl? '))
if ansage <= vorherige_ansage:
print('Du bist bescheuert!')
vorherige_ansage = 0
ansage = 0
punkte[aktueller_spieler] += 1
print(punkte)
continue
aktueller_spieler = aktueller_spieler + 1
if aktueller_spieler > max_spieler:
aktueller_spieler = 1
for spieler, p in punkte.items():
if p >= max_punkte:
print('Spieler {} hat verloren!'.format(spieler))
print(punkte)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment