Erstellen Sie ein Tic Tac Toe-Spiel in Python:Schritt-für-Schritt-Code-Anleitung
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 X 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
Die Erstellung des Tic-Tac-Toe-Python-Projekts erfordert ein Anfängerverständnis der Programmiersprache Python. 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 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 ersten Spieler.
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 gewinnt oder ein Unentschieden im Spiel erhält.
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()
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
Erstellen Tic Tac Toe in Python ist einfach. Lassen Sie uns die verschiedenen Funktionen in Stücke zerlegen, um zu verstehen, was in jeder Zeile vor sich geht:
Drucken 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 – 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 Gewinnernachricht zeigen.
Zeilen
- 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 somit.
- Wenn ein Paar aufeinanderfolgender Spalten gleich ist, dann 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.
- Wir implementieren dann Verlustbedingungen und fügen eine Unterbrechung 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.
- Die Pause unterbricht diese Schleife, um mit der nächsten Zeile fortzufahren.
Spalten
Für die Spalten wiederholen wir die gleiche Funktion wie in den Zeilen. Wir prüfen, ob ein Spieler gewonnen hat, nachdem jeder Spieler seinen Platz ausgewählt hat.
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 Spielfeldgröß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 Zahl eingegeben wird.
- Wir können dann zwei Variablen erstellen, die ein „X“ oder ein „O“ ausfüllen, wenn eine Zelle gefüllt ist.
- Dann zeigen Sie den Spielern das Spielbrett. 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.
Schlussfolgerung
- Tic Tac Toe ist ein unterhaltsames Spiel für zwei Spieler, bei dem ein einzigartiges Symbol in ein leeres Feldfeld gelegt 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 Verliereranordnungen zu bestimmen.
- Sie können den Tic-Tac-Toe-Code in Python testen, indem Sie ihn zuerst abspielen.
Python
- Python range() Funktion:Float, List, For-Schleife Beispiele
- Länge der Python-Zeichenfolge | len() Methode Beispiel
- SciPy in Python Tutorial:Was ist | Beispiele für Bibliotheken und Funktionen
- Python abs() Funktion:Beispiele für absolute Werte
- Python-Strings:Ersetzen, Verbinden, Teilen, Umkehren, Groß- und Kleinbuchstaben
- Python String count() mit BEISPIELE
- Entdecken Sie die offizielle Buchsammlung von Real Python – Beherrschen Sie Python vom Anfänger bis zum Fortgeschrittenen
- Python-Eingabe, -Ausgabe und -Import
- Python - Datum &Uhrzeit
- Python-Durchschnitt:So finden Sie den DURCHSCHNITT einer Liste in Python