diff --git a/ARE-DYNAMIC.py b/ARE-DYNAMIC.py index 7c89c2d..2e767ce 100644 --- a/ARE-DYNAMIC.py +++ b/ARE-DYNAMIC.py @@ -473,6 +473,22 @@ def strat_principal_adversaire(joueur, adversaire): else: return 0 + +def strat_meilleur_gain (joueur, adversaire): + """ + Joueur^2 -> int + Index : 5 + Le joueur adopte l'état de l'adversaire ayant obtenu le meilleur gain (= le moins d'années de prison) + """ + max_gain = joueur['annees_de_prison'] + nveau_etat = joueur['etat'] + for i in range (-1,2): + for j in range (-1,2): #(i,j) sont les coordonnées de l'adversaire + if (0 <= x+i and x+i < len(Grille)) and (0 <= y+j and y+j < len(Grille[0])) and i != 0 and j != 0: + if Grille[i][j]['annees_de_prison'] < max_gain : + max_gain = Grille[i][j]['annees_de_prison'] + nveau_etat = Grille[i][j]['etat'] + return nveau_etat ###################### #INTERFACE GRAPHIQUE UTILISATEUR (GUI) @@ -572,6 +588,7 @@ def init_complete(): ListeStrategies.append(strat_altern) # 2 ListeStrategies.append(strat_precedent_adversaire) # 3 ListeStrategies.append(strat_principal_adversaire) # 4 + ListeStrategies.append(strat_meilleur_gain) # 5 global Grille global StratsResultats