Mark Wickens

5 ONERRORGOTO500
10 MODE8:DIM:ERASEa:DIMa(1):c$=CHR$(5):x=0:y=0:a=0:m$="XY"
20 CLS:PRINT"(X,Y) ←- (x,y),angle(𝜃)";
30 s$="x":z=x:GOSUB100:x=z
40 s$="y":z=y:GOSUB100:y=z
50 s$="𝜃":z=a:GOSUB100:a=z
60 a(0)=x*COSa-y*SINa:a(1)=x*SINa+y*COSa:LOCATE0,1
70 FORi=0 TO1:PRINTc$;MID$(m$,i+1,1);" =";a(i);
75 w=ASC(INPUT$(1,@)):IFw=13 THEN90
80 IFw=30 ANDi>0 THENi=i-2:GOTO90
82 IFw=31 ANDi<1 THEN90
88 GOTO75
90 NEXT:GOTO30
100 LOCATE0,1:PRINTc$;s$;"=";z;"?";:INPUT@42;z:LOCATE0,0:RETURN
500 IFERR=1 THENCLS:ONERRORGOTO0
510 IFERL=100 THENRESUME100
520 LOCATE0,1:PRINTc$;"not found";:w$=INPUT$(1,@):RESUME20