Suite à la mise à jour du simulateur en ligne, l’espace entre 2 colonnes doit être de 9 plutôt que 8, sinon une partie du symbole est effacée.
from kandinsky import draw_string from random import randint a = 23 #222//8=27 b = 35 #320//9=35 A = range(a) B = range(b) Liste = [[0 for col in B] for lig in A] for lig in A: for col in B: Liste[lig][col] = randint(0,1) if Liste[lig][col] == 1: draw_string(chr(176),9*col,8*lig+2,'blue') Nouv = [[0 for col in B] for lig in A] Age = [[0 for col in B] for lig in A] for gen in range(50): for i in A: for j in B: Voisins = 0 for k in [-1,0,1]: for l in [-1,0,1]: if [k,l] != [0,0]: Voisins += Liste[(i+k)%a][(j+l)%b] if Voisins == 3 or ( Liste[i][j] == 1 and Voisins == 2 ): Nouv[i][j] = 1 Age[i][j] += Liste[i][j] couleur = (min(50*Age[i][j],255),0,max(0,255-50*Age[i][j])) else: Nouv[i][j] = 0 Age[i][j] = 0 couleur = 'white' if Liste[i][j]+Nouv[i][j] > 0: draw_string(chr(176),9*j,8*i+2,couleur) Liste = [[Nouv[m][n] for n in B] for m in A]