from gpanel import * import random import time width = 40 vecs = [[1,0],[0,1],[-1,0],[0,-1]] makeGPanel(0, width, 0, width) # Array mit Distanzen fuer alle Punkte, gefuellt mit -1 dist = [[-1 for y in range(width)] for x in range(width)] for i in range(800): x=random.randint(1,width-1) y=random.randint(1,width-1) fillRectangle(x,y,x+1,y+1) todo=[(0,0)] dist[0][0] = 0 waitTime = 0.002 maxDist = 0 setColor("red") while len(todo)>0: #waitTime*=0.99 #print(todo) pt = todo.pop(0) #vorne entfernen aktuelle_d = dist[pt[0]][pt[1]] if aktuelle_d>maxDist: maxDist = aktuelle_d setColor("blue") move(pt[0]+0.5, pt[1]+0.5) fillRectangle(0.5,0.5) time.sleep(waitTime) for d in range(4): p = (pt[0]+vecs[d][0], pt[1]+vecs[d][1]) if (p[0]>=0 and p[0]=0 and p[1]=0: setColor(dist[x][y]/maxDist*255,255-dist[x][y]/maxDist*255,0) fillRectangle(0.5,0.5) else: setColor("black") fillRectangle(1,1)