Jak vytvořit hru Tic Tac Toe Python s příkladem kódu
Hra Tic Tac Toe in Python je zajímavý projekt, který můžete vyzkoušet. Je to skvělý a zábavný projekt řešení výzvy a může vám pomoci zvládnout základní pojmy Python. Vytvoření zábavné tic tac toe hry vám pomůže rozšířit vaše dovednosti.
Můžete použít dobrý Python editor, jako je Pycharm nebo rozhraní příkazového řádku.
Jak hrát hru Tic Toc?
Tic tac toe hra je jednoduchá hra pro dva hráče, kterou může hrát každý, aniž by potřeboval herní plán. Zahrnuje dva hráče, kteří označují různé buňky, dokud hra neskončí výhrou nebo remízou.
Zde je návod, jak hrát hru tic tac toe.
Krok 1) Hra tic tac toe začíná prázdnými buňkami ve čtvercové síti. Toto je tic tac toe deska.
Krok 2) Oba hráči si vybírají ze dvou symbolů, obvykle Xs nebo Os. Ve hře můžete použít jakýkoli jiný jedinečný symbol.
Krok 3) Aktuální hráč střídá tahy vyplňováním buněk na desce tic tac toe, dokud hráč nevyplní výherní kombinaci. To je celý řádek, sloupec nebo úhlopříčka se stejným znaménkem.
Krok 4) Remíza ve hře je také možná v případě, že jsou všechny buňky plné bez zjevného vítěze
požadavky
Budování piškvorky Python projekt vyžaduje porozumění na úrovni začátečníka Python programovací jazyk. Zahrnuje pochopení cyklů a iterací „for“ a použití příkazu what an if Python.
Musíte také mít Python a Python textový editor nainstalovaný na vašem počítači k dokončení piškvorky Python projekt. Protože se jedná o tic tac-toe hru pro začátečníky Python, nebudete potřebovat žádné Python knihovna.
Možná budete potřebovat nějaké dovednosti ladění, abyste našli řešení chyb ve vašem kódu, a měli byste také dostatečně rozumět herním komponentám.
Tic Tac Toe Python Algoritmus
Chcete-li vytvořit hru tic tac toe, postupujte podle těchto kroků Python programovací jazyk:
Krok 1) Vytvořte desku a začněte hru tic tac toe.
Krok 2) Požádejte uživatele, aby rozhodl o rozměrech herního plánu.
Krok 3) Náhodně vyberte prvního hráče.
Krok 4) Hra Tic Tac Toe začíná.
Krok 5) Hráči hrají výběrem prázdného místa na herním plánu.
Krok 6) Vyplňte prázdné vybrané místo znakem hráče.
Krok 7) Pomocí herní logiky určete, zda hráč ve hře vyhraje nebo získá remízu.
Krok 8) Pokud žádný hráč nevyhraje nebo nezíská nerozhodný výsledek s druhým hráčem, po každé hře vystavte herní plán.
Krok 9) Zobrazte zprávu o remíze nebo výhře.
Krok 10) Ukončete hru tic tac toe s možnostmi zahájit novou hru.
Plný Python kód pro 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 Výstup kódu
Jakmile spustíte zdrojový kód výše, níže je očekávaný výstup pro desku 3 X 3 tic tac toe:
------------ 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):
Úplné rozdělení kódu
Vytvoření tic tak toe in Python je jednoduchý. Pojďme si jednotlivé funkce po částech rozebrat, abychom pochopili, co se děje na každém řádku:
Tisk desky
Deska Tic tac toe je hlavní herní displej. V, Python zobrazovací okno se používá k zobrazení herního plánu.
Zde jsou kroky, které vám pomohou vytvořit desku pro tic tac toe in Python:
Python kód pro 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)
Výstup kódu:
------------ N-DIMENSIONAL TIC TAC TOE game by guru 99.com ------------ Guru99 says>>> Enter N, the dimensions of the board: 3 _ _ _ _ _ _ _ _ _
Hra Tic Tac Toe – vítězné uspořádání
Abychom zjistili, zda některý hráč vyhrál, musíme zkontrolovat výherní kombinace v řádcích, sloupcích a diagonálách. Pokud existuje vítěz, musíme ukázat vítěznou zprávu.
Řádky
- Pro řádek funkce vezme každý po sobě jdoucí pár sloupců a zkontroluje výherní kombinaci.
- První hráč, který vyplní řádky, vyhrává. Druhý hráč tak prohrává.
- Pokud je pár po sobě jdoucích sloupců stejný, je zřejmé, že všechny prvky v tomto řádku jsou stejné.
- Pokud se dva z nich liší nebo řádek obsahuje prázdnou buňku, stále není vítěz.
- Poté implementujeme podmínky prohry a přidáme přestávku. Pokud je splněna některá z těchto podmínek prohry, neměli jsme v zaškrtnuté řadě vítěze.
- Prohlášení else poskytuje skutečnou návratnost, která ukazuje, že existuje vítěz.
- Z této smyčky se přeruší a pokračuje se v další řadě.
Sloupce
U sloupců opakujeme stejnou funkci jako u řádků. Zda hráč vyhrál, zkontrolujeme poté, co si každý hráč vybere své místo.
Diagonální řada vítězí
Pro levou úhlopříčku se úkol zjednoduší. Vždy budeme porovnávat buňky v úhlopříčkách. V případě, že není vítěz, můžeme přistoupit k dalšímu návodu.
Hrajte herní logiku
Toto je hlavní funkce hry. K tomu můžeme použít proměnné, které uchovávají informace.
- První proměnnou je velikost desky uložená v „N“. Hra získá velikost desky poté, co požádá uživatele o zadání čísla.
- Takže když zadáte hodnotu, je zpracována.
- Vytváříme také chybovou zprávu, která hráčům ukáže, když zadáte jakékoli neplatné číslo.
- Poté můžeme vytvořit dvě proměnné, které při zaplnění buňky vyplní „X“ nebo „O“.
- Poté ukažte hráčům herní plán. Poté získejte informace od hráče.
- Logika pak označí vybranou buňku jako vyplněnou a zkontroluje výhru nebo remízu.
- Pokud není vítěz, hra požádá dalšího hráče, aby hrál. Pokud dojde k výhře nebo remíze, hra se může uživatelů zeptat, zda chtějí novou hru.
Proč investovat do čističky vzduchu?
- Tic tac toe je zábavná hra pro dva hráče, kterou můžete hrát umístěním jedinečného symbolu do prázdné buňky na desce.
- Vytvoření hry tic tac toe Python vyžaduje porozumění na úrovni začátečníka Python, textový editor a Python nainstalován.
- Algoritmus vám pomáhá systematicky psát kód v jakémkoli jazyce.
- Chcete-li vytvořit hru, nejprve nakreslete herní plán a napište kód, abyste určili uspořádání výher a proher
- Můžete otestovat tic-tac-toe kód v Python tím, že si to zahrajete jako první.