Commit 3c38d204 authored by Jéhoiakim KINGNE's avatar Jéhoiakim KINGNE
Browse files

Population Rize à bien définir

parent 7aaa0235
......@@ -136,19 +136,23 @@ pixelOutOfRize.append([4433,2109])
pixelOutOfRize.append([[4434,j] for j in range(2105,2110)])
pixelOutOfRize.append([[4435,j] for j in range(2104,2110)])
for i in range(4422,4436): #pixels de rize
for j in range(2103,2218):
if [i,j] not in pixelOutOfRize:
graphe[j//15][i//15][0]+=(-getPopXY((i,j)))
graphe[j//15][i//15][2][0]=getPopXY((i,j))
print([i,j], 'pixel de Rize')
graphe[j//15][i//15][2][0]=graphe[j//15][i//15][0]
graphe[j//15][i//15][0]=0
if graphe[j//15][i//15][0] != 0:
print([i,j], graphe[j//15][i//15][0], 'pop')
print(len(graphe), 'taille graphe')
print(neighbors((2128//15, 4434//15),(heigth,width)))
#Exemple de cellule à Rize : (4435, 2150), (4434, 2128)
print(graphe[2214//15][4435//15], graphe[2215//15][4435//15], 'Rize au début')
#On fait viellir les zombies grâce à cette fonction
......@@ -176,6 +180,12 @@ def zombies_repartition(zombies, N): #N is the number of zombies that we want to
return repartition
#Zombies présents dans une cellule
def enteredZombies(zombiesList):
return sum(zombiesList)
#STEP ONE
......@@ -207,14 +217,71 @@ def stepOne(graphe):
for ind in range(len(repartition)):
graphe[k[0]][k[1]][2][ind] = graphe[k[0]][k[1]][2][ind] + repartition[ind]
#Après ça on fait vieillir tout le monde
#Maintenant on fait vieillir tout le monde
for i in range(len(graphe)):
for j in range(len(graphe[i])):
getZombiesOlder(graphe[i][j][2])
return graphe
#STEP TWO
def stepTwo(graphe):
updatedGraph = stepOne(graphe)
for i in range(len(updatedGraph)):
for j in range(len(updatedGraph[i])):
potentialKilledHuman = 10*enteredZombies(updatedGraph[i][j][2]) #Nombre d'humains potentiels qui seront tués
if potentialKilledHuman >= updatedGraph[i][j][0]: #Si on a moins d'humains que le nombre potentiel à détruire alors ils sont tous tués
newZombies = updatedGraph[i][j][0] #Et on la transforme en zombies
updatedGraph[i][j][2][0] = newZombies #Ils sont tous agés de 0 jour (ces nouveaux zombies).
updatedGraph[i][j][0] = 0 #L'ancienne population est détruite
if potentialKilledHuman < updatedGraph[i][j][0]:#Si on a plus d'humains que le nombre potentiel à détruire alors on en conserve une partie
newZombies = potentialKilledHuman
updatedGraph[i][j][2][0] = newZombies
updatedGraph[i][j][0] = updatedGraph[i][j][0] - potentialKilledHuman
return updatedGraph
#STEP THREE
def stepThree(graphe):
updatedGraph = stepTwo(graphe)
for i in range(len(updatedGraph)):
for j in range(len(updatedGraph[i])):
potentialKilledZombies = 10*updatedGraph[i][j][0]
if potentialKilledZombies >= enteredZombies(updatedGraph[i][j][2]): #On regarde si les zombies potentiels qui seront tués sont plus nombreux que ceux déjà présents
updatedGraph[i][j][2] = [0 for i in range(15)] #si c'est le cas on s'en débarasse
if potentialKilledZombies < enteredZombies(updatedGraph[i][j][2]): #Si on a plus de zombies que le nombre potentiel à tuer on conserve une partie
#On va répartir les zombies à tuer selon la quantité présente par tranche d'âge
killedZombiesRepartition = zombies_repartition(updatedGraph[i][j][2], potentialKilledZombies)
for i in range(len(updatedGraph[i][j][2])):
updatedGraph[i][j][2][i] = updatedGraph[i][j][2][i] - killedZombiesRepartition[i] #On retire les zombies à tuer et on conserve le reste
return updatedGraph
updatedGraph = stepThree(graphe)
print(updatedGraph[2214//15][4435//15], updatedGraph[2215//15][4435//15], 'Rize après un jour')
#20 Itérations
'''updatedGraph = graphe
for k in range(500):
updatedGraph = stepThree(updatedGraph)
print(updatedGraph)'''
return 'Game Over'
print(stepOne(graphe), 'Game Over')
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment