#ohne OOP # lsp als Liste def spielfeld_anzeigen(p): #ausgabe print(p[1]+" | "+p[2]+" | "+p[3]) print(p[4]+" | "+p[5]+" | "+p[6]) print(p[7]+" | "+p[8]+" | "+p[9]) def spieler_eingabe(): spielzug=int(input("Bitte Position eingeben: ")) return spielzug def spiel_gewonnen(p): #Horizontale Möglichkeiten if p[1]==p[2]==p[3]: return True if p[4]==p[5]==p[6]: return True if p[7]==p[8]==p[9]: return True #Vertikale Möglichkeiten if p[1]==p[4]==p[7]: return True if p[2]==p[5]==p[8]: return True if p[3]==p[6]==p[9]: return True #2 Diagonalen if p[3]==p[5]==p[7]: return True if p[1]==p[5]==p[9]: return True return False def spiel_unentschieden(zähler,gw): if zähler==9 and gw==False: return True #Hauptprogramm lsp=[" ","1","2","3","4","5","6","7","8","9"] spielfeld_anzeigen(lsp) for i in range(1,10): spielzug=spieler_eingabe() if i%2==1: # spieler 1 setzt das X lsp[spielzug]="X" else: # spieler 2 setzt das O lsp[spielzug]="O" spielfeld_anzeigen(lsp) #prüfen, ob gewonnen gewonnen=spiel_gewonnen(lsp) if gewonnen==True: print("Spieler hat gewonnen!") break #prüfen, ob unentschieden unentschieden=spiel_unentschieden(i,gewonnen) if unentschieden==True: print("Das Spiel ist unentschieden") print("Das Spiel ist beendet.")