Jak vytvořit hru Tic Tac Toe Python s Code Příklad
⚡ Chytré shrnutí
Piškvorky v Python je projekt vhodný pro začátečníky, který znovu vytváří klasickou mřížkovou hru pro dva hráče. Jeho sestavení posiluje základní dovednosti, jako jsou smyčky, podmíněné výrazy, seznamy, funkce a rekurze, a zároveň kontroluje řádky, sloupce a diagonály pro nalezení vítěze.
Hra Tic Tac Toe in Python je zajímavý projekt, který můžete vyzkoušet. Je to skvělý a zábavný projekt, který vám pomůže vyřešit problém a zvládnout základní pojmy v PythonVytvoření zábavné hry Piškvorky vám pomůže rozvíjet vaše dovednosti.
Můžete použít dobrý Python editor jako například PyCharm nebo rozhraní příkazového řádku.
Jak hrát hru Piškvorky?
Piškvorky je jednoduchá hra pro dva hráče, kterou si může zahrát kdokoli bez herního plánu. Dva hráči označují různá políčka, dokud hra neskončí výhrou nebo remízou.
Zde je návod, jak hrát hru Piškvorky.
Krok 1) Hra Piškvorky začíná s prázdnými políčky ve čtvercové mřížce. Toto je hrací deska Piškvorky.
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řídavě vyplňuje políčka na hrací desce piškvorky, dokud jeden z hráčů neobsadí výherní kombinaci. To znamená celý řádek, sloupec nebo diagonálu se stejným znaménkem.
Krok 4) Remíza je možná i v případě, že jsou všechna políčka plná a není zjevný vítěz.
požadavky
Stavba piškvorek Python projekt vyžaduje znalosti na úrovni začátečníků Python programovacího jazyka. Zahrnuje pochopení smyček „for“ a iterací a k čemu se používá příkaz if v Python.
Musíte také mít Python a Python textový editor nainstalovaný v počítači pro dokončení hry Piškvorky Python projekt. Jelikož se jedná o hru Piškvorky pro začátečníky, Python, nebudete potřebovat žádné Python knihovna.
K nalezení řešení chyb ve vašem kódu budete možná potřebovat určité ladicí dovednosti a měli byste také dostatečně rozumět herním komponentám.
Tic Tac Toe Python Algoritmus
Postupujte podle těchto kroků a vytvořte hru Piškvorky Python programovací jazyk:
Krok 1) Vytvořte hrací desku pro zahájení hry Piškvorky.
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 Piškvorky 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 Piškvorky s možnostmi zahájení nové hry.
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 Code výstup
Jakmile spustíte výše uvedený zdrojový kód, níže je uveden očekávaný výstup pro hrací desku Piškvorky o rozměrech 3 x 3:
------------ 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ý Code Zhroucení
Vytvoření Piškvorky v Python je to jednoduché. Pojďme si rozebrat různé funkce po bitech, abychom pochopili, co se děje na každém řádku:
Tisk desky
Hlavní herní displej je hrací deska Piškvorky. V Python, k zobrazení herní desky se používá zobrazovací okno.
Zde jsou kroky, které vám pomohou vytvořit hrací desku pro Piškvorky 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)
Code výstup:
------------ 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 jsou dva po sobě jdoucí sloupce stejné, pak je zřejmé, že všechny prvky v daném řá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í
U levé diagonály se úkol zjednoduší. Vždy budeme porovnávat buňky v diagonálách. Pokud však neexistuje vítěz, můžeme pokračovat k další instrukci.
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.

