なんちゃってsin/cos

nicobas20080822b.zipで「なんちゃってsin/cos」を搭載させてみました。
書式は「SIN(角度)」「COS(角度)」です。
引数の角度はラジアンではなく度数。
戻り値は整数-255〜+255です。少数を扱えないので戻り値を整数にしてるのがミソです。


sin/cosもどきを使ったサンプル(sincos.txt)
http://nicotak.com/nicobasic/edu2/sincos.gif

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)。
「とりでの攻防」を意識して作ってみました。
http://nicotak.com/nicobasic/edu2/toride.gif

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」文も搭載しました。着弾したときの爆発をこれで表現しています。


実機だとこんな感じ。