SHIROのIchigoJam日記

マイコン「IchigoJam」(イチゴジャム)の電子工作とプログラミングをメインに

3D 100mダッシュ

IchigoJam Rのスピードを活かして、おなじみの100mダッシュゲームを3D視点にしてみました。スペースキーを連打してダッシュします。
ちなみにIchigoJam Sだと、3D表示が遅くて人間の連打に着いていけず、タイムが出ません。
動画はこちら。

【IchigoJam】3D 100mダッシュ

f:id:shiro0922:20210131181040p:plain

プログラム

1kバイト目一杯で、タイトルやラベルが入りませんでした。
15~16行、27~28行の「BTN(32)」を「BTN()」に変えると、IchigoJamのボタンや外付けボタンで連打できます。

1 CLS:LC 9,0:?"***100m Dash***"
2 ?:?"TIME ";T/60;".";T%60/6;
3 IF T<S OR S=0 S=T
4 LC 12,2:?"Today Record ";S/60;".";S%60/6
5 DRAW 0,11,63,11
6 DRAW 31,12,0,43
7 DRAW 32,12,63,43
8 LC 10,12:?"------------"
9 LC 11,11:?"10"
10 LC 0,22:?"===============================";
11 LC 1,21:?"0"
12 LC 15,22:?CHR$(250);
13 WAIT 60
14 LC 13,20:?"READY?"
15 IF BTN(32) CONT
16 IF !BTN(32) CONT
17 LC 5,2:?"0.0  "
18 LC 13,20:?"      "
19 LC 13,20
20 FOR I=3 TO 1 STEP -1
21 ?I;" ";:BEEP
22 WAIT 60
23 NEXT
24 LC 13,20:?"      "
25 BEEP 10,30
26 L=16:CLT
27 IF !BTN(32) CONT
28 IF BTN(32) CONT
29 FOR R=16 TO 2 STEP -1
30 A=#9B1+R*31:C=PEEK(A)
31 COPY A+31,A,2
32 POKE A+33,C*(C=61 OR C=45)
33 COPY A+34,A+33,R*2-3
34 NEXT
35 LC 15,22:?CHR$(250);
36 L=L+1:C=0
37 IF L%100=0 C=61 ELSE IF L%10=0 && L<100 C=45
38 LC 15,7:?CHR$(C,C)
39 LC 15,7
40 IF L%100=1 ?"G" ELSE IF L%10=1 && L<100 ?L-1
41 T=TICK()
42 LC 5,2:?T/60;".";T%60/6
43 IF L<115 GOTO 27
44 LC 13,20:?"GOAL!"
45 BEEP 10,30
46 WAIT 120
47 RUN