coucou
This commit is contained in:
parent
8a9bb79119
commit
5e54410555
10
app.py
10
app.py
@ -96,7 +96,7 @@ def calculer_xor(etat_jeu):
|
|||||||
xor_total ^= tas
|
xor_total ^= tas
|
||||||
return xor_total
|
return xor_total
|
||||||
|
|
||||||
# Stratégie gagnante pour l'IA
|
# Stratégie gagnante pour l'IA (corrigée)
|
||||||
def strategie_gagnante(etat_jeu):
|
def strategie_gagnante(etat_jeu):
|
||||||
xor_total = calculer_xor(etat_jeu)
|
xor_total = calculer_xor(etat_jeu)
|
||||||
|
|
||||||
@ -108,11 +108,15 @@ def strategie_gagnante(etat_jeu):
|
|||||||
else:
|
else:
|
||||||
# Stratégie gagnante : trouver le tas à modifier
|
# Stratégie gagnante : trouver le tas à modifier
|
||||||
for i, tas in enumerate(etat_jeu):
|
for i, tas in enumerate(etat_jeu):
|
||||||
|
# Calculer ce qu'il reste si on change ce tas pour atteindre un XOR de 0
|
||||||
target = tas ^ xor_total
|
target = tas ^ xor_total
|
||||||
if target < tas:
|
if target < tas:
|
||||||
return appliquer_mouvement(etat_jeu, i, tas - target), i + 1, tas - target
|
nb_a_retirer = tas - target
|
||||||
|
if nb_a_retirer > 0 and nb_a_retirer <= 3: # Vérifier qu'on retire entre 1 et 3 objets
|
||||||
|
return appliquer_mouvement(etat_jeu, i, nb_a_retirer), i + 1, nb_a_retirer
|
||||||
|
|
||||||
return None, None, None # Aucun mouvement possible
|
# Si aucun mouvement n'est possible (ce qui ne devrait jamais arriver), renvoyer None
|
||||||
|
return None, None, None
|
||||||
|
|
||||||
# Fonction pour sauvegarder l'historique dans un fichier CSV, format sur une seule ligne
|
# Fonction pour sauvegarder l'historique dans un fichier CSV, format sur une seule ligne
|
||||||
def sauvegarder_historique(date_partie, vainqueur, historique, fichier="historique_parties.csv"):
|
def sauvegarder_historique(date_partie, vainqueur, historique, fichier="historique_parties.csv"):
|
||||||
|
Loading…
Reference in New Issue
Block a user