Small little game of life implementation for the numworks
from kandinsky import * from random import randint h = 100 w = 100 b = [0]*(w*h) t = 1 for x in range(w): for y in range(h): b[x+y*w] = randint(0,1) def tick(): global t for x in range(w): for y in range(h): i = x+y*w n = ( (b[(x-1)%w+((y-1)%h)*w]&t)>>(t-1) ) + ( (b[x+((y-1)%h)*w]&t)>>(t-1) ) + ( (b[(x+1)%w+((y-1)%h)*w]&t)>>(t-1) ) + ( (b[(x-1)%w+(y%h)*w]&t)>>(t-1) ) + ( (b[(x+1)%w+(y%h)*w]&t)>>(t-1) ) + ( (b[(x-1)%w+((y+1)%h)*w]&t)>>(t-1) ) + ( (b[x%w+((y+1)%h)*w]&t)>>(t-1) ) + ( (b[(x+1)%w+((y+1)%h)*w]&t)>>(t-1) ) s = b[i]&t b[i] &= t|4 b[i] |= (n==3 or (s and n==2)) << (2-t) t = 3-t def render(): for x in range(w): for y in range(h): i = x+y*w v = (1-((b[i]&t)>>(t-1)))*255 if b[i]&4 != b[i]&t: set_pixel(x,y,(v,v,v)) b[i] = (b[i]&3)|((b[i]&t)<<(3-t)) render() while True: tick() render()