import numpy as n,pygame as p q=(999,)*2 b=n.random.rand(*q)>.3 t=p.display r=n.roll o=p.surfarray.pixels2d(t.set_mode(q)) while 1: w=sum(r(r(b,a,0),c,1)for a in[-1,0,1]for c in[-1,0,1]) b=b&((w==3)|(w==4))|((~b)*(w==3)) o[:,:]=0-b t.flip()