Wie man ein Tic Tac Toe Spiel macht in Python und Code Beispiel

โšก Intelligente Zusammenfassung

Tic Tac Toe in Python ist ein anfรคngerfreundliches Projekt, das das klassische Zwei-Spieler-Gitterspiel nachbildet. Beim Bauen werden grundlegende Fรคhigkeiten wie Schleifen, Bedingungen, Listen, Funktionen und Rekursion gefestigt, wรคhrend Zeilen, Spalten und Diagonalen auf einen Gewinner รผberprรผft werden.

  • ๐ŸŽฎ Gameplay: Zwei Spieler markieren ein quadratisches Gitter mit X und O, bis einer von ihnen eine Reihe, Spalte oder Diagonale vervollstรคndigt hat.
  • ๐Ÿงฉ Kernlogik: Verschachtelte Listen speichern das Spielbrett, wรคhrend Schleifen und Bedingungen die Spielzรผge steuern und einen Sieg oder ein Unentschieden erkennen.
  • ???? ๏ธ Bauschritte: Erstelle das Spielbrett, wรคhle den ersten Spieler, nimm die Eingaben entgegen, markiere die Felder und รผberprรผfe dann in jeder Runde, ob es einen Gewinner gibt.
  • ๐Ÿ” Wiederholung: Ein rekursiver Aufruf von play() startet das Spiel neu, und die Eingabevalidierung verhindert belegte oder auรŸerhalb der Reichweite liegende Zรผge.
  • ๐Ÿค– KI-Relevanz: Das gleiche Board ist ein idealer Spielplatz fรผr den Minimax-Algorithmus und Reinforcement-Learning-Agenten.
  • ๏ธ Tools: Nur Python und ein Redakteur wie PyCharm werden benรถtigt; es werden keine externen Bibliotheken benรถtigt.

Tic Tac Toe Spiel in Python

Tic Tac Toe Spiel in Python ist ein interessantes Projekt, das du ausprobieren kannst. Es ist ein cooles und unterhaltsames Projekt, bei dem es darum geht, eine Herausforderung zu lรถsen, und es kann dir helfen, grundlegende Konzepte zu beherrschen. Python. Ein unterhaltsames Tic-Tac-Toe-Spiel zu entwickeln, hilft dir, deine Fรคhigkeiten zu verbessern.

Sie kรถnnen eine gute Python Herausgeber wie PyCharm oder die Kommandozeilenschnittstelle.

Wie spielt man das Tic-Tac-Toe-Spiel?

Tic Tac Toe ist ein einfaches Zweispielerspiel, das jeder ohne Spielbrett spielen kann. Dabei markieren zwei Spieler unterschiedliche Felder, bis das Spiel mit einem Sieg oder einem Unentschieden endet.

So spielt man das Tic-Tac-Toe-Spiel.

Schritt 1) Das Tic-Tac-Toe-Spiel beginnt mit leeren Feldern in einem quadratischen Gitter. Dies ist das Tic-Tac-Toe-Spielfeld.

Schritt 2) Beide Spieler wรคhlen aus zwei Symbolen, normalerweise X oder Os. Sie kรถnnen jedes andere einzigartige Symbol im Spiel verwenden.

Schritt 3) Der aktuelle Spieler markiert abwechselnd die Felder des Tic-Tac-Toe-Spielfelds, bis ein Spieler eine Gewinnkombination erzielt. Das bedeutet, dass eine ganze Zeile, Spalte oder Diagonale mit demselben Symbol gefรผllt ist.

Schritt 4) Ein Unentschieden ist auch dann mรถglich, wenn alle Zellen belegt sind und es keinen erkennbaren Gewinner gibt.

Voraussetzungen:

Bau des Tic-Tac-Toe Python Fรผr dieses Projekt sind Grundkenntnisse erforderlich. Python Programmiersprache. Dazu gehรถrt das Verstรคndnis von โ€žforโ€œ-Schleifen und Iterationen sowie die Verwendung von if-Anweisungen. Python.

Sie mรผssen auch haben Python und einem Python Um das Tic-Tac-Toe-Spiel zu vervollstรคndigen, muss ein Texteditor auf Ihrem Computer installiert sein. Python Projekt. Da es sich um ein Tic-Tac-Toe-Spiel fรผr Anfรคnger handelt. PythonSie werden keine benรถtigen Python Bibliothek.

Um Fehler in Ihrem Code zu finden, benรถtigen Sie mรถglicherweise Kenntnisse im Debugging und sollten auรŸerdem ein ausreichendes Verstรคndnis der Spielkomponenten haben.

Tic Tac Toe Python Algorithmus

Folgen Sie diesen Schritten, um ein Tic-Tac-Toe-Spiel zu erstellen in Python Programmiersprache:

Schritt 1) Erstelle das Spielfeld, um das Tic-Tac-Toe-Spiel zu beginnen.

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

Schritt 3) Wรคhle zufรคllig den Startspieler.

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 Zeichen des Spielers.

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) Beende das Tic-Tac-Toe-Spiel mit der Option, ein neues Spiel zu starten.

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()

Tic Tac Toe Python Code Mรถglichkeiten fรผr das Ausgangssignal:

Nach Ausfรผhrung des obigen Quellcodes wird fรผr ein 3x3-Tic-Tac-Toe-Spielfeld folgende Ausgabe erwartet:

------------
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รคndiger Code Breakdown

Bessere Tic Tac Toe in Python Es ist ganz einfach. Lassen Sie uns die verschiedenen Funktionen Stรผck fรผr Stรผck analysieren, um zu verstehen, was in jeder Zeile vor sich geht:

Bedrucken der Platine

Das Tic-Tac-Toe-Spielbrett ist die Hauptspielanzeige. PythonEin Anzeigefenster dient zur Darstellung des Spielbretts.

Hier sind die Schritte, die Ihnen helfen, ein Spielbrett fรผr Tic Tac Toe zu erstellen. Python:

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 โ€“ Gewinnkombination

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 zwei aufeinanderfolgende Spalten gleich sind, dann ist es offensichtlich, dass alle Elemente innerhalb 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

Bei der linken Diagonalen wird die Aufgabe einfacher. Wir vergleichen stets die Zellen in den Diagonalen. Falls es keinen Gewinner gibt, fahren wir mit dem nรคchsten Schritt fort.

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 SpielbrettgrรถรŸ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 danach 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.

Hรคufig gestellte Fragen

Ja. Tic Tac Toe ist ein klassisches Anfรคngerprojekt, das Schleifen, Bedingungen und Funktionen in ein funktionierendes Spiel umsetzt. Es stรคrkt das Selbstvertrauen, festigt die grundlegende Syntax und bereitet auf grรถรŸere Projekte vor, ohne dass externe Bibliotheken benรถtigt werden.

Es festigt das Verstรคndnis von verschachtelten Listen fรผr das Spielbrett, von for- und while-Schleifen fรผr Spielzรผge, von if-Anweisungen fรผr Gewinnprรผfungen, von Funktionen fรผr die Spielstruktur und von Rekursion fรผr Neustarts. Diese Grundlagen lassen sich direkt auf fortgeschrittenere Konzepte รผbertragen. Python Programme.

Ja. รœber die Konsolenversion hinaus bieten Bibliotheken wie Tkinter und Pygame klickbare Schaltflรคchen, ein gezeichnetes Raster und Maussteuerung. Die Spiellogik bleibt dabei unverรคndert; lediglich die Darstellungs- und Eingabeebenen รคndern sich.

Tic Tac Toe ist ein gelรถstes Spiel. Wenn beide Spieler optimal spielen, kann jede Bedrohung abgewehrt werden, sodass niemand einen Sieg erzwingen kann. Deshalb endet ein fehlerfreies Spiel, egal ob von Mensch oder Computer, immer unentschieden.

Eine einfache Konsolenversion lรคsst sich von Anfรคngern in ein bis drei Stunden umsetzen, sobald Schleifen und Bedingungen vertraut sind. Das Hinzufรผgen von Eingabevalidierung, einer skalierbaren Tastatur oder einer grafischen Benutzeroberflรคche verlรคngert das Projekt und erfordert ein ganzes รœbungswochenende.

Ersetzen Sie einen Spieler durch eine Minimax-Funktion. Diese durchlรคuft rekursiv alle mรถglichen Zรผge, bewertet Siege, Niederlagen und Unentschieden und wรคhlt dann den Zug mit dem besten garantierten Ergebnis. Auf einem kleinen Spielbrett ist der Computer dadurch unbesiegbar.

Ja. Reinforcement-Learning-Agenten wie Q-Learning verbessern sich, indem sie Tausende von Spielen spielen und erfolgreiche Zรผge belohnen. Die Spielbretter werden als Arrays gespeichert. NumPyDadurch kann das Modell eine nahezu optimale Strategie ohne fest codierte Regeln erlernen.

Ja. GitHub Copilot und รคhnliche KI-Assistenten kรถnnen anhand einer kurzen Eingabe das Spielbrett, die Zugreihenfolge und die Gewinnzรผge generieren. Betrachten Sie die Ausgabe als ersten Entwurf und testen Sie anschlieรŸend selbst Grenzfรคlle wie Unentschieden und ungรผltige Zรผge.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: