Python-Funktion, die zwei Funktionen immer abwechselnd ausführt?
Hallo.
Ich möchte ein kleines Spiel programmieren, aber ich komme leider nicht auf die Lösung, wie ich das machen könnte. Ich lasse zuerst mit random festlegen, ob Spieler 1 oder Spieler 2 'X' hat und der soll dann das Spiel auch beginnen. Das wäre der Code bis dahin:
def spieler_auswahl():
from random import randint
x = randint(1, 2)
if x == 1:
spieler_1 = 'X'
spieler_2 = 'O'
return (spieler_1, spieler_2)
if x == 2:
spieler_1 = 'O'
spieler_2 = 'X'
return (spieler_1, spieler_2)
def erste_markierung_setzen():
if spieler_1 == 'X':
print('Spieler 1 Du spielst mit \'X\'')
print('Spieler 1 - Bitte gib die gewünschte Position für dein Zeichen ein: \n')
x = int(position())
spielfeld[x] = str(spieler_1)
elif spieler_2 == 'X':
print('Spieler 2 Du spielst mit \'X\'')
print('Spieler 2 - Bitte gib die gewünschte Position für dein Zeichen ein: \n')
x = int(position())
spielfeld[x] = str(spieler_2)
def spiel_fortsetzen():
Mit der Funktion spiel_fortsetzen möchte ich jetzt, dass die Funktionen markierung_setzen_1 und markierung_setzen_2 immer abwechselnd ausgeführt werden. Aber das je nachdem, ob Spieler 1 oder Spieler 2 'X' ist mit markierung_setzen_1 oder markierung_setzen_2 begonnen wird.
Hätte da jemand eine Idee? Wahrscheinlich mit einer while-Schleife.
1 Antwort
Dein Ansatz ist gut, du brauchst lediglich eine Schleife, die so lange läuft, bis das Spiel beendet ist. Um zu markieren, wer gerade am Zug ist, kannst du dir eine Variable setzen (true oder false / X oder O / ...).