So erstellen Sie ein Tic Tac Toe-Spiel in Python mit einem Codebeispiel


Das Tic Tac Toe-Spiel in Python ist ein interessantes Projekt, das Sie ausprobieren können. Es ist ein cooles und unterhaltsames Projekt zur Lösung einer Herausforderung und kann Ihnen dabei helfen, grundlegende Konzepte in Python zu erlernen. Das Erstellen eines unterhaltsamen Tic-Tac-Toe-Spiels hilft Ihnen, Ihre Fähigkeiten zu verbessern.

Sie können einen guten Python-Editor wie Pycharm oder die Befehlszeilenschnittstelle verwenden.

Wie spielt man das Tic Toc-Spiel?

Das Tic-Tac-Toe-Spiel ist ein einfaches Spiel für zwei Spieler, das jeder spielen kann, ohne ein Spielbrett zu benötigen. Dabei markieren zwei Spieler verschiedene Felder, bis das Spiel endet und ein Sieg oder ein Unentschieden erzielt wird.

Hier erfahren Sie, wie Sie das Tic-Tac-Toe-Spiel spielen.

Schritt 1) Das Tic-Tac-Toe-Spiel beginnt mit leeren Feldern in einem quadratischen Raster. Das ist das Tic-Tac-Toe-Board.

Schritt 2)Beide Spieler wählen aus zwei Symbolen, normalerweise Xs oder Os. Sie können jedes andere einzigartige Symbol im Spiel verwenden.

Schritt 3) Der aktuelle Spieler markiert abwechselnd, indem er die Zellen des Tic-Tac-Toe-Bretts ausfüllt, bis ein Spieler eine Gewinnkombination ausfüllt. Das ist eine ganze Zeile, Spalte oder Diagonale mit demselben Vorzeichen.

Schritt 4)Ein Unentschieden ist auch möglich, wenn alle Zellen voll sind und kein Gewinner erkennbar ist

Anforderungen

Für die Erstellung des Tic-Tac-Toe-Python-Projekts sind Kenntnisse der Programmiersprache Python auf Anfängerniveau erforderlich. Dazu gehört das Verständnis von „for“-Schleifen und Iterationen sowie die Verwendung einer if-Anweisung in Python.

Sie müssen außerdem Python und einen Python-Texteditor auf Ihrem Computer installiert haben, um das Tic-Tac-Toe-Python-Projekt abzuschließen. Da es sich um ein Tic-Tac-Toe-Spiel für Anfänger in Python handelt, benötigen Sie keine Python-Bibliothek.

Möglicherweise benötigen Sie einige Debugging-Kenntnisse, um Lösungen für Fehler in Ihrem Code zu finden, und Sie sollten außerdem über ausreichende Kenntnisse der Spielkomponenten verfügen.

Tic Tac Toe Python-Algorithmus

Befolgen Sie diese Schritte, um ein Tic-Tac-Toe-Spiel in der Programmiersprache Python zu erstellen:

Schritt 1)Erstellen Sie das Brett, um mit dem Tic-Tac-Toe-Spiel zu beginnen.

Schritt 2) Bitten Sie den Benutzer, über die Abmessungen des Spielbretts zu entscheiden.

Schritt 3)Wählen Sie zufällig den ersten Spieler aus.

Schritt 4)Das Tic-Tac-Toe-Spiel beginnt.

Schritt 5)Die Spieler spielen, indem sie eine leere Stelle auf dem Spielbrett auswählen.

Schritt 6) Füllen Sie die leere ausgewählte Stelle mit dem Spielerschild.

Schritt 7) Bestimmen Sie mithilfe der Spiellogik, ob ein Spieler das Spiel gewinnt oder ein Unentschieden erzielt.

Schritt 8) Zeigen Sie das Spielbrett nach jedem Spielzug an, wenn kein Spieler gewinnt oder ein Gleichstand mit dem zweiten Spieler besteht.

Schritt 9) Zeigen Sie eine Unentschieden- bzw. Siegernachricht an.

Schritt 10) Beenden Sie das Tic-Tac-Toe-Spiel mit Optionen zum Starten eines neuen Spiels.

Vollständiger Python-Code für Tic Tac Toe

# Guru99
# Code developed by Guru99.com
# Guru99 tic-tac-toe game
#Get input
def getInput(prompt, cast=None, condition=None, errorMessage=None):
  while True:
      try:
          val = cast(input(prompt))
          assert condition is None or condition(val)
          return val
      except:
          print(errorMessage or "Invalid input.")
# Print the game board
def printBoard(board):
  print()
  for row in board:
      print(*row)
  print()
# Check if player won using the winning combinations
def checkWin(board):
  # Check rows
  for row in range(len(board)):
      for col in range(len(board)-1):
          if board[row][col] == "_" or board[row][col+1] == "_" or board[row][col] != board[row][col+1]:
              break
      else:
          return True
  # Check column numbers
  for col in range(len(board)):
      for row in range(len(board)-1):
          if board[row][col] == "_" or board[row+1][col] == "_" or board[row][col] != board[row+1][col]:
              break
      else:
          return True
  # Check left diagonal
  for cell in range(len(board)-1):
      if board[cell][cell] == "_" or board[cell+1][cell+1] == "_" or board[cell][cell] != board[cell+1][cell+1]:
          break
  else:
      return True
  # Check right diagonal
  for cell in range(len(board)-1):
      emptyCell = board[cell][len(board)-cell-1] == "_" or board[cell+1][len(board)-cell-2] == "_"
      different = board[cell][len(board)-cell-1] != board[cell+1][len(board)-cell-2]
      if emptyCell or different:
          break
  else:
      return True
  # No win
  return False
# Play tic tac toe game
def play():
  # Introduction
  print("------------\nN-DIMENSIONAL TIC TAC TOE game by guru 99.com \n------------")
  # Set up variables
  N = getInput(prompt="Guru99 says>>> Enter N, the dimensions of the board: ",
               cast=int,
               condition=lambda x: x >= 3,
               errorMessage="Invalid input. Please enter an integer greater than or equal to 3 as explained on guru99.com")
  board = [['_'] * N for _ in range(N)]
  used = 0
  turn = 0
  # Play guru99 tic tac toe game in Python using while infinite loop
  while True:
      # Print guru99 tic tac toe game board
      printBoard(board)
      # Get user pick
      pick = getInput(prompt=f"Player {turn+1} - Pick location (row, col): ",
                      cast=lambda line: tuple(map(int, line.split(" "))),
                      condition=lambda pair: min(pair) >= 0 and max(pair) < N and board[pair[0]][pair[1]] == "_",
                      errorMessage="Invalid input. Please enter a valid, unoccupied location as an integer pair.")
      # Populate location
      board[pick[0]][pick[1]] = "X" if turn == 0 else "O"
      used += 1
      # Check for win
      #Guru99 tutorial
      if checkWin(board):
          printBoard(board)
          print(f"Game over, Player {turn+1} wins.")
          break
      # Check for tie
      elif used == N*N:
          printBoard(board)
          print("Game over. Players have tied the match.")
          print("Guru99.com tic tac toe game ")
          break
      # If no win yet, update next user
      turn = (turn+1)%2
  # Check for rematch
  playAgain = getInput(prompt="Play Guru99 tic tac toe_Game again? (y/n): ",
                       cast=str,
                       condition=lambda ans: ans.strip("\n").lower() in {"y", "n"},
                       errorMessage="Invalid input. Please enter 'y' or 'n'.")
  if playAgain == 'n':
      # End the game
      print("\nGuru99 TicTacToe game ended.")
      return
  else:
      # Rematch
      play()
# Main
if __name__ == '__main__':
  play()

Ausgabe des Tic Tac Toe-Python-Codes

Sobald Sie den obigen Quellcode ausführen, sehen Sie unten die erwartete Ausgabe für ein 3 x 3 großes Tic-Tac-Toe-Board:

------------
N-DIMENSIONAL TIC TAC TOE game by guru 99.com
------------
Guru99 says>>> Enter N, the dimensions of the board: 3

_ _ _

_ _ _

_ _ _

Player 1 - Pick location (row, col): 1 1

_ _ _

_ X _

_ _ _

Player 2 - Pick location (row, col): 0 1

_ O _

_ X _

_ _ _

Player 1 - Pick location (row, col): 1 2

_ O _

_ X X

_ _ _

Player 2 - Pick location (row, col): 0 2

_ O O

_ X X

_ _ _

Player 1 - Pick location (row, col): 1 0

_ O O

X X X

_ _ _

Game over, Player 1 wins.
Play Guru99 tic tac toe_Game again? (y/n):

Vollständige Codeaufschlüsselung

Tic Tac Toe in Python zu erstellen ist einfach. Lassen Sie uns die verschiedenen Funktionen in Stücke zerlegen, um zu verstehen, was in jeder Zeile vor sich geht:

Bedrucken der Platine

Das Tic-Tac-Toe-Brett ist das Hauptspieldisplay. Im Python-Anzeigefenster wird das Spielbrett angezeigt.

Hier sind die Schritte, die Ihnen beim Erstellen eines Boards für Tic Tac Toe in Python helfen:

Python-Code für Tic Tac Toe

def getInput(prompt, cast=None, condition=None, errorMessage=None):
   while True:
       try:
           val = cast(input(prompt))
           assert condition is None or condition(val)
           return val
       except:
           print(errorMessage or "Invalid input.")
# Print the board
def printBoard(board):
   print()
   for row in board:
       print(*row)
   print()
N = getInput(prompt="Guru99 says>>> Enter N, the dimensions of the board: ",
            cast=int,
            condition=lambda x: x >= 3,
            errorMessage="Invalid input. Please enter an integer greater than or equal to 3 as explained on guru99.com")
board = [['_'] * N for _ in range(N)]
used = 0
turn = 0
printBoard(board)

Code-Ausgabe:

------------
N-DIMENSIONAL TIC TAC TOE game by guru 99.com
------------
Guru99 says>>> Enter N, the dimensions of the board: 3

_ _ _

_ _ _

_ _ _

Tic Tac Toe-Spiel – Gewinnspiel

Um zu überprüfen, ob ein Spieler gewonnen hat, müssen wir die Gewinnkombinationen in den Zeilen, Spalten und Diagonalen überprüfen. Wenn es einen Gewinner gibt, müssen wir eine Gewinnerbotschaft zeigen.

Reihen

  • Für die Zeile nimmt die Funktion jedes aufeinanderfolgende Spaltenpaar und prüft, ob eine Gewinnkombination vorliegt.
  • Der erste Spieler, der die Reihen füllt, gewinnt. Der zweite Spieler verliert also.
  • Wenn ein Paar aufeinanderfolgender Spalten gleich ist, ist es offensichtlich, dass alle Elemente in dieser Zeile gleich sind.
  • Wenn zwei davon unterschiedlich sind oder die Zeile eine leere Zelle enthält, gibt es immer noch keinen Gewinner.
  • Anschließend implementieren wir Verlustbedingungen und fügen eine Pause hinzu. Wenn eine dieser Verlustbedingungen zutrifft, hatten wir in der überprüften Reihe keinen Gewinner.
  • Die else-Anweisung gibt eine echte Rückgabe zurück, um zu zeigen, dass es einen Gewinner gibt.
  • Der Break bricht aus dieser Schleife aus, um mit der nächsten Zeile fortzufahren.

Spalten

Für die Spalten wiederholen wir die gleiche Funktion wie in den Zeilen. Wir überprüfen, ob ein Spieler gewonnen hat, nachdem jeder Spieler seinen Platz ausgewählt hat.

Die diagonale Reihe gewinnt

Für die linke Diagonale wird die Aufgabe einfacher. Wir werden immer die Zellen in den Diagonalen vergleichen. Falls es jedoch keinen Gewinner gibt, können wir mit der nächsten Anweisung fortfahren.

Spiellogik spielen

Dies ist die Hauptspielfunktion. Hierzu können wir Variablen verwenden, die Informationen speichern.

  • Die erste Variable ist die in „N“ gespeicherte Platinengröße. Das Spiel erhält die Brettgröße, nachdem der Benutzer aufgefordert wurde, eine Zahl einzugeben.
  • Wenn Sie also den Wert eingeben, wird er verarbeitet.
  • Wir erstellen außerdem eine Fehlermeldung, um den Spielern anzuzeigen, wenn eine ungültige Nummer eingegeben wird.
  • Wir können dann zwei Variablen erstellen, die ein „X“ oder ein „O“ ausfüllen, wenn eine Zelle gefüllt ist.
  • Zeigen Sie den Spielern dann den Spielplan. Holen Sie sich anschließend die Eingaben des Spielers ein.
  • Die Logik markiert dann die ausgewählte Zelle als gefüllt und prüft, ob ein Sieg oder ein Unentschieden vorliegt.
  • Wenn es keinen Gewinner gibt, fordert das Spiel den nächsten Spieler zum Spielen auf. Bei einem Sieg oder Unentschieden kann das Spiel die Nutzer fragen, ob sie ein neues Spiel wollen.

Abschluss

  • Tic Tac Toe ist ein unterhaltsames Spiel für zwei Spieler, bei dem ein einzigartiges Symbol in einer leeren Spielfeldzelle platziert wird.
  • Um ein Tic-Tac-Toe-Spiel in Python zu erstellen, sind Python-Anfängerkenntnisse, ein Texteditor und die Installation von Python erforderlich.
  • Der Algorithmus hilft Ihnen, den Code systematisch in jeder Sprache zu schreiben.
  • Um das Spiel zu erstellen, zeichnen Sie zunächst das Spielbrett und schreiben Sie Code, um die Gewinn- und Verlustanordnungen festzulegen
  • Sie können den Tic-Tac-Toe-Code in Python testen, indem Sie ihn zuerst abspielen.