2021.04.14 Wed
富士宮教室

挑戦状(脳トレゲームを作ってみました)

こんばんは。
隔週土曜にしか開かない隠れキャラ的存在の富士宮教室です。

前回の当教室のブログでも触れましたが、講師も自由製作というわけでもありませんが、脳トレになるようなゲーム(?)を作ってみました。
次回の授業日以降には、当教室で遊べるようになります。
本稿をご覧の皆さんも、末尾にプログラムリストを掲載しましたので、ぜひチャレンジしてみてください。

脳トレゲームは2本作りました。
どちらも計算もので、ひとつは足し算、もう一つは掛け算です。
足し算の方は、足し算の結果が10になるように画面に表示された数に対応する数値をキーボードから入力していくというもの。
つまり、画面に「4」と表示されたら、足して10になるように「6」を入力するという具合です。

掛け算の方は、画面に表示された数字が掛け算の答えになるような数字をふたつキーボードから入力していきます。
画面に「12」と表示されたら「3」と「4」を入力するという具合です(「2」と「6」を入力しても逆順でもokです)。

どちらも一定時間にいくつ答えられたか、そのうち正解と間違いがいくつだったかをカウントして、終了時に結果が表示されます。

それでは、以下にプログラムリストを掲載します。
このブログのリストを「IchigoJam web」にコピー&ペーストしても楽しめます(ただし、web版はタイマーが正確ではありません)。
まずは足し算編。
1 ‘ADD UP TO 10
10 VIDEO3
60 CLS:CLV:CLT:SRND TICK()
70 ?”ヨ”:BEEP 10,15:WAIT 60
80 ?”ウ”:BEEP 10,15:WAIT 60
90 ?”イ”:BEEP 10,15:WAIT 60
100 ?”スタート!!”:BEEP 5,30
110 GSB 200
120 IF TICK()<3600 GOTO 110
130 BEEP 20,60:?"ココマデ!":WAIT 60
140 ?"コタエタカズ:";S+W
150 ?"セイカイ:";S
160 ?"ハズレ:";W
165 IF INKEY()=0 GOTO 165
170 VIDEO 1:END
200 R=RND(9)+1:IF P=R GOTO 200
210 ? R:P=R
220 A=INKEY():IF A=0 GOTO 220
225 ? a-48
230 IF A+R=58 GSB 250 ELSE GSB 260
240 RTN
250 ?"セイカイ":BEEP 5,5:WAIT 5:BEEP 10,5:S=S+1:RTN
260 ?"ハズレ":BEEP 99,5:WAIT 5:BEEP 99,5:W=W+1:RTN

続いて掛け算編。
1 'MULTIPLY X,Y
10 VIDEO3
60 CLS:CLV:CLT:SRND TICK()
70 ?"ヨ":BEEP 10,15:WAIT 60
80 ?"ウ":BEEP 10,15:WAIT 60
90 ?"イ":BEEP 10,15:WAIT 60
100 ?"スタート!!":BEEP 5,30
110 GSB 200
120 IF TICK()<3600 GOTO 110
130 BEEP 20,60:?"ココマデ!":WAIT 60
140 ?"コタエタカズ:";S+W
150 ?"セイカイ:";S
160 ?"ハズレ:";W
165 IF INKEY()=0 GOTO 165
170 VIDEO 1:END
200 P=RND(9)+1:Q=RND(9)+1:IF R=P*Q GOTO 200
210 ? P*Q:R=P*Q
220 A=INKEY():IF A=0 GOTO 220 ELSE ?A-48
230 B=INKEY():IF B=0 GOTO 230 ELSE ?B-48
240 C=(A-48)*(B-48)
250 IF C=P*Q GSB 270:S=S+1 ELSE GSB 280:W=W+1
260 RTN
270 ?"セイカイ":BEEP 5,5:WAIT 5:BEEP 10,5:RTN
280 ?"ハズレ":BEEP 99,5:WAIT 5:BEEP 99,5:RTN