SHIROのIchigoJam日記

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

動体視力ゲーム

IchigoJam Rのスピードを活かしたゲームです。
プレイ動画はこちら。

【IchigoJam】動体視力ゲーム

f:id:shiro0922:20210211125458p:plain

遊び方

  • 起動すると、上にタイトル、下にアルファベットのA~Zのパネルが表示されます。
  • スペースキーを押すと始まります。ダウンカウントの後、文字が左→右へ移動して表示されます。見えた文字をアルファベットのパネルで解答してください。左右キーでカーソル移動、スペースキーで入力です。
  • 正解すると次の出題になり、文字の動きがだんだん速くなります。WAITの値が画面左下に表示されるので(1以下はマイナス表示)、WAITがいくつになるまで文字が読めるか挑戦しましょう。
  • 文字が読めずギブアップする時はEnterキーを押してください。最初に戻ります。

IchigoJam Sだと最後の「WAIT=0」でも表示が遅くて文字が読めてしまいますが、Rだと「WAIT=-8」か「-4」辺りで速すぎて読めなくなります。
ただ、モニタ画面のスキャンが文字のスピードに追いついていないせいでもあるので、動体視力ゲームと言うより、「画面スキャンより速くキャラが動かせる」Rの速度実験と言えるかもしれません。
そこまで速さを追求しなくても、動体視力のリハビリや回復ツールとしても使えそうです。

プログラム

10 CLS:?"*DOTAI SHIRYOKU*"
20 S="ABCDEFGHIJKLMNOPQRSTUVWXYZ":N=26
30 W=32
40 LC 0,21:?STR$(S)
50 IF !BTN(32) CONT
60 SRND TICK()
70 @LOOP
80 IF W=1 W=-128 ELSE W=W/2
90 LC 0,23:?"WAIT=";W;" ";
100 R=RND(N)
110 C=PEEK(S+R)
120 LC 0,10
130 FOR T=3 TO 1 STEP -1
140 BEEP:?T;" ";
150 WAIT 60
160 NEXT
170 ?CHR$(24)
180 LC 0,12
190 FOR I=0 TO 30
200 ?CHR$(8,0,C);
210 WAIT W
220 NEXT
230 ?CHR$(8)
240 X=0
250 @KIN
260 K=INKEY()
270 X=X-(K=28)*(X>0)+(K=29)*(X<N-1)
280 LC X,21,1
290 WAIT 5
300 IF K=10 BEEP 30,60:WAIT 90:RUN
310 IF K!=32 OR X!=R GOTO @KIN
320 LC X,21,0
330 BEEP 10,30:WAIT 90
340 GOTO @LOOP