From e075f9e205afd5015d61a10b4016398a5615eedb Mon Sep 17 00:00:00 2001 From: lucieho Date: Wed, 8 Mar 2017 09:38:59 +0100 Subject: [PATCH] Create 8tours_et_globale --- parties/8tours_et_globale | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 parties/8tours_et_globale diff --git a/parties/8tours_et_globale b/parties/8tours_et_globale new file mode 100644 index 0000000..40bf5ca --- /dev/null +++ b/parties/8tours_et_globale @@ -0,0 +1,37 @@ +def partie8tours((x,y),Grille): #x, y sont les coordonnées du joueur + """ coord*Grille -> """ + 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 (x,y)!=(0,0): + partie1v1 ((x,y), (x+i,y+j)) + +def partie_globale(Grille): + """ Grille -> Grille""" + + global HistoriqueGrilles + HistoriqueGrilles += [Grille] + + for i in range(len(Grille)): + for j in range(len(Grille)[0]): + partie8tours(i,j) + + # Changement des stratégies + copie_grille = numpy.copy(Grille) + + for x in range(len(copie_grille)): #on parcourt une copie de la grille pour avoir accès aux anciennes stratégies et non pas aux nouvelles adoptées + for y in range(len(copie_grille)[0]): #(x,y) : joueur dont on va modifier la stratégie, si besoin + min_prison = joueur["annees_de_prison"] + new_strat = joueur["strategie"] + for i in range (-1,2): + for j in range (-1,2): #(i,j) : adversaires autour de (x,y) + (i,j) = adversaire + if min_prison > adversaire["annees_de_prison"]: + new_strat = adversaire["strategie"] + global Grille + Grille[x][y]["strategie"] = new_strat #on modifie la stratégie du joueur dans la Grille et pas dans la copie + + # Réinitialisation du nb d'années de prison + for j in range(len(Grille)[0]): + Grille[i][j]['annees_de_prison'] = 0 + + return Grille