Python Tic-Tac-Toe-Spielskript

Führen Sie ein Terminal-Tic-Tac-Toe-Spiel in Python aus. Erfahren Sie mehr über die Verwaltung des Platinenstatus, das Schalten von Schaltvorgängen und die Prüfung von Zustandszuständen.

Versuchen Sie es im Editor

Übersicht

Der Aufbau eines Tic-Tac-Toe-Spiels ist eine klassische Übung, die die Zustandsdarstellung des Matrixbretts, Schleifenstrukturen und die bedingte Vergleichslogik stärkt.

Das Board wird als 3x3-Matrix (oder als flache Liste mit 9 Elementen) dargestellt. Zwei Spieler platzieren abwechselnd ihre Symbole („X“ oder „O“) auf dem Gitter. Nach jedem Zug prüft das Skript, ob ein Spieler drei übereinstimmende Symbole in einer Reihe, Spalte oder Diagonale hat.

Diese Implementierung umfasst eine Spielschleife, die den aktiven Spielerstatus wechselt, Koordinatenplatzierungen akzeptiert und automatisch stoppt, sobald eine Sieg- oder Unentschiedenbedingung auftritt.

Code- und Ausführungsausgabe

Eine voll funktionsfähige Befehlszeilen-Tic-Tac-Toe-Spiel-Engine, die eine simulierte Sitzung ausführt.

def print_board(board):
    for i in range(3):
        row = " | ".join(board[i*3:(i+1)*3])
        print(f" {row} ")
        if i < 2:
            print("---+---+---")

def check_win(board, player):
    win_states = [
        [0, 1, 2], [3, 4, 5], [6, 7, 8], # Rows
        [0, 3, 6], [1, 4, 7], [2, 5, 8], # Columns
        [0, 4, 8], [2, 4, 6]             # Diagonals
    ]
    return any(all(board[pos] == player for pos in state) for state in win_states)

def play_tic_tac_toe():
    board = [str(i+1) for i in range(9)]
    # Simulated sequence of moves (X and O alternating)
    moves = [4, 0, 8, 2, 7, 6, 3] 
    
    print("Welcome to Tic-Tac-Toe!\n")
    print_board(board)
    print("\nSimulating Gameplay...")
    
    current_player = 'X'
    for move in moves:
        if board[move] not in ['X', 'O']:
            board[move] = current_player
            print(f"\nPlayer {current_player} places on {move+1}:")
            print_board(board)
            
            if check_win(board, current_player):
                print(f"\nPlayer {current_player} wins the game!")
                return
                
            current_player = 'O' if current_player == 'X' else 'X'
            
    print("\nGame ends in a draw!")

play_tic_tac_toe()
Terminal-Ausgabe
Welcome to Tic-Tac-Toe!

 1 | 2 | 3 
---+---+---
 4 | 5 | 6 
---+---+---
 7 | 8 | 9 

Simulating Gameplay...

Player X places on 5:
 1 | 2 | 3 
---+---+---
 4 | X | 6 
---+---+---
 7 | 8 | 9 

Player O places on 1:
 O | 2 | 3 
---+---+---
 4 | X | 6 
---+---+---
 7 | 8 | 9 

... (moves continue)

Player X wins the game!

Schrittweise Umsetzung

  • Interaktive Befehlszeilenschnittstellenschleifen
  • Einfache Minimax-Routing-Prototypen mit künstlicher Intelligenz
  • Lernen von 2D-Listen-Array-Koordinatenzuordnungen

Häufig gestellte Fragen

Wie kann ich gegen den Computer spielen?

Um einen KI-Gegner zu implementieren, können Sie das „Random“-Modul von Python verwenden, um freie Plätze auf dem Spielbrett auszuwählen, oder den Minimax-Algorithmus verwenden, um einen unschlagbaren Gegner zu erstellen.

Wie lösche ich den Terminalbildschirm zwischen den Runden?

Sie können „os“ importieren und „os.system('cls' if os.name == 'nt' else 'clear')` aufrufen, um Standard-Terminal-Ansichtsfenster zu löschen.

Verwandte Themen