ARE_Dynamic_2017/parties/8tours_et_globale.py

38 lines
1.6 KiB
Python
Raw Normal View History

2017-03-08 09:38:59 +01:00
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