start bastext 1025 start tok64 d64-rgoIXa 10 SWITCH12,0:ERASE#:BOTTOM#:TOGL# 999 REM ** shrinking box ** 1000 SCREEN1:COLOR1,0:PRINT"{clear}{down*5}{space*6}this example uses the flip " 1005 PRINT"{down*2}{space*9}and draw commands." 1009 FORi=0TO1000:GETa$:IFa$=""THENNEXT 1010 GOSUB20000:POKE198,0 1019 FLIP:GOSUB20000 1020 FORa=40TO100STEP2:GOSUB20000 1030 x1=a+50:x2=125:x3=250-a:x4=175 1035 y1=25+a/1.55:y2=75:y3=150-a/1.55:y4=100 1040 DRAWx1,y1TOx3,y1:DRAWx1,y3:DRAWx2,y2 1050 DRAWx3,y3TOx3,y1:DRAWx1,y3:DRAWx4,y4 1060 DRAWx2,y4TOx2,y2:DRAWx4,y4:DRAWx1,y3 1070 DRAWx4,y2TOx2,y2:DRAWx4,y4:DRAWx3,y1 1080 FLIP:GETa$:IFa$=""THEN NEXT:FORi=0TO5000:GETa$:IFa$=""THENNEXT 2000 REM * *** spinning spiral *** * 2010 SCREEN1:GOSUB20000:FLIP:GOSUB20000 2020 x1=164:y1=105 2030 FORa=100TO1028STEP2:y=98+(a/13)*SIN(a/5):x=160+(a/10)*COS(a/5) 2040 DRAWx,yTOx1,y1:x1=x:y1=y:FLIP 2050 GETa$:IFa$=""THENNEXT 2060 FORa=20TO0STEP-.3:FORb=0TOa:GETa$:IFa$<>""THEN2110 2100 NEXT:FLIP:NEXT 2105 REM ** sine curve #1 ** 2110 SCREEN1:GOSUB20000:FLIP:GOSUB20000 2120 FORx=0TO319STEP3:y=155+40*SIN(x/25) 2130 DRAWx,yTOx,199:FLIP:NEXT:POKE198,0:WAIT198,1:GETa$ 2999 REM ** rotating square ** 3000 SCREEN1:COLOR1,0:ERASE#:TOGL#:BOTTOM#:GOSUB21000:FLIP:GOSUB21000:FLIP 3010 of={pi}/2:f1=of*2:f2=of*3:xm=160:ym=99 3020 ys=98:xs=159 3030 FORi=f1TO.STEP-.06:yd=ys-i*31:xd=xs-i*50.5:y=ym+yd*SIN(i):x=xm+xd*COS(i) 3040 y1=ym+yd*SIN(i+of):x1=xm+xd*COS(i+of) 3050 y2=ym+yd*SIN(i+f1):x2=xm+xd*COS(i+f1) 3060 y3=ym+yd*SIN(i+f2):x3=xm+xd*COS(i+f2) 3070 DRAWx1,y1TOx,y:DRAWx2,y2:DRAWx3,y3TOx,y:DRAWx2,y2 3080 FLIP:GOSUB21000:GETa$:IFa$=""THENNEXT 3090 REM ** galaxy ** 3100 SCREEN1:GOSUB21000 3110 FORi=.TOf1STEP.06:yd=ys-i*31:xd=xs-i*50.5:y=ym+yd*SIN(i):x=xm+xd*COS(i) 3120 y1=ym+yd*SIN(i+of):x1=xm+xd*COS(i+of) 3130 y2=ym+yd*SIN(i+f1):x2=xm+xd*COS(i+f1) 3140 y3=ym+yd*SIN(i+f2):x3=xm+xd*COS(i+f2):s=(f2-i)*1.7 3150 DRAW x1,y1TOx,ySTEPs:DRAWx2,y2STEPs:DRAWx3,y3TOx,ySTEPs:DRAWx2,y2STEPs 3160 GETa$:IFa$=""THENNEXT:FORi=0TO50000:GETa$:IFa$=""THENNEXT 3199 REM ** diamond eye ** 3200 SCREEN1:GOSUB20000:CLR 3210 l=20:a=0:d=319:xm=319:f=199:ym=199:xd=xm/l:yd=ym/l 3220 FORx=1TOl 3230 DRAWxm,bTOa,0STEP3:DRAWd,ymSTEP3 3240 DRAW0,fTOd,199STEP3:DRAWa,0STEP3 3250 a=a+xd:b=b+yd:d=d-xd:f=f-yd:NEXT 3260 a=xm/2:b=100:c=a-100:d=a+100:e=100 3270 FORx=1TO20:DRAWc,100TOa,b:DRAWa,e:DRAWd,100TOa,b:DRAWa,e 3280 b=b-4:c=c+5.2:d=d-5.2:e=e+4:NEXT 3290 POKE198,0:WAIT198,1 3299 REM ** edge #1 ** 3300 SCREEN1:GOSUB21000:BOTTOM:CLR 3310 FORx=0TO319STEP5:y=y+2.85 3320 DRAWx,yTO0,y:DRAWx,0:DRAWdx,dy:dx=x:dy=y:NEXT:POKE198,0:WAIT198,1 3399 REM ** circle ** 3400 GOSUB21000:FORi=.TO2*{pi}STEP.03:x=159+149*SIN(i):y=98+88*COS(i) 3410 DRAW159,99TOx,y:NEXT:POKE198,0:WAIT198,1 3420 REM ** sine curve #2 ** 3430 GOSUB21000:FORp=25TO45STEP.8:dy=88+88*SIN(0/p):dx=0 3440 FORx=9TO319STEP10:y=88+88*SIN(x/p) 3450 DRAWx,yTOdx,dySTEP3:dx=x:dy=y:NEXT:NEXT:POKE198,0:WAIT198,1 3499 REM ** edge #2 ** 3500 GOSUB21000:CLR:FORx=0TO319STEP5:y=y+2.85 3510 DRAWx,yTOdx,dy:DRAW0,182:DRAW319,0:NEXT:POKE198,0:WAIT198,1:GETa$:BOTTOM# 19999 SCREEN0:PRINT"{clear}{down*2}":END 20000 PRINT"{clear}{reverse on}{right*7}press any key after veiwing":RETURN 21000 PRINT"{clear}{reverse on}press any key":PRINT"{reverse on}after veiwing":RETURN stop tok64 (bastext 1.0)