Hur man gör ett Tic Tac Toe-spel i Python med kodexempel
Tic Tac Toe Game in Python är ett intressant projekt du kan prova. Det är ett coolt och roligt projekt för att lösa en utmaning och kan hjälpa dig att bemästra grundläggande begrepp i Python. Att skapa ett roligt tic tac toe-spel hjälper dig att utveckla dina färdigheter.
Du kan använda en vara Python editor som Pycharm eller kommandoradsgränssnittet.
Hur spelar man Tic Toc Game?
Tic tac toe-spel är ett enkelt spel för två spelare som alla kan spela utan att behöva en spelplan. Det innebär att två spelare markerar olika celler tills spelet slutar, i vinst eller oavgjort uppnås.
Så här spelar du tic tac toe-spelet.
Steg 1) Tic tac toe-spelet börjar med tomma celler i ett fyrkantigt rutnät. Detta är tic tac toe-brädan.
Steg 2) Båda spelarna väljer mellan två symboler, vanligtvis Xs eller Os. Du kan använda vilken annan unik symbol som helst i spelet.
Steg 3) Den nuvarande spelaren markerar i tur och ordning genom att fylla i cellerna på tic tac toe-brädet tills en spelare fyller en vinnande kombination. Det är en hel rad, kolumn eller diagonal med samma tecken.
Steg 4) Oavgjort spel är också möjligt om alla celler är fulla utan någon tydlig vinnare
Krav
Bygga luffarschack Python projektet kräver en förståelse på nybörjarnivå Python programmeringsspråk. Det inkluderar förståelse för "för" loopar och iterationer och vad en if-sats används i Python.
Du måste också ha Python och en Python textredigerare installerad på din dator för att slutföra tic-tac-toe Python projekt. Eftersom detta är ett tic tac-toe-spel på nybörjarnivå Python, du behöver inga Python bibliotek.
Du kan behöva vissa felsökningsfärdigheter för att hitta lösningar på buggar i din kod och du bör också ha en adekvat förståelse för spelkomponenterna.
Tic Tac Toe Python Algoritm
Följ dessa steg för att skapa ett tic tac toe-spel i Python programmeringsspråk:
Steg 1) Skapa brädet för att börja tic tac toe-spelet.
Steg 2) Be användaren att bestämma spelplanens mått.
Steg 3) Välj den första spelaren slumpmässigt.
Steg 4) Tic tac toe-spelet börjar.
Steg 5) Spelare spelar genom att välja en tom plats på brädet.
Steg 6) Fyll den tomma valda platsen med spelarens tecken.
Steg 7) Avgör om en spelare vinner eller får oavgjort i spelet med hjälp av spellogiken.
Steg 8) Visa spelplanen efter varje spel om ingen spelare vinner eller får oavgjort mot den andra spelaren.
Steg 9) Visa ett oavgjort respektive vinstmeddelande.
Steg 10) Avsluta tic tac toe-spelet med alternativ för att starta ett nytt spel.
full Python kod 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 Kodutgång
När du väl kört källkoden ovan, nedan är den förväntade utgången för en 3 X 3 tic tac toe-bräda:
------------ 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):
Fullständig koduppdelning
Skapa tic tac toe in Python är enkelt. Låt oss dissekera de olika funktionerna i bitar för att förstå vad som händer för varje rad:
Skriva ut tavlan
Tic tac toe-brädet är huvudspelets display. I, Python displayfönstret används för att visa spelplanen.
Här är stegen som hjälper dig att skapa en bräda för tic tac toe in Python:
Python kod 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)
Kodutgång:
------------ N-DIMENSIONAL TIC TAC TOE game by guru 99.com ------------ Guru99 says>>> Enter N, the dimensions of the board: 3 _ _ _ _ _ _ _ _ _
Tic Tac Toe Game – vinnande arrangemang
För att kontrollera om någon spelare vann måste vi kontrollera de vinnande kombinationerna över raderna, kolumnerna och diagonalerna. Om det finns en vinnare måste vi visa ett vinnande meddelande.
rader
- För raden tar funktionen varje på varandra följande kolumnpar och kontrollerar efter en vinnande kombination.
- Den första spelaren som fyller raderna vinner. Den andra spelaren förlorar därmed.
- Om ett par på varandra följande kolumner är desamma, är det uppenbart att alla element inom den raden är desamma.
- Om två av dem är olika eller om raden innehåller en tom cell, finns det fortfarande ingen vinnare.
- Vi implementerar sedan förlorande förutsättningar och lägger till en paus. Om något av dessa förlustvillkor är sant, hade vi ingen vinnare i den markerade raden.
- Det andra uttalandet ger en sann avkastning för att visa att det finns en vinnare.
- Pausen bryter ut ur denna slinga för att fortsätta till nästa rad.
Kolonner
För kolumnerna upprepar vi samma funktion som i rader. Vi kontrollerar om en spelare vunnit efter att varje spelare valt sin plats.
Diagonal rad vinner
För den vänstra diagonalen blir uppgiften enklare. Vi kommer alltid att jämföra cellerna i diagonalerna. Men om det inte finns någon vinnare kan vi gå vidare till nästa instruktion.
Spela spellogik
Detta är spelets huvudfunktion. För detta kan vi använda variabler som lagrar information.
- Den första variabeln är kortstorleken lagrad i "N". Spelet kommer att få brädets storlek efter att ha bett användaren att ange ett nummer.
- Så när du anger värdet bearbetas det.
- Vi skapar också ett felmeddelande för att visa spelarna när något ogiltigt nummer skrivs in.
- Vi kan sedan skapa två variabler som fyller i ett "X" eller ett "O" när en cell är fylld.
- Visa sedan spelarna spelplanen. Efter detta, få spelarens input.
- Logiken kommer då att markera den valda cellen som ifylld och kontrollera efter vinst eller oavgjort.
- Om det inte finns någon vinnare, ber spelet nästa spelare att spela. Om det blir vinst eller oavgjort kan spelet fråga användarna om de vill ha ett nytt spel.
Slutsats
- Tic tac toe är ett roligt spel för två spelare att spela genom att placera en unik symbol i en tom brädcell.
- Skapa ett tic tac toe-spel i Python kräver en förståelse på nybörjarnivå Python, en textredigerare och Python installerad.
- Algoritmen hjälper dig att systematiskt skriva koden på valfritt språk.
- För att skapa spelet, rita först brädet och skriv kod för att avgöra om du vill vinna och förlora arrangemang
- Du kan testa tic-tac-toe-koden i Python genom att spela det först.