nicobas20080822b.zipで「なんちゃってsin/cos」を搭載させてみました。
書式は「SIN(角度)」「COS(角度)」です。
引数の角度はラジアンではなく度数。
戻り値は整数-255〜+255です。少数を扱えないので戻り値を整数にしてるのがミソです。
sin/cosもどきを使ったサンプル(sincos.txt)
X1=60:Y1=15:R=15 *MAIN FOR A=0 TO 359 STEP 5 CLS X2 = COS(A)/15 + X1 Y2 = SIN(A)/15 + Y1 LINE X1,Y1,X2,Y2,1 NEXT GOTO *MAIN
同じく、sin/cosもどきのサンプル(toride.txt)。
「とりでの攻防」を意識して作ってみました。
CLS LINE 0,31,122,31,1 R=30:A=45 *START X=20:Y=30 *MAIN LINE X,Y,X+X1,Y+Y1,0 X1 = COS(A)/R Y1 = SIN(A)/R LINE X,Y,X+X1,Y+Y1,1 while SW=0 wend if sw=4 THEN if A>0 then A=A-1 if sw=8 THEN if A<90 then A=A+1 if sw=1 THEN if R>20 then R=R-1 if sw=2 THEN if R<40 then R=R+1 if SW<>16 then GOTO *MAIN *FIRE X=X+X1:Y=Y+Y1 PSET X,Y,1 Y1=Y1+1 IF Y<32 THEN GOTO *FIRE FOR C=1 TO 0 STEP -1 FOR I=1 TO 8 CIRCLE X,Y,I,C NEXT NEXT GOTO *START
あと「CIRCLE」文も搭載しました。着弾したときの爆発をこれで表現しています。