Nur beim überprüfen, ob jemand gewonnen hat bzw. ob unentschieden ist, sieht mein Code ein bisschen komisch aus.
Gibt es eine kürzere oder übersichtlichere Möglichkeit? (ich hab nicht den kompletten Code gepostet ^^)
Code: Alles auswählen
def whowins(who):
if(who == "X"):
who = "Spieler1"
else:
who = "Spieler2"
return who
def finish():
unentschieden = (feld[0]+feld[1]+feld[2]+feld[3]+feld[4]+feld[5]+feld[6]+feld[7]+feld[8]).replace("-", "")
if(feld[0].replace("-", "") == feld[1] and feld[0] == feld[2]):
winner = whowins(feld[0])
print(winner + " gewinnt.")
return True
elif(feld[0].replace("-", "") == feld[3] and feld[0] == feld[6]):
winner = whowins(feld[0])
print(winner + " gewinnt.")
return True
elif(feld[0].replace("-", "") == feld[4] and feld[0] == feld[8]):
winner = whowins(feld[0])
print(winner + " gewinnt.")
return True
elif(feld[1].replace("-", "") == feld[4] and feld[1] == feld[7]):
winner = whowins(feld[1])
print(winner + " gewinnt.")
return True
elif(feld[3].replace("-", "") == feld[4] and feld[3] == feld[5]):
winner = whowins(feld[3])
print(winner + " gewinnt.")
return True
elif(feld[2].replace("-", "") == feld[4] and feld[2] == feld[6]):
winner = whowins(feld[2])
print(winner + " gewinnt.")
return True
elif(feld[2].replace("-", "") == feld[5] and feld[2] == feld[8]):
winner = whowins(feld[2])
print(winner + " gewinnt.")
return True
elif(feld[6].replace("-", "") == feld[7] and feld[6] == feld[8]):
winner = whowins(feld[6])
print(winner + " gewinnt.")
return True
elif(len(unentschieden) == 9):
print("Unentschieden.")
return True