Créer le Jeu du Morpion en Python

Introduction au Jeu du Morpion

Le Morpion, également connu sous le nom de Tic-Tac-Toe, est un jeu de réflexion simple et amusant où deux joueurs alternent entre "X" et "O" sur une grille 3x3, cherchant à aligner trois de leurs symboles avant leur adversaire. Voici comment vous pouvez le coder en Python :

def afficher_plateau(plateau):
    for ligne in plateau:
        print(" | ".join(ligne))
        print("-" * 5)

def verifier_gagnant(plateau, joueur):
    # Vérifie les lignes
    for ligne in plateau:
        if all([case == joueur for case in ligne]):
            return True
    # Vérifie les colonnes
    for col in range(3):
        if all([plateau[row][col] == joueur for row in range(3)]):
            return True
    # Vérifie les diagonales
    if all([plateau[i][i] == joueur for i in range(3)]) or \
       all([plateau[i][2-i] == joueur for i in range(3)]):
       return True
    return False

def jeu_morpion():
    plateau = [[" " for _ in range(3)] for _ in range(3)]
    joueur_actif = "X"
    
    for tour in range(9):
        afficher_plateau(plateau)
        print(f"Joueur {joueur_actif}, à votre tour. Choisissez une position (ligne colonne):")
        
        while True:
            try:
                l, c = map(int, input().split())
                if 0 <= l < 3 and 0 <= c < 3 and plateau[l][c] == " ":
                    break
                else:
                    print("Position non valide ou déjà occupée.")
            except ValueError:
                print("Entrée invalide. Utilisez 'ligne colonne'.")
        
        plateau[l][c] = joueur_actif
        if verifier_gagnant(plateau, joueur_actif):
            afficher_plateau(plateau)
            print(f"Joueur {joueur_actif} gagne!")
            return
        joueur_actif = "O" if joueur_actif == "X" else "X"
    
    afficher_plateau(plateau)
    print("Match nul!")

jeu_morpion()

Explications par Parties

  1. afficher_plateau :
def afficher_plateau(plateau):
    # ... (code pour afficher le plateau de jeu)

  • Affiche le plateau de jeu avec les symboles "X" et "O" ou des espaces.
  1. verifier_gagnant :
def verifier_gagnant(plateau, joueur):
    # ... (logique pour vérifier si un joueur a gagné)

  • Vérifie si le joueur actif a aligné trois de ses symboles.
  1. jeu_morpion :
    • Fonction principale qui gère le jeu :
      • Initialise le plateau.
      • Alternance des tours entre "X" et "O".
      • Gère les entrées de l'utilisateur, vérifie les positions valides.
      • Vérifie la victoire ou l'égalité après chaque tour.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *