from kandinsky import draw_string from random import randint a = 37 #222//6=36 b = 53 #320//6=53 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] = 2*randint(0,1) if Liste[lig][col] == 2: draw_string(chr(176),6*col,6*lig-1,'blue') 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] and Liste[(i+k)%a][(j+l)%b]**2 > 3: Voisins += 1 if Voisins == 3 or ( Liste[i][j] > 0 and Voisins == 2 ): Liste[i][j] += 1 #Une cellule tout juste créée est à 1 couleur = 'blue' else: Liste[i][j] *= -1 couleur = 'white' if Liste[i][j] != 0: draw_string(chr(176),6*j,6*i-1,couleur) Liste = [[2*(max(0,Liste[m][n]+2)//3) for n in B] for m in A]