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.

Newsletter quotidiana di Guru99

Inizia la giornata con le ultime e più importanti notizie sull'intelligenza artificiale, pubblicate in questo momento.