Risiko-Brettspiel-Kampf-Simulator
Verfasst: Mittwoch 24. Oktober 2018, 18:16
Hallo Zusammen,
wir spielen in der WG zur Zeit gerne das Brettspiel "Risiko". Jedoch sind zum Ende des Spieles die Armeen sehr groß und das ewige Würfeln wird lästig. Mit einem Programm das, dass Auswürfeln einzelner Kämpfe übernimmt bin ich für meine Verhältnisse schon sehr weit gekommen. Jedoch versagt diese zentrale while-Schleife manchmal und erzeugt negative Punktestände, obwohl sie das nach meinem Verständnis von dem Quellcode gar nicht darf! Hat jemand einen Tipp wo mein Fehler liegt?
wir spielen in der WG zur Zeit gerne das Brettspiel "Risiko". Jedoch sind zum Ende des Spieles die Armeen sehr groß und das ewige Würfeln wird lästig. Mit einem Programm das, dass Auswürfeln einzelner Kämpfe übernimmt bin ich für meine Verhältnisse schon sehr weit gekommen. Jedoch versagt diese zentrale while-Schleife manchmal und erzeugt negative Punktestände, obwohl sie das nach meinem Verständnis von dem Quellcode gar nicht darf! Hat jemand einen Tipp wo mein Fehler liegt?
Code: Alles auswählen
from random import randint
Punkte_A = eval(input("Punkte des Angreifers zu Beginn:"))
Punkte_B = eval(input("Punkte des Verteidigers zu Beginn:"))
while Punkte_B or Punkte_A >= 0:
# Würfel für den Angreifer
a = randint(1, 6)
b = randint(1, 6)
c = randint(1, 6)
# Würfel für den Verteidiger
d = randint(1, 6)
e = randint(1, 6)
Würfel_A = [a, b, c]
Würfel_V = [d, e]
Sort_A = sorted(Würfel_A)
Sort_B = sorted(Würfel_V)
if Sort_A[2] > Sort_B[1]:
Punkte_B -= 1
elif Sort_A[2] == Sort_B[1]:
Punkte_A -= 1
else:
Punkte_A -= 1
if Sort_A[1] > Sort_B[0]:
Punkte_B -= 1
elif Sort_A[1] == Sort_B[0]:
Punkte_A -= 1
else:
Punkte_A -= 1
print("der Angriefer würfelt: ", Sort_A)
print("der Verteidiger würfelt: ", Sort_B)
print("Punktestand Angreifer: ", Punkte_A)
print("Punktestand Verteidiger: ", Punkte_B)
print("--------------------")
if Punkte_A > Punkte_B:
print("der Angreifer gewinnt")
else:
print("der Verteidiger gewinnt")