Add files via upload

This commit is contained in:
NicolasBSN 2017-03-01 12:07:42 +01:00 committed by GitHub
parent db52248096
commit 698a3d086f
1 changed files with 113 additions and 0 deletions

View File

@ -0,0 +1,113 @@
import matplotlib.pyplot as plt; plt.rcdefaults()
import numpy as np
import matplotlib.pyplot as plt
TailleGrilleX = 15
TailleGrilleY = 15
GrilleInitiale = 0
HistoriqueGrille = list()
StratsResultats = list()
def recup_mat(matrice, param):
""" array*str-> array
Récupère la matrice avec seulement le paramètre (état,strat,années de prison) voulu afin de pouvoir avoir les stats plus facilement"""
matR = np.random.randint(0,1,TailleGrilleX,TailleGrilleY)
for ligne in range (0,TailleGrilleX): #int ligne
for colonne in range (0, TailleGrilleY): #int colonne
for p in matrice[ligne,colonne]:
if p==param:
matR[ligne,colonne]=dict[param]
return matR
def bar_chart():
"""array->graph
Retourne le diagramme en baton qui met en évidence le nombre d'années de prison en fonction de la stratégie. et
celui qui met en évidence la proportion des stratégies.
Ils sont mis à jour à chaque fos que tous les éléments de la grille ont fait leur 8 parties locales"""
matStrat=recup_mat(matrice,'strategie')
matGain=recup_mat(matrice,'annees_de_prison')
#initialisation des paramètres
strat0=0
strat1=0
strat2=0
strat3=0
strat4=0
strat5=0
gain0=0
gain1=0
gain2=0
gain3=0
gain4=0
gain5=0
for ligne in range (0,TailleGrilleX):
for colonne in range(0, TailleGrilleY):
if matStrat[ligne,colonne]==0:
strat0=strat0+1
gain0=gain0+matGain[ligne,colonne]
elif matStrat[ligne,colonne]==1:
strat1=strat1+1
gain1=gain1+matGain[ligne,colonne]
elif matStrat[ligne,colonne]==2:
strat2=strat2+1
gain2=gain2+matGain[ligne,colonne]
elif matStrat[ligne,colonne]==3:
strat3=strat3+1
gain3=gain3+matGain[ligne,colonne]
elif matStrat[ligne,colonne]==4:
strat4=strat4+1
gain4=gain4+matGain[ligne,colonne]
else :
strat5=strat5+1
gain5=gain5+matGain[ligne,colonne]
Strat=('1','2', '3','4' ,'5','6')
x_pos = np.arange(len(Strat))
gain=[gain0,gain1,gain2,gain3,gain4,gain5]
plt.bar(x_pos, gain, align='center', color='b' )
plt.xlabel("Stratégies")
plt.ylabel("Nombre d'années de prison")
plt.xticks(x_pos,Strat)
plt.show()
return matGain