IA contre IA

This commit is contained in:
Florian GENIQUE 2024-10-23 11:48:36 +02:00
parent 948f6278c1
commit 5f6bab8908
2 changed files with 916 additions and 6 deletions

32
nim.py
View File

@ -150,7 +150,7 @@ def jouer_contre_ia():
# Tour de l'utilisateur
afficher_etat(etat_jeu)
tas_index = int(input("Sélectionnez le tas (index) : "))
"""tas_index = int(input("Sélectionnez le tas (index) : "))
nb_objets = int(input("Combien d'objets retirer ? "))
if nb_objets > etat_jeu[tas_index]:
@ -169,15 +169,15 @@ def jouer_contre_ia():
if est_etat_final(etat_jeu):
print("Vous avez gagné !")
enregistrer_resultat({"etat_jeu_initial": etat_jeu_initial, "gagnant": "utilisateur", "historique": historique_actions})
return
return"""
# Tour de l'IA
print("Tour de l'IA...")
print("Tour de l'IA 1...")
etat_jeu = algorithme_a_star(etat_jeu)[1] # IA applique A* et choisit le meilleur mouvement
# Simuler une action de l'IA (ici c'est un exemple, tu devras remplacer cela par un vrai mouvement)
historique_actions.append({
"joueur": "IA",
"joueur": "IA 1",
"tas": 0, # Exemple de tas choisi par l'IA (à adapter)
"objets_retires": 1, # Exemple d'objets retirés par l'IA (à adapter)
"etat_apres": etat_jeu.copy() # Copier l'état après le mouvement
@ -186,8 +186,28 @@ def jouer_contre_ia():
afficher_etat(etat_jeu)
if est_etat_final(etat_jeu):
print("L'IA a gagné !")
enregistrer_resultat({"etat_jeu_initial": etat_jeu_initial, "gagnant": "IA", "historique": historique_actions})
print("L'IA 1 a gagné !")
enregistrer_resultat({"etat_jeu_initial": etat_jeu_initial, "gagnant": "IA 1", "historique": historique_actions})
return
# Tour de l'IA
print("Tour de l'IA 2...")
etat_jeu = algorithme_a_star(etat_jeu)[1] # IA applique A* et choisit le meilleur mouvement
# Simuler une action de l'IA (ici c'est un exemple, tu devras remplacer cela par un vrai mouvement)
historique_actions.append({
"joueur": "IA 2",
"tas": 0, # Exemple de tas choisi par l'IA (à adapter)
"objets_retires": 1, # Exemple d'objets retirés par l'IA (à adapter)
"etat_apres": etat_jeu.copy() # Copier l'état après le mouvement
})
afficher_etat(etat_jeu)
if est_etat_final(etat_jeu):
print("L'IA 2 a gagné !")
enregistrer_resultat({"etat_jeu_initial": etat_jeu_initial, "gagnant": "IA 2", "historique": historique_actions})
return

File diff suppressed because it is too large Load Diff