Update ARE-DYNAMIC.py
This commit is contained in:
parent
c027872150
commit
6fd0d79676
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue