Update ARE-DYNAMIC.py
This commit is contained in:
parent
c027872150
commit
6fd0d79676
|
@ -66,6 +66,9 @@ StratParDefaut = 0
|
||||||
# affichage dynamique
|
# affichage dynamique
|
||||||
AffichageDynamique = True
|
AffichageDynamique = True
|
||||||
|
|
||||||
|
# nécessaire pour matrice_init_pourcents_choisis()
|
||||||
|
ListePourcents = list()
|
||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Types:
|
Types:
|
||||||
|
@ -118,15 +121,15 @@ def partie1v1(joueur, adversaire):
|
||||||
# avoue-avoue
|
# avoue-avoue
|
||||||
ans_prison = (5, 5)
|
ans_prison = (5, 5)
|
||||||
|
|
||||||
(StratsResultats[joueur["strategie"]])[0] += 1
|
StratsResultats[joueur["strategie"]][0] += 1
|
||||||
(StratsResultats[joueur["strategie"]])[1] += ans_prison[0]
|
StratsResultats[joueur["strategie"]][1] += ans_prison[0]
|
||||||
(StratsResultats[adversaire["strategie"]])[0] += 1
|
StratsResultats[adversaire["strategie"]][0] += 1
|
||||||
(StratsResultats[adversaire["strategie"]])[1] += ans_prison[1]
|
StratsResultats[adversaire["strategie"]][1] += ans_prison[1]
|
||||||
|
|
||||||
(StratsResultats[joueur["strategie"]])[2][Iteration][1] += 1
|
StratsResultats[joueur["strategie"]][2][Iteration][1] += 1
|
||||||
(StratsResultats[joueur["strategie"]])[2][Iteration][2] += ans_prisons[0]
|
StratsResultats[joueur["strategie"]][2][Iteration][2] += ans_prison[0]
|
||||||
(StratsResultats[adversaire["strategie"]])[2][Iteration][1] += 1
|
StratsResultats[adversaire["strategie"]][2][Iteration][1] += 1
|
||||||
(StratsResultats[adversaire["strategie"]])[2][Iteration][2] += ans_prisons[0]
|
StratsResultats[adversaire["strategie"]][2][Iteration][2] += ans_prison[0]
|
||||||
|
|
||||||
joueur["annees_de_prison"] += ans_prison[0]
|
joueur["annees_de_prison"] += ans_prison[0]
|
||||||
adversaire["annees_de_prison"] += ans_prison[1]
|
adversaire["annees_de_prison"] += ans_prison[1]
|
||||||
|
@ -295,28 +298,26 @@ def matrice_init_equitable():
|
||||||
|
|
||||||
return matrice
|
return matrice
|
||||||
|
|
||||||
list_pourcent = []
|
|
||||||
|
|
||||||
def matrice_init_pourcents_choisis():
|
def matrice_init_pourcents_choisis():
|
||||||
"""
|
"""
|
||||||
list[float] -> array
|
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
|
Crée la matrice des joueurs tel que le pourcentage de
|
||||||
chaque stratégie est choisi. Les états initiaux sont
|
chaque stratégie est choisi. Les états initiaux sont
|
||||||
choisis aléatoirement.
|
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!")
|
print("Erreur: matrice_init_pourcents_choisis: liste_pourcent est de taille incorrecte!")
|
||||||
|
|
||||||
matrice_strat = np.full((TailleGrilleX, TailleGrilleY), -1, dtype=int)
|
matrice_strat = np.full((TailleGrilleX, TailleGrilleY), -1, dtype=int)
|
||||||
|
|
||||||
list_nb_joueurs_de_chaque = list()
|
list_nb_joueurs_de_chaque = list()
|
||||||
for i in range(len(list_pourcent)):
|
for i in range(len(ListePourcents)):
|
||||||
list_nb_joueurs_de_chaque.append((TailleGrilleX*TailleGrilleY)*list_pourcent[i])
|
list_nb_joueurs_de_chaque.append((TailleGrilleX*TailleGrilleY)*ListePourcents[i])
|
||||||
|
|
||||||
places_vides = TailleGrilleX*TailleGrilleY
|
places_vides = TailleGrilleX*TailleGrilleY
|
||||||
for e in range(len(list_pourcent)):
|
for e in range(len(ListePourcents)):
|
||||||
count_joueurs = 0
|
count_joueurs = 0
|
||||||
|
|
||||||
while count_joueurs <= list_nb_joueurs_de_chaque[e]:
|
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 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
|
for j in range(TailleGrilleX): #si oui, on le rempli avec une strat aléatoire
|
||||||
if matrice_strat[i][j] == 0:
|
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()
|
matrice = matrice_init_vide()
|
||||||
|
|
||||||
|
@ -439,11 +440,16 @@ def init_complete():
|
||||||
global Grille
|
global Grille
|
||||||
global StratsResultats
|
global StratsResultats
|
||||||
|
|
||||||
for i in range(len(ListeStrategies)):
|
|
||||||
StratsResultats.append([0, 0, list()])
|
|
||||||
|
|
||||||
Grille = gen_matrice_initiale()
|
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():
|
def simulation():
|
||||||
global Iteration
|
global Iteration
|
||||||
|
@ -465,11 +471,13 @@ def simulation():
|
||||||
for x in range(TailleGrilleX):
|
for x in range(TailleGrilleX):
|
||||||
for y in range(TailleGrilleY):
|
for y in range(TailleGrilleY):
|
||||||
if Grille[x][y]["strategie"] == i:
|
if Grille[x][y]["strategie"] == i:
|
||||||
|
|
||||||
StratsResultats[i][2][Iteration][0] += 1
|
StratsResultats[i][2][Iteration][0] += 1
|
||||||
|
|
||||||
return Grille
|
return Grille
|
||||||
|
|
||||||
|
|
||||||
|
init_complete()
|
||||||
|
|
||||||
"""
|
"""
|
||||||
def _ext(M):
|
def _ext(M):
|
||||||
K = np.ndarray((TailleGrilleX, TailleGrilleY))
|
K = np.ndarray((TailleGrilleX, TailleGrilleY))
|
||||||
|
@ -479,8 +487,7 @@ def _ext(M):
|
||||||
K[x][y] = M[x][y]["strategie"]
|
K[x][y] = M[x][y]["strategie"]
|
||||||
|
|
||||||
return K
|
return K
|
||||||
|
print(_ext(simulation()))
|
||||||
"""
|
"""
|
||||||
|
|
||||||
init_complete()
|
|
||||||
|
|
||||||
simulation()
|
|
||||||
|
|
Loading…
Reference in New Issue