1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| def StadeN(pa):
""" Fonction qui détermine le prochain stade de la grille Reçoit le ZoneDeJeu actuel (au stade n) qui contient l'état de toutes les cellules Renvoie le ZoneDeJeu au stade n+1 selon les règles du ZoneDeJeu de la vie """
a = len(pa[0])
nextState = [[0 for i in range(a)] for j in range(len(pa))]
for i in range(len(pa)):
for j in range(len(pa[0])):
nbvoisines = 0
for k in range(-1, 2):
for l in range(-1, 2):
if (i+k>=0 and i+k<=len(pa)-1) and (j+l>=0 and j+l<=a-1) and (k!=0 or l!=0):
if pa[i+k][j+l] == 1:
nbvoisines += 1
if pa[i][j] == 0 and nbvoisines == 3:
nextState [i][j] = 1
if pa[i][j] == 1 and (nbvoisines == 2 or nbvoisines == 3):
nextState[i][j] = 1
return nextState |
Partager