From 538caca3d3ecb6b60c2baf6cb36bd61faced6826 Mon Sep 17 00:00:00 2001 From: julianb0 Date: Wed, 1 Mar 2017 11:26:39 +0100 Subject: [PATCH] Update ARE-DYNAMIC.py --- ARE-DYNAMIC.py | 78 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 76 insertions(+), 2 deletions(-) diff --git a/ARE-DYNAMIC.py b/ARE-DYNAMIC.py index 3d213ea..d515054 100644 --- a/ARE-DYNAMIC.py +++ b/ARE-DYNAMIC.py @@ -4,7 +4,7 @@ ### ### Auteurs: ### julianb (3670170) -### lucieho () +### lucieho (3671067) ### nicolasbsn () ### constancepoulain () ### @@ -142,6 +142,73 @@ def init_liste_gen_grilles(): ####################### ### 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 l’adversaire avait majoritairement avoué/nié durant ses parties précédentes (on utilise l'hisorique des états) + Si aucun état n’est majoritaire, la coopération l’emporte (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(): """ @@ -149,4 +216,11 @@ def init_liste_strategies(): 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 + +###############################################################################