#
# Drop a curve
#
#
import math
papercolor = 0
rseed = g.getTime(4)
g.paper(papercolor)
g.norefresh()
g.antialias(1)
def random():
bb = 198621
mm = (98621+g.getTime(4))
bl = (long(rseed)*bb+1)
temp = bl%mm
return int(temp%100),int(temp)
def droppoints():
points = []
for x in range(0,101):
y1 = int(amp1*math.sin(2*math.pi*omega1/100*x))
y2 = int(amp2*math.cos(2*math.pi*omega2/100*x))
points.append(5+int(amp2+amp1)+y1+y2)
return points
def dropper(map,state,collision,color):
for x in map:
if state[x] == collision[x]:
g.setPixel(x,state[x],color)
state[x] = 99
collision[x] = collision[x] + 1
else:
g.setPixel(x,state[x],papercolor)
state[x] = state[x] - 1
g.setPixel(x,state[x],color)
return state,collision
omega1 = 7.0
omega2 = 9.0
amp1 = 10.0
amp2 = 8.0
launch = []
for x in range(0,101):
launch.append(99)
baseline = droppoints()
while 1:
temp = []
for x in range(0,101):
rand, rseed = random()
temp.append(rand)
launch, baseline = dropper(temp,launch,baseline,100)
g.refresh()