Quantcast
Channel: SHIROのIchigoJam日記
Viewing all articles
Browse latest Browse all 121

100mダッシュ対決

$
0
0

IchigoJamの教室で多数使っていただいている「100mダッシュ」。

10 CLT
20 ?CHR$(251);
30 FOR X=1 TO 100
40 IF !BTN(32) CONT
50 IF BTN(32) CONT
60 ?CHR$(8,46,251);
70 NEXT
80 T=TICK()
90 ?:?T/60;".";T%60/6:CLK

これを遊んでいた子どもたちから「2人で対決して走りたい!」と言われたので、2人で走る「100mダッシュ対決」プログラムを作ってみました。

上の走者はカーソルキー左←、下の走者はカーソルキー右→で走ります。
ゴールするとタイムが表示されます。2人ともゴールしないと終わりません。

10 CLV:CLS:CLT
20 ?CHR$(251):LC 100:?"|"
30 LC 320:?CHR$(251):LC 420:?"|"
40 IF !BTN(28) && A=0 A=1
50 IF BTN(28) && A=1 LC X:?CHR$(8,46,251):X=X+1:A=0
60 IF !BTN(29) && B=0 B=1
70 IF BTN(29) && B=1 LC 320+Y:?CHR$(8,46,251):Y=Y+1:B=0
80 IF X=101 && A<2 T=TICK():LC 128:?T/60;".";T%60/6:A=2
90 IF Y=101 && B<2 T=TICK():LC 448:?T/60;".";T%60/6:B=2
100 IF A!=2 OR B!=2 GOTO 40

状態変数A、Bを使って、2人の走者の「キーが押された(0)」「キーが離された(1)」「ゴールした(2)」状態を管理しています。
複数のキャラを動かすプログラム例としても面白いんじゃないでしょうか。
今回はキーボードを使いましたが、2個の外付けボタンをINポートに付けて、ボタンで走っても面白いでしょう。


Viewing all articles
Browse latest Browse all 121

Trending Articles