Un article sur cet automate : https://www.miximum.fr/blog/jouons-avec-les-automates-cellulaires-en-javascript/
Descriptions des règles suivant le numéro : http://atlas.wolfram.com/01/01/rulelist.html
Exemples de résultats :
>> life(30)
(on part d’un seul point central et on applique la règle n°30)
>> life(90)
>> life(184,1)
(on met “1” en second paramètre si on veut un tirage aléatoire pour la première ligne)
from random import * from kandinsky import * BL = (255,255,255) def life(v, a=0): if a==0: set_pixel(160,0,(0,0,0)) else: for c in range(320): if random()<.5 : set_pixel(c,0,(0,0,0)) r =[BL]*8 for i in range(8): r[i] *= 1 - (v>>i & 1) for l in range(240): for c in range(1,319): g = get_pixel(c-1,l) m = get_pixel(c,l) d = get_pixel(c+1,l) s = 4*(g==0)+2*(m==0)+(d==0) set_pixel(c,l+1,r[s])