Update ARE-DYNAMIC.py

This commit is contained in:
julianb0 2017-03-15 11:51:33 +01:00 committed by GitHub
parent c027872150
commit 6fd0d79676
1 changed files with 29 additions and 22 deletions

View File

@ -66,6 +66,9 @@ StratParDefaut = 0
# affichage dynamique
AffichageDynamique = True
# nécessaire pour matrice_init_pourcents_choisis()
ListePourcents = list()
"""
Types:
@ -118,15 +121,15 @@ def partie1v1(joueur, adversaire):
# avoue-avoue
ans_prison = (5, 5)
(StratsResultats[joueur["strategie"]])[0] += 1
(StratsResultats[joueur["strategie"]])[1] += ans_prison[0]
(StratsResultats[adversaire["strategie"]])[0] += 1
(StratsResultats[adversaire["strategie"]])[1] += ans_prison[1]
StratsResultats[joueur["strategie"]][0] += 1
StratsResultats[joueur["strategie"]][1] += ans_prison[0]
StratsResultats[adversaire["strategie"]][0] += 1
StratsResultats[adversaire["strategie"]][1] += ans_prison[1]
(StratsResultats[joueur["strategie"]])[2][Iteration][1] += 1
(StratsResultats[joueur["strategie"]])[2][Iteration][2] += ans_prisons[0]
(StratsResultats[adversaire["strategie"]])[2][Iteration][1] += 1
(StratsResultats[adversaire["strategie"]])[2][Iteration][2] += ans_prisons[0]
StratsResultats[joueur["strategie"]][2][Iteration][1] += 1
StratsResultats[joueur["strategie"]][2][Iteration][2] += ans_prison[0]
StratsResultats[adversaire["strategie"]][2][Iteration][1] += 1
StratsResultats[adversaire["strategie"]][2][Iteration][2] += ans_prison[0]
joueur["annees_de_prison"] += ans_prison[0]
adversaire["annees_de_prison"] += ans_prison[1]
@ -295,28 +298,26 @@ def matrice_init_equitable():
return matrice
list_pourcent = []
def matrice_init_pourcents_choisis():
"""
list[float] -> array
list_pourcent contient des float de 0.0 à 1.0.
ListePourcents contient des float de 0.0 à 1.0.
Crée la matrice des joueurs tel que le pourcentage de
chaque stratégie est choisi. Les états initiaux sont
choisis aléatoirement.
"""
if (len(list_pourcent) != len(ListeStrategies)):
if (len(ListePourcents) != len(ListeStrategies)):
print("Erreur: matrice_init_pourcents_choisis: liste_pourcent est de taille incorrecte!")
matrice_strat = np.full((TailleGrilleX, TailleGrilleY), -1, dtype=int)
list_nb_joueurs_de_chaque = list()
for i in range(len(list_pourcent)):
list_nb_joueurs_de_chaque.append((TailleGrilleX*TailleGrilleY)*list_pourcent[i])
for i in range(len(ListePourcents)):
list_nb_joueurs_de_chaque.append((TailleGrilleX*TailleGrilleY)*ListePourcents[i])
places_vides = TailleGrilleX*TailleGrilleY
for e in range(len(list_pourcent)):
for e in range(len(ListePourcents)):
count_joueurs = 0
while count_joueurs <= list_nb_joueurs_de_chaque[e]:
@ -333,7 +334,7 @@ def matrice_init_pourcents_choisis():
for i in range(TailleGrilleY): #on vérifie qu'il n'y a pas d'index vides
for j in range(TailleGrilleX): #si oui, on le rempli avec une strat aléatoire
if matrice_strat[i][j] == 0:
matrice_strat[i][j] = random.randint(0, len(list_pourcent))
matrice_strat[i][j] = random.randint(0, len(ListePourcents))
matrice = matrice_init_vide()
@ -439,11 +440,16 @@ def init_complete():
global Grille
global StratsResultats
for i in range(len(ListeStrategies)):
StratsResultats.append([0, 0, list()])
Grille = gen_matrice_initiale()
for i in range(len(ListeStrategies)):
StratsResultats.append([0, 0, [ [0, 0, 0] ]])
for x in range(TailleGrilleX):
for y in range(TailleGrilleY):
if Grille[x][y]["strategie"] == i:
StratsResultats[i][2][0][0] += 1
return Grille
def simulation():
global Iteration
@ -465,11 +471,13 @@ def simulation():
for x in range(TailleGrilleX):
for y in range(TailleGrilleY):
if Grille[x][y]["strategie"] == i:
StratsResultats[i][2][Iteration][0] += 1
return Grille
init_complete()
"""
def _ext(M):
K = np.ndarray((TailleGrilleX, TailleGrilleY))
@ -479,8 +487,7 @@ def _ext(M):
K[x][y] = M[x][y]["strategie"]
return K
print(_ext(simulation()))
"""
init_complete()
simulation()