Come realizzare un gioco Tic Tac Toe in Python con Code Esempio
โก Riepilogo intelligente
Tic Tac Toe dentro Python Si tratta di un progetto adatto ai principianti che ricrea il classico gioco a griglia per due giocatori. Realizzarlo rafforza competenze fondamentali come cicli, istruzioni condizionali, liste, funzioni e ricorsione, mentre si controllano righe, colonne e diagonali per individuare il vincitore.

Gioco Tic Tac Toe dentro Python รจ un progetto interessante che puoi provare. ร un progetto fantastico e divertente per risolvere una sfida e puรฒ aiutarti a padroneggiare i concetti di base in PythonCreare un divertente gioco del tris ti aiuta a migliorare le tue abilitร .
Puoi usare un bene Python editor come PyCharm o l'interfaccia a riga di comando.
Come si gioca a tris?
Il tris รจ un semplice gioco per due giocatori che chiunque puรฒ fare senza bisogno di un tabellone. Consiste nel segnare caselle diverse fino a quando la partita non termina con una vittoria o un pareggio.
Ecco come si gioca a tris.
Passo 1) Il gioco del tris inizia con delle caselle vuote in una griglia quadrata. Questa รจ la scacchiera del tris.
Passo 2) Entrambi i giocatori scelgono tra due simboli, solitamente X o O. Puoi utilizzare qualsiasi altro simbolo unico nel gioco.
Passo 3) Il giocatore di turno segna i propri punti riempiendo le caselle del tabellone del tris finchรฉ un giocatore non completa una combinazione vincente. Ovvero, un'intera riga, colonna o diagonale con lo stesso segno.
Passo 4) ร possibile anche un pareggio nel caso in cui tutte le celle siano piene e non vi sia un vincitore evidente.
Requisiti
Costruire il gioco del tris Python il progetto richiede una comprensione di livello principiante di Python linguaggio di programmazione. Include la comprensione dei cicli "for" e delle iterazioni e a cosa serve un'istruzione if in Python.
Devi anche avere Python e Python editor di testo installato sul tuo computer per completare il Tris Python progetto. Poichรฉ questo รจ un gioco del tris di livello principiante in Python, non avrai bisogno di nulla Python biblioteca.
Potrebbero essere necessarie alcune competenze di debug per trovare soluzioni ai bug nel codice, e dovresti anche avere una conoscenza adeguata dei componenti del gioco.
Tic Tac Toe Python Algoritmo
Segui questi passaggi per creare un gioco del tris in Python linguaggio di programmazione:
Passo 1) Crea la scacchiera per iniziare la partita a tris.
Passo 2) Richiedi all'utente di decidere le dimensioni del tabellone di gioco.
Passo 3) Scegli a caso il primo giocatore.
Passo 4) Inizia la partita del tris.
Passo 5) I giocatori giocano selezionando uno spazio vuoto sul tabellone.
Passo 6) Riempi lo spazio vuoto selezionato con il segno del giocatore.
Passo 7) Determina se un giocatore vince o ottiene un pareggio nel gioco utilizzando la logica del gioco.
Passo 8) Mostra il tabellone di gioco dopo ogni giocata se nessun giocatore vince o ottiene un pareggio rispetto al secondo giocatore.
Passo 9) Visualizza rispettivamente un messaggio di pareggio o di vittoria.
Passo 10) Termina la partita a tris con la possibilitร di iniziarne una nuova.
Lunga Python codice per tris
# 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 produzione
Una volta eseguito il codice sorgente sopra riportato, di seguito รจ riportato l'output previsto per una griglia di gioco del tris 3x3:
------------ 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):
Lunga Code Guasto
Creazione Tic Tac Toe dentro Python ร semplice. Analizziamo le diverse funzioni pezzo per pezzo per capire cosa succede in ogni riga:
Stampa della scheda
La scacchiera del tris รจ la schermata principale del gioco. Python, viene utilizzata una finestra di visualizzazione per mostrare il tabellone di gioco.
Ecco i passaggi che ti aiutano a creare una scacchiera per il Tris in Python:
Python codice per 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 produzione:
------------ N-DIMENSIONAL TIC TAC TOE game by guru 99.com ------------ Guru99 says>>> Enter N, the dimensions of the board: 3 _ _ _ _ _ _ _ _ _
Gioco Tic Tac Toe โ arrangiamento vincente
Per verificare se un giocatore ha vinto, dobbiamo controllare le combinazioni vincenti su righe, colonne e diagonali. Se c'รจ un vincitore, dobbiamo mostrare un messaggio vincente.
Righe
- Per la riga, la funzione prende ogni coppia consecutiva di colonne e verifica la presenza di una combinazione vincente.
- Vince il primo giocatore che riempie le righe. Il secondo giocatore perde cosรฌ.
- Se due colonne consecutive sono uguali, รจ ovvio che tutti gli elementi all'interno di quella riga sono uguali.
- Se due di essi sono diversi o la riga contiene una cella vuota, non esiste comunque alcun vincitore.
- Quindi implementiamo le condizioni perdenti e aggiungiamo una pausa. Se una qualsiasi di queste condizioni perdenti รจ vera, non abbiamo un vincitore nella riga selezionata.
- L'istruzione else fornisce un rendimento vero per dimostrare che esiste un vincitore.
- L'interruzione interrompe questo ciclo per procedere alla riga successiva.
Colonne
Per le colonne ripetiamo la stessa funzione delle righe. Controlliamo se un giocatore ha vinto dopo che ogni giocatore ha scelto il proprio posto.
Vince la fila diagonale
Per la diagonale sinistra, il compito diventa piรน semplice. Confronteremo sempre le celle sulle diagonali. Tuttavia, nel caso in cui non ci sia un vincitore, possiamo procedere all'istruzione successiva.
Gioca alla logica del gioco
Questa รจ la funzione principale del gioco. Per questo possiamo usare variabili che memorizzano informazioni.
- La prima variabile รจ la dimensione della scheda memorizzata in โNโ. Il gioco otterrร la dimensione del tabellone dopo aver chiesto all'utente di inserire un numero.
- Pertanto, quando si immette il valore, questo viene elaborato.
- Creiamo anche un messaggio di errore per mostrare ai giocatori quando viene digitato un numero non valido.
- Possiamo quindi creare due variabili che riempiono una "X" o una "O" quando una cella รจ piena.
- Poi mostra ai giocatori il tabellone di gioco. Successivamente, ottieni l'input del giocatore.
- La logica contrassegnerร quindi la cella selezionata come riempita e verificherร la vittoria o il pareggio.
- Se non c'รจ nessun vincitore, il gioco chiede al giocatore successivo di giocare. Se c'รจ una vittoria o un pareggio, il gioco puรฒ chiedere agli utenti se desiderano un nuovo gioco.
