#Exemple de cellule à Rize : (4435, 2150), (4434, 2128)
#On fait viellir les zombies grâce à cette fonction
defgetZombiesOlder(zombiesList):
foriinrange(15):
zombiesList[14-i]=zombiesList[13-i]
zombiesList[0]=0
#Sera utile pour vérifier si oui ou non une cellule contient des zombies : prend en paramètre la liste du nombre de zombies d'une cellule classés par âge
defare_they_zombies(zombies):
boolean=0
foriinzombies:
ifi!=0:
boolean=1
returnboolean
"""def getGraphOlder(graphe):
for i in range(newWidth):
for j in range(newHeigth):"""
defzombies_repartition(zombies,N):#N is the number of zombies that we want to affect to a neighboring cell
repartition=[]#This repartition is done giving the age of the zombies
foriinzombies:
repartition.append((i//sum(zombies))*N)
returnrepartition
#STEP ONE
defstepOne(graphe):
#On parcourt la liste de toutes les cellules et on regarde pour chacune d'elle s'il y a des zombies si oui on les répartis dans les cellules voisines
foriinrange(len(graphe)):
forjinrange(len(graphe[i])):
ifare_they_zombies(graphe[i][j][2])==1:#Cela signifie qu'on a bien des zombies dans cette cellule
neighbor=neighbors((i,j),(len(graphe[0]),len(graphe)))#On récupère les cellules voisines
neighbors_population=0
forninneighbor:
neighbors_population+=graphe[n[0]][n[1]][0]#On récupère la population totale de nos voisins
possible_neighbors=[]#Cette liste ne contiendra uniquement les voisins succeptibles d'être contaminés
lambdab_possible_neighbors=[]
forkinneighbor:
iflambdad(graphe,(i,j),k)!=0:
possible_neighbors.append(k)
lambdab_possible_neighbors.append(lambdad(graphe,(i,j),k))#On est en possession des voisins contaminables et des coefficients correspondants
forkinpossible_neighbors:#We compute the number of zombies going to a neighboring cell