# 9B import math g.norefresh() g.antialias(0) g.paper(100) g.refresh() rseed = g.getTime(4) def random(): bb = 198621 mm = (98621+g.getTime(4)) bl = (long(rseed)*bb+1) temp = bl%mm return int(temp%100),int(temp) def initstate(): state = [] y = [195, 183, 167, 146, 120, 90, 56, 18] r = [5, 7, 9, 12, 14, 16, 18, 20] r.reverse() for i in y: radius = r.pop() x = 0 for j in range(int(100/radius)+1): state.append((x,i,radius,100)) x = x + 2*radius return state def modState(stateold): state = [] y = [195, 183, 167, 146, 120, 90, 56, 18] r = [5, 7, 9, 12, 14, 16, 18, 20] r.reverse() for i in y: radius = r.pop() x = 0 rnd, rseed = random() rnd = rnd % 10 + 1 for j in range(int(100/radius)+1): rad = int(radius*abs(math.sin(2*math.pi*rnd*float(j+1)/radius))) color = int(50*abs(math.cos(2*math.pi*rnd*float(j+1)/radius))) state.append((x,i,rad,color)) x = x + 2*radius return state def drawFields(listField): for field in listField: x = field[0] y = field[1] r = field[2] color = field[3] xb = x - r + 1 yb = y - r + 1 xt = x + r - 1 yt = y + r - 1 g.field(xb,yb,xt,yt,color) g.setPixel(x,y,100-color) g.refresh() state = initstate() while 1: drawFields(state) state = modState(state) g.paper(100)