Comment créer un jeu Tic Tac Toe Python au Code Exemple

⚡ Résumé intelligent

Tic Tac Toe dans Python Il s'agit d'un projet idéal pour les débutants qui recrée le jeu classique de grille à deux joueurs. Sa construction permet de consolider des compétences essentielles telles que les boucles, les conditions, les listes, les fonctions et la récursivité, tout en vérifiant les lignes, les colonnes et les diagonales pour déterminer le gagnant.

  • (I.e. Gameplay: Deux joueurs marquent des X et des O sur une grille carrée jusqu'à ce que l'un d'eux complète une ligne, une colonne ou une diagonale.
  • 🧩 Logique de base : Les listes imbriquées stockent le plateau tandis que les boucles et les conditions gèrent les tours et détectent une victoire ou une égalité.
  • ???? Étapes de construction : Créer le plateau, choisir le premier joueur, recueillir les données, marquer les cases, puis déterminer le gagnant à chaque manche.
  • (I.e. Replay: Un appel récursif à play() relance la partie, et la validation des entrées bloque les coups occupés ou hors de portée.
  • 🤖 Pertinence de l'IA : Ce même plateau constitue un terrain de jeu idéal pour l'algorithme minimax et les agents d'apprentissage par renforcement.
  • Outils: Plus que Python et un éditeur tel que PyCharm sont nécessaires ; aucune bibliothèque externe n'est requise.

Jeu de Tic Tac Toe dans Python

Jeu de Tic Tac Toe dans Python est un projet intéressant que vous pouvez essayer. C'est un projet amusant et stimulant qui consiste à relever un défi et qui peut vous aider à maîtriser des concepts de base. PythonCréer un jeu de morpion amusant vous aide à développer vos compétences.

Vous pouvez utiliser un bon Python éditeur tel que PyCharm ou l'interface de ligne de commande.

Comment jouer au jeu du morpion ?

Le morpion est un jeu simple à deux joueurs, accessible à tous et ne nécessitant pas de plateau. Deux joueurs marquent des cases différentes jusqu'à ce que la partie se termine par une victoire ou une égalité.

Voici comment jouer au jeu du Tic Tac Toe.

Étape 1) Le jeu du Tic Tac Toe commence par des cases vides disposées sur une grille carrée. C'est le plateau de Tic Tac Toe.

Étape 2) Les deux joueurs choisissent parmi deux symboles, généralement X ou Os. Vous pouvez utiliser n’importe quel autre symbole unique dans le jeu.

Étape 3) Le joueur dont c'est le tour marque en remplissant à tour de rôle les cases de la grille de Tic Tac Toe jusqu'à ce qu'un joueur obtienne une combinaison gagnante : une ligne, une colonne ou une diagonale entière avec le même symbole.

Étape 4) Une égalité est également possible si toutes les cases sont pleines et qu'aucun vainqueur ne se dégage.

Exigences

Construire un jeu de morpion Python Le projet nécessite une compréhension de niveau débutant de Python Langage de programmation. Cela inclut la compréhension des boucles « for » et des itérations, ainsi que l'utilité de l'instruction « if ». Python.

Vous devez également avoir Python , l’aspect économique Python Un éditeur de texte installé sur votre ordinateur vous permettra de compléter le Tic Tac Toe. Python projet. Comme il s'agit d'un jeu de Tic Tac Toe de niveau débutant Python, vous n'aurez besoin de rien Python bibliothèque.

Vous aurez peut-être besoin de certaines compétences en débogage pour trouver des solutions aux bugs de votre code, et vous devrez également avoir une bonne compréhension des composants du jeu.

Tic Tac Toe Python Algorithme

Suivez ces étapes pour créer un jeu de Tic Tac Toe dans Python langage de programmation :

Étape 1) Créez le plateau pour commencer une partie de Tic Tac Toe.

Étape 2) Demandez à l'utilisateur de décider des dimensions du plateau de jeu.

Étape 3) Choisissez au hasard le premier joueur.

Étape 4) La partie de morpion commence.

Étape 5) Les joueurs jouent en sélectionnant un emplacement vide sur le plateau.

Étape 6) Remplissez l'emplacement vide sélectionné avec le signe du joueur.

Étape 7) Déterminez si un joueur gagne ou obtient une égalité dans le jeu en utilisant la logique du jeu.

Étape 8) Affichez le plateau de jeu après chaque partie si aucun joueur ne gagne ou n'obtient une égalité avec le deuxième joueur.

Étape 9) Affichez respectivement un message d'égalité ou de victoire.

Étape 10) Terminez la partie de Tic Tac Toe avec des options pour commencer une nouvelle partie.

Full Python code pour le 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 sortie

Une fois le code source ci-dessus exécuté, voici le résultat attendu pour une grille de morpion 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):

Full Code Breakdown

Nos Boissons Tic Tac Toe dans Python C'est simple. Analysons les différentes fonctions en détail pour comprendre ce qui se passe sur chaque ligne :

Impression du tableau

Le plateau de Tic Tac Toe est l'écran de jeu principal. PythonUne fenêtre d'affichage est utilisée pour afficher le plateau de jeu.

Voici les étapes qui vous aideront à créer un plateau de jeu de morpion. Python:

Python code pour 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 sortie:

------------
N-DIMENSIONAL TIC TAC TOE game by guru 99.com
------------
Guru99 says>>> Enter N, the dimensions of the board: 3

_ _ _

_ _ _

_ _ _

Jeu Tic Tac Toe – arrangement gagnant

Pour vérifier si un joueur a gagné, nous devons vérifier les combinaisons gagnantes dans les lignes, les colonnes et les diagonales. S'il y a un gagnant, nous devons afficher un message gagnant.

rangées

  • Pour la ligne, la fonction prend chaque paire de colonnes consécutives et recherche une combinaison gagnante.
  • Le premier joueur à remplir les rangées gagne. Le deuxième joueur perd donc.
  • Si deux colonnes consécutives sont identiques, il est évident que tous les éléments de cette ligne sont identiques.
  • Si deux d’entre eux sont différents ou si la ligne contient une cellule vide, il n’y a toujours pas de gagnant.
  • Nous implémentons ensuite des conditions perdantes et ajoutons une pause. Si l’une de ces conditions perdantes est vraie, nous n’avons pas eu de gagnant dans la ligne cochée.
  • L'instruction else donne un vrai retour pour montrer qu'il y a un gagnant.
  • La pause sort de cette boucle pour passer à la ligne suivante.

Colonnes

Pour les colonnes, on répète la même fonction que pour les lignes. Nous vérifions si un joueur a gagné après que chaque joueur ait choisi sa place.

La rangée diagonale gagne

Pour la diagonale gauche, la tâche se simplifie. Nous comparerons toujours les cellules qui la composent. Toutefois, s'il n'y a pas de vainqueur, nous passerons à l'instruction suivante.

Jouer à la logique du jeu

C'est la fonction principale du jeu. Pour cela, nous pouvons utiliser des variables qui stockent des informations.

  • La première variable est la taille de la carte stockée dans « N ». Le jeu obtiendra la taille du plateau après avoir demandé à l'utilisateur de saisir un nombre.
  • Ainsi, lorsque vous saisissez la valeur, elle est traitée.
  • Nous créons également un message d'erreur pour montrer aux joueurs lorsqu'un numéro invalide est saisi.
  • On peut alors créer deux variables qui remplissent un « X » ou un « O » lorsqu'une cellule est remplie.
  • Montrez ensuite aux joueurs le plateau de jeu. Après cela, obtenez l’avis du joueur.
  • La logique marquera alors la cellule sélectionnée comme remplie et vérifiera une victoire ou un match nul.
  • S'il n'y a pas de gagnant, le jeu demande au joueur suivant de jouer. En cas de victoire ou de match nul, le jeu peut demander aux utilisateurs s'ils souhaitent un nouveau jeu.

FAQ

Oui. Le jeu du morpion est un projet classique pour débutants qui permet de créer un jeu fonctionnel à partir de boucles, de conditions et de fonctions. Il renforce la confiance en soi, consolide les bases de la syntaxe et prépare à des projets plus ambitieux sans nécessiter de bibliothèques externes.

Il renforce l'utilisation des listes imbriquées pour le plateau, des boucles `for` et `while` pour la gestion des tours, des instructions `if` pour la vérification des victoires, des fonctions pour la structure et de la récursivité pour la reprise. Ces fondamentaux sont directement transposables à des concepts plus avancés. Python programmes.

Oui. Outre la version console, des bibliothèques comme Tkinter et Pygame ajoutent des boutons cliquables, une grille et la possibilité d'interagir avec la souris. La logique du jeu reste la même ; seuls l'affichage et les entrées changent.

Le Tic Tac Toe est un jeu truqué. Lorsque les deux joueurs jouent de manière optimale, toute menace peut être contrée, empêchant ainsi toute victoire. C'est pourquoi une partie parfaite, qu'elle soit humaine ou informatique, se termine toujours par une égalité.

Une version console basique ne prend qu'une à trois heures à un débutant une fois les boucles et les conditions maîtrisées. L'ajout de la validation des entrées, d'un plateau redimensionnable ou d'une interface graphique étend le projet sur un week-end de pratique.

Remplacez un joueur par une fonction minimax. Celle-ci explore récursivement tous les coups possibles, comptabilisant les victoires, les défaites et les nulles, puis choisit le coup offrant le meilleur résultat garanti. Sur un petit plateau, cela rend l'ordinateur imbattable.

Oui. Les agents d'apprentissage par renforcement, comme le Q-learning, s'améliorent en jouant des milliers de parties et en récompensant les coups gagnants. Les plateaux sont stockés sous forme de tableaux. NumPy, permettant ainsi au modèle d'apprendre une stratégie quasi optimale sans règles prédéfinies.

Oui. GitHub Copilot et les assistants IA similaires peuvent générer la structure du plateau, gérer les boucles de tours et effectuer des vérifications de victoire à partir d'une brève instruction. Considérez le résultat comme une première ébauche, puis testez vous-même les cas limites tels que les égalités et les coups invalides.

Résumez cet article avec :