38 lines
1.6 KiB
Python
38 lines
1.6 KiB
Python
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
|