Update ARE-DYNAMIC.py

This commit is contained in:
julianb0 2017-03-01 11:26:39 +01:00 committed by GitHub
parent 9718f671bc
commit 538caca3d3
1 changed files with 76 additions and 2 deletions

View File

@ -4,7 +4,7 @@
### ###
### Auteurs: ### Auteurs:
### julianb (3670170) ### julianb (3670170)
### lucieho () ### lucieho (3671067)
### nicolasbsn () ### nicolasbsn ()
### constancepoulain () ### constancepoulain ()
### ###
@ -142,6 +142,73 @@ def init_liste_gen_grilles():
####################### #######################
### Fonction stratégies ### Fonction stratégies
def strat_toujours_nier(joueur, adversaire):
"""
Joueur^2 -> int
Index: 0
Toujours nier (coopération)
"""
return 0 # 0 : coop
def strat_toujours_avouer(joueur, adversaire):
"""
Joueur^2 -> int
Index: 1
Toujours avouer (trahir)
"""
return 1 #1 : traître
def strat_altern(joueur, adversaire):
"""
Joueur^2 -> int
Index: 2
Le joueur alterne entre nier et avouer
"""
if joueur['etat'] == 0:
return 1
else :
return 0
def strat_precedent_adversaire(joueur, adversaire):
"""
Joueur^2 -> int
Index: 3
Le joueur avoue/nie si durant la partie locale précédente, son adversaire avait avoué/nié (on utilise l'hisorique des états)
"""
return adversaire['historique_etats'][len(adversaire['historique_etats'])-1] == 0
def strat_principal_adversaire(joueur, adversaire):
"""
Joueur^2 -> int
Index: 4
Le joueur avoue/nie si ladversaire avait majoritairement avoué/nié durant ses parties précédentes (on utilise l'hisorique des états)
Si aucun état nest majoritaire, la coopération lemporte (le joueur nie)
"""
s = 0 # somme des entiers représentant les états
for i in adversaire['historique_etat']:
s += i
if len(adversaire['historique_etat']) == 0:
return 0
elif (s/len(adversaire['historique_etat'])) > 0.5:
return 1
else:
return 0
def init_liste_strategies(): def init_liste_strategies():
""" """
@ -149,4 +216,11 @@ def init_liste_strategies():
Rajoute à ListeStrategies toutes les fonctions stratégies Rajoute à ListeStrategies toutes les fonctions stratégies
""" """
pass
ListeStrategies[0] = strat_toujours_nier
ListeStrategies[1] = strat_toujours_avouer
ListeStrategies[2] = strat_altern
ListeStrategies[3] = strat_precedent_adversaire
ListeStrategies[4] = strat_principal_adversaire
###############################################################################