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
- 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.
- 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.
- 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.
- Fonction principale qui gère le jeu :