IchigoJam で「PDCA」を回しました。
v1.4で追加された三角関数を使います。
20行目で動作を設定します。
変数 | 意味 |
---|---|
A | 現在の角度 |
R | 回転の半径 |
X | 回転の中心x座標 |
Y | 回転の中心y座標 |
W | 1ステップ回転した後の待ち時間 (WAIT 用) |
D | 1ステップで回転する角度 |
単体
IchigoJam の出力画面で「PDCA」を回します。
プログラム
10 ' PDCA ヲ マワス
20 A=0:R=10:X=16:Y=12:W=3:D=5
30 CLS
40 U=R*SIN(A)/256
50 V=R*COS(A)/256
60 LOCATE X+U,Y-V:?"P";
70 LOCATE X-V,Y-U:?"D";
80 LOCATE X-U,Y+V:?"C";
90 LOCATE X+V,Y+U:?"A";
100 WAIT W:A=(A+D)%360
110 GOTO 30
実行結果
PanCake 連携
PanCake の画面で「PDCA」を回します。
仮想PanCake でも動きました。
プログラム
10 ' PCDA ヲ マワス (PanCake)
20 A=0:R=16:X=40:Y=22:W=10:D=5
30 ?"PC SPRITE START 06"
40 ?"PC SPRITE CREATE 00 8F"
50 ?"PC SPRITE CREATE 01 83"
60 ?"PC SPRITE CREATE 02 82"
70 ?"PC SPRITE CREATE 03 80"
80 U=R*SIN(A)/256
90 V=R*COS(A)/256
100 ?"PC SPRITE MOVE 00 ";HEX$(X+U-4,2);" ";HEX$(Y-V-4,2)
110 ?"PC SPRITE MOVE 01 ";HEX$(X-V-4,2);" ";HEX$(Y-U-4,2)
120 ?"PC SPRITE MOVE 02 ";HEX$(X-U-4,2);" ";HEX$(Y+V-4,2)
130 ?"PC SPRITE MOVE 03 ";HEX$(X+V-4,2);" ";HEX$(Y+U-4,2)
140 WAIT W:A=(A+D)%360
150 GOTO 80
実行結果
おわりに
※IchigoJamはjig.jpの登録商標です。