Come realizzare un gioco Tic Tac Toe in Python con esempio di codice
Gioco Tic Tac Toe dentro Python è un progetto interessante che puoi provare. È un progetto divertente e interessante per risolvere una sfida e può aiutarti a padroneggiare i concetti di base in Python. Creare un divertente gioco di tris ti aiuta a sviluppare le tue abilità.
Puoi usare un bene Python editor come Pycharm o l'interfaccia della riga di comando.
Come si gioca al gioco Tic Toc?
Il gioco Tic Tac Toe è un semplice gioco per due giocatori a cui chiunque può giocare senza bisogno di un tabellone. Coinvolge due giocatori che marcano celle diverse fino alla fine del gioco, in caso di vittoria o pareggio.
Ecco come giocare al gioco del tris.
Passo 1) Il gioco del tris inizia con le celle vuote in una griglia quadrata. Questa è la tavola da 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 attuale segna a turno riempiendo le celle del tabellone tris finché un giocatore non riempie una combinazione vincente. Cioè un'intera riga, colonna o diagonale con lo stesso segno.
Passo 4) Un pareggio è possibile anche nel caso in cui tutte le celle siano piene senza un vincitore apparente
Requisiti
Costruire il tic tac toe Python progetto richiede una comprensione di livello principiante Python linguaggio di programmazione. Include la comprensione dei cicli e delle iterazioni "for" e in cosa viene utilizzata un'istruzione if Python.
Devi anche avere Python e Python editor di testo installato sul tuo computer per completare il tris Python progetto. Poiché questo è un gioco di tris a livello principiante Python, non ne avrai bisogno Python biblioteca.
Potresti aver bisogno di alcune capacità di debug per trovare soluzioni ai bug nel tuo codice e dovresti anche avere un'adeguata comprensione dei componenti del gioco.
Tic Tac Toe Python Algoritmo
Segui questi passaggi per creare un gioco di tris Python linguaggio di programmazione:
Passo 1) Crea il tabellone per iniziare il gioco del 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 il gioco 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 il gioco del tris con le opzioni per iniziare una nuova partita.
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 Uscita codice
Una volta eseguito il codice sorgente sopra, di seguito è riportato l'output previsto per una tavola da tic tac toe 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):
Analisi completa del codice
Creazione tris Python è semplice. Analizziamo le diverse funzioni in bit per capire cosa sta succedendo per ogni riga:
Stampa della scheda
Il tabellone Tic Tac Toe è lo schermo principale del gioco. In, Python la finestra di visualizzazione viene utilizzata per mostrare il tabellone di gioco.
Ecco i passaggi che ti aiutano a creare una tavola per il tris 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)
Uscita del codice:
------------ 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 una coppia di colonne consecutive sono uguali, allora è 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 nelle diagonali. Tuttavia, nel caso in cui non ci sia alcun 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.
Conclusione
- Tic Tac Toe è un divertente gioco per due giocatori da giocare posizionando un simbolo unico in una cella vuota del tabellone.
- Creazione di un gioco di tris in Python richiede una comprensione di livello principiante Python, un editor di testo e Python installato.
- L'algoritmo ti aiuta a scrivere sistematicamente il codice in qualsiasi lingua.
- Per creare il gioco, innanzitutto disegna il tabellone e scrivi il codice per determinare gli arrangiamenti vincenti e perdenti
- Puoi testare il codice tris in Python giocandolo prima.