1 ' Shapemaker
2 ' by A Hilton
3 ' Amstrad Action   May 87
30 MODE 1
40 LOCATE 11,10:PRINT"Please wait while"
50 LOCATE 8,11:PRINT"performing calculations"
60 DEG
70 DIM si(360),co(360)
80 FOR x%=0 TO 360:co(x%)=COS(x%):si(x%)=SIN(x%):NEXT x%
81 y%=200:x%=300:gap%=9:GOTO 220
90 MODE 2
100 INPUT "Enter required height >",y%
110 INPUT "Enter required width  >",x%
120 INPUT "Gap between lines (1 to 15) >",gap%
130 IF gap%<1 OR gap%>15 THEN 120
140 INPUT "Distortion factor 1 (0 to 360) >",no1%
150 IF no1%<0 OR no1%>360 THEN 140
160 INPUT "Distortion factor 2 (0 to 360) >",no2%
170 IF no2%<0 OR no2%>360 THEN 160
180 INPUT "Distortion factor 3 (0 to 360) >",no3%
190 IF no3%<0 OR no3%>360 THEN 180
200 INPUT "Distortion factor 4 (0 to 360) >",no4%
210 IF no4%<0 OR no4%>360 THEN 200
220 MODE 2
230 ORIGIN 300,200
240 FOR d%=0 TO 360 STEP gap%
250 MOVE no1%*co(d%),y%*si(d%)
260 dg2%=d%+no4%:IF dg2%>360 THEN dg2%=dg2%-360
270 dg1%=d%+no3%:IF dg1%>360 THEN dg1%=dg1%-360
280 DRAW -x%*CO(Dg1%),-no2%*SI(Dg2%),1
290 NEXT d%
300 LOCATE 1,1:PRINT"Press a key"
310 WHILE INKEY$="":WEND:GOTO 90