Python Tutorial
- jetzt Python programmieren lernen

Spielfigur setzen - Spielfeld mit X oder O kennzeichnen

Über unser bisheriges Programm bekommen wir nun in einer Variablen das gewünschte Feld. In dieses können wir nun „X“ oder „O“ für die Spielfigur des jeweiligen Spielers eintragen. Danach müssen wir wieder das Spielfeld ausgeben:

while spiel_aktiv:
    # Eingabe des aktiven Spielers
    spielzug = spieler_eingabe()
    if spielzug:
        spielfeld[spielzug] = 'X'
        # aktuelles Spielfeld ausgeben
        spielfeld_ausgeben()

Allerdings haben wir noch gar keinen zweiten Spieler bzw. den Wechsel von Spieler X zu Spieler O.

Also brauchen wir ganz am Anfang wieder eine Variable für den aktuellen Spieler spieler_aktuell. Diesen lassen wir auch vor der Eingabe durch den Spieler am Bildschirm ausgeben:

# Spiel Tic-Tac-Toe
print("Tic-Tac-Toe Python Tutorial")
spiel_aktiv = True
spieler_aktuell = 'X'

Und in unserer Hauptroutine:

while spiel_aktiv:
    # Eingabe des aktiven Spielers
    print ("Spieler " + spieler_aktuell + " am Zug")
    spielzug = spieler_eingabe()
    if spielzug:
        spielfeld[spielzug] = spieler_aktuell
        # aktuelles Spielfeld ausgeben
        spielfeld_ausgeben()

automatischer Spielerwechsel

Jetzt benötigen wir einen automatischen Wechsel des Spielers nach jedem Spielzug. Dazu erstellen wir eine Funktion mit dem Namen spieler_wechseln(). Dabei darf man nicht vergessen, die Variable spieler_aktuell auf global zu setzen.

def spieler_wechseln():
    global spieler_aktuell
    if spieler_aktuell == 'X':
        spieler_aktuell = 'O'
    else:
        spieler_aktuell = 'X'

Diese Funktion rufen wir nach der Ausgabe von Spielfeld in unserer Hauptschleife auf:

while spiel_aktiv:
    # Eingabe des aktiven Spielers
    print ("Spieler " + spieler_aktuell + " am Zug")
    spielzug = spieler_eingabe()
    if spielzug:
        # spielfeld[spielzug] = 'X'
        spielfeld[spielzug] = spieler_aktuell
        # aktuelles Spielfeld ausgeben
        spielfeld_ausgeben()
        # Spieler wechseln
        spieler_wechseln()

Hier der bisherige komplett Code:

# Spiel Tic-Tac-Toe
print("Tic-Tac-Toe Python Tutorial")

spiel_aktiv = True
spieler_aktuell = 'X'

# Spielfeld als Liste erstellen
spielfeld = [" ",
             "1","2","3",
             "4","5","6",
             "7","8","9"]

# Spielfeld ausgeben
def spielfeld_ausgeben():
    print (spielfeld[1] + "|" + spielfeld[2] + "|" + spielfeld[3] )
    print (spielfeld[4] + "|" + spielfeld[5] + "|" + spielfeld[6] )
    print (spielfeld[7] + "|" + spielfeld[8] + "|" + spielfeld[9] )

# Spielereingabe und Kontrolle der Eingabe
def spieler_eingabe():
    global spiel_aktiv
    while True:
        spielzug = input("Bitte Feld eingeben: ")
        # vorzeitiges Spielende durch Spieler
        if spielzug == 'q':
            spiel_aktiv = False
            return
        try:
            spielzug = int(spielzug)
        except ValueError:
            print("Bitte Zahl von 1 bis 9 eingeben")
        else:
            if spielzug >= 1 and spielzug <= 9:
                return spielzug
            else:
                print("Zahl muss zwischen 1 und 9 liegen")

def spieler_wechseln():
    global spieler_aktuell
    if spieler_aktuell == 'X':
        spieler_aktuell = 'O'
    else:
        spieler_aktuell = 'X'

# aktuelles Spielfeld ausgeben
spielfeld_ausgeben()
while spiel_aktiv:
    # Eingabe des aktiven Spielers
    print ("Spieler " + spieler_aktuell + " am Zug")
    spielzug = spieler_eingabe()
    if spielzug:
        # spielfeld[spielzug] = 'X'
        spielfeld[spielzug] = spieler_aktuell
        # aktuelles Spielfeld ausgeben
        spielfeld_ausgeben()
        # Spieler wechseln
        spieler_wechseln()

Weiterempfehlen • Social Bookmarks • Vielen Dank

Bitte unterstützen Sie dieses Projekt

Sie können dieses Projekt in verschiedenen Formen unterstützen - wir würden uns freuen und es würde uns für weitere Inhalte motivieren :).

Empfehlen Sie es weiter - wir freuen uns immer über Links und Facebook-Empfehlungen.

Das neue E-Book zum Kurs gibt es zum Kaufen.

Sie können uns auch eine Spende über PayPal zukommen lassen.

Bestellen Sie Bücher über folgenden Link bei Amazon:
Bücher über Python

Vielen Dank für Ihre Unterstützung