DIM wf(500)

SCREEN 1,640,200,1,2
WINDOW 1,"",(0,0)-(620,185),0,1
PALETTE 0,0,0,0 : PALETTE 1,1,1,1

n = 250
FOR x1 = 1 TO n
	LOCATE 1,1
	PRINT INT(x1/n*100);" %"
	harm = (x1*2)-1
	FOR y1 = 1 TO 500
		x$ = INKEY$
		IF x$ = "q" THEN GOSUB draw
		IF x$ = "Q" THEN SYSTEM
		s = SIN(y1*harm/20)
		s = s * 100 / harm
		wf(y1) = wf(y1)+s
	NEXT y1
NEXT x1

GOSUB draw
END


draw:

maxx = 0 : minx = 0
CLS
FOR x =  1 TO 500
	IF wf(x) > maxx THEN maxx = wf(x)
	IF wf(x) < minx THEN minx = wf(x)
NEXT x

FOR x = 1 TO 500
	wf = (wf(x)-minx)/(maxx-minx) * 180
	LINE (x,wf)-(x,wf1),1
	wf1 = wf
NEXT x

	
RETURN
