Update ARE-DYNAMIC.py
This commit is contained in:
parent
2efb8dbaeb
commit
8b8eda50e0
|
@ -97,6 +97,10 @@ def saisir_les_pourcentages():
|
|||
Entry(fenetre, textvariable=per2, width=3).grid(row=11, column=1)
|
||||
Label(fenetre, text ="% stratégie3:").grid(row=12, column=0)
|
||||
Entry(fenetre, textvariable=per3, width=3).grid(row=12, column=1)
|
||||
Label(fenetre, text ="% stratégie4:").grid(row=13, column=0)
|
||||
Entry(fenetre, textvariable=per4, width=3).grid(row=13, column=1)
|
||||
Label(fenetre, text ="% stratégie5:").grid(row=14, column=0)
|
||||
Entry(fenetre, textvariable=per5, width=3).grid(row=14, column=1)
|
||||
|
||||
#####################################
|
||||
# Types:
|
||||
|
@ -450,6 +454,30 @@ def strat_meilleur_gain (joueur, adversaire):
|
|||
nveau_etat = Grille[i][j]['etat']
|
||||
return nveau_etat
|
||||
|
||||
def strat_tit_for_tat(joueur, adversaire):
|
||||
"""
|
||||
coopérer tant que l'autre joueur est coopératif, à la première trahison
|
||||
reproduire à chaque fois le comportement de l'adversaire du coup précédent
|
||||
"""
|
||||
for i in adversaire['historique_etats']:
|
||||
if i == 1:
|
||||
return adversaire['historique_etats'][len(adversaire['historique_etats'])-1]
|
||||
return 0
|
||||
|
||||
def strat_tit_for_tat_sorry(joueur, adversaire):
|
||||
"""
|
||||
coopérer tant que l'autre joueur est coopératif, à la première trahison
|
||||
reproduire à chaque fois le comportement de l'adversaire du coup précédent,
|
||||
avec en plus une proba de 5% de coopérer après une défection : un peu d'espoir !
|
||||
"""
|
||||
for i in adversaire['historique_etats']:
|
||||
if i == 1:
|
||||
tirage = random.random()
|
||||
if tirage <= 0.05:
|
||||
return 0
|
||||
return adversaire['historique_etats'][len(adversaire['historique_etats'])-1]
|
||||
return 0
|
||||
|
||||
######################
|
||||
#INTERFACE GRAPHIQUE UTILISATEUR (GUI)
|
||||
######################
|
||||
|
@ -481,6 +509,7 @@ per1=DoubleVar()
|
|||
per2=DoubleVar()
|
||||
per3=DoubleVar()
|
||||
per4=DoubleVar()
|
||||
per5=DoubleVar()
|
||||
|
||||
def affichage_fenetre_infos():
|
||||
"""
|
||||
|
@ -517,7 +546,7 @@ def affichage_combobox():
|
|||
"""
|
||||
global Strat
|
||||
Label(fenetre, text="Stratégie n°").grid(row=5, column=0, sticky=E)
|
||||
Combobox(fenetre, textvariable=Strat, values=(0, 1, 2, 3), width=3).grid(row=5, column=1, sticky=W)
|
||||
Combobox(fenetre, textvariable=Strat, values=(0, 1, 2, 3, 4, 5), width=3).grid(row=5, column=1, sticky=W)
|
||||
|
||||
def Interface():
|
||||
"""
|
||||
|
@ -563,7 +592,7 @@ def fermeture():
|
|||
"""
|
||||
global ListePourcents
|
||||
|
||||
ListePourcents=[per0.get(), per1.get(), per2.get(), per3.get(), per4.get()]
|
||||
ListePourcents=[per0.get(), per1.get(), per2.get(), per3.get(), per4.get(), per5()]
|
||||
fenetre.quit()
|
||||
|
||||
###############################################################################
|
||||
|
@ -588,8 +617,8 @@ def init_complete():
|
|||
ListeStrategies.append(strat_toujours_avouer) # 1
|
||||
ListeStrategies.append(strat_precedent_adversaire) # 2
|
||||
ListeStrategies.append(strat_principal_adversaire) # 3
|
||||
# ListeStrategies.append(strat_altern) #
|
||||
# ListeStrategies.append(strat_meilleur_gain) #
|
||||
ListeStrategies.append(strat_tit_for_tat) # 4
|
||||
ListeStrategies.append(strat_tit_for_tat_sorry) # 5
|
||||
|
||||
global Grille
|
||||
global StratsResultats
|
||||
|
|
Loading…
Reference in New Issue