SHIROのIchigoJam日記

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

タイピング30

以前作ったタイピング練習プログラム
www.ichigojaman.jp
をちょっと改造して、BASICコマンドを30問固定で出題するようにしてみました。

f:id:shiro0922:20201002023713p:plain

起動するとBASICコマンドが出題されるので、その通りにタイプしてください。
30問入力すると、タイム(秒)が表示されて終了します。

f:id:shiro0922:20201002023727p:plain

プログラム

100~390行の問題文は自由に変えられるので、「英単語30」「ローマ字30」「カタカナ語30」など、好きなシリーズが作れます。

10 '*TYPING 30 BASIC
20 CLV:CLT:Q=1
30 CLS:?"Q";Q:?
40 GSB 90+Q*10:X=0:BEEP
50 C=SCR(X,2)
60 IF !C IF Q=30 GOTO 90 ELSE Q=Q+1:GOTO 30
70 K=INKEY():IF K!=C CONT
80 ?CHR$(C);:X=X+1:GOTO 50
90 BEEP 10,30:?:?:?"TIME=";TICK()/60:END
100 ?"RUN":RTN
110 ?"LIST":RTN
120 ?"LOAD":RTN
130 ?"SAVE":RTN
140 ?"FILES":RTN
150 ?"NEW":RTN
160 ?"LED 1":RTN
170 ?"PRINT":RTN
180 ?"INPUT":RTN
190 ?"LOCATE":RTN
200 ?"CLS":RTN
210 ?"CLV":RTN
220 ?"IF":RTN
230 ?"THEN":RTN
240 ?"ELSE":RTN
250 ?"FOR I=1 TO 10":RTN
260 ?"NEXT":RTN
270 ?"BEEP":RTN
280 ?"WAIT":RTN
290 ?"END":RTN
300 ?"RETURN":RTN
310 ?"GOTO 120":RTN
320 ?"GOSUB 340":RTN
330 ?"INKEY()":RTN
340 ?"TICK()":RTN
350 ?"RND(10)":RTN
360 ?"SCR(0,0)":RTN
370 ?"BTN(LEFT)":RTN
380 ?"CHR$(1)":RTN
390 ?"X=X+1":RTN

列車30

試しに作ってみました。Ctrl+Shiftでカタカナモードにしてから打ってください。鉄道好きな子が喜ぶかも(^_^)

10 '*TYPING 30 TRAIN
20 CLV:CLT:Q=1
30 CLS:?"Q";Q:?
40 GSB 90+Q*10:X=0:BEEP
50 C=SCR(X,2)
60 IF !C IF Q=30 GOTO 90 ELSE Q=Q+1:GOTO 30
70 K=INKEY():IF K!=C CONT
80 ?CHR$(C);:X=X+1:GOTO 50
90 BEEP 10,30:?:?:?"TIME=";TICK()/60:END
100 ?"ノゾミ":RTN
110 ?"ヒカリ":RTN
120 ?"コダマ":RTN
130 ?"ミズホ":RTN
140 ?"サクラ":RTN
150 ?"ツバメ":RTN
160 ?"ハヤブサ":RTN
170 ?"ハヤテ":RTN
180 ?"ヤマビコ":RTN
190 ?"ナスノ":RTN
200 ?"ツバサ":RTN
210 ?"コマチ":RTN
220 ?"トキ":RTN
230 ?"タニガワ":RTN
240 ?"カガヤキ":RTN
250 ?"ハクタカ":RTN
260 ?"アサマ":RTN
270 ?"ツルギ":RTN
280 ?"アオバ":RTN
290 ?"アサヒ":RTN
300 ?"アサカゼ":RTN
310 ?"アケボノ":RTN
320 ?"フジ":RTN
330 ?"イズモ":RTN
340 ?"セト":RTN
350 ?"ハクツル":RTN
360 ?"ニホンカイ":RTN
370 ?"スイセイ":RTN
380 ?"アカツキ":RTN
390 ?"ホクトセイ":RTN

元素周期表30

高校の化学の範囲ですが、問題番号がそのまま原子番号になっているので、勉強になるかも。

10 '*TYPING 30 PERIODIC TABLE
20 CLV:CLT:Q=1
30 CLS:?"Q";Q:?
40 GSB 90+Q*10:X=0:BEEP
50 C=SCR(X,2)
60 IF !C IF Q=30 GOTO 90 ELSE Q=Q+1:GOTO 30
70 K=INKEY():IF K!=C CONT
80 ?CHR$(C);:X=X+1:GOTO 50
90 BEEP 10,30:?:?:?"TIME=";TICK()/60:END
100 ?"H":RTN
110 ?"He":RTN
120 ?"Li":RTN
130 ?"Be":RTN
140 ?"B":RTN
150 ?"C":RTN
160 ?"N":RTN
170 ?"O":RTN
180 ?"F":RTN
190 ?"Ne":RTN
200 ?"Na":RTN
210 ?"Mg":RTN
220 ?"Al":RTN
230 ?"Si":RTN
240 ?"P":RTN
250 ?"S":RTN
260 ?"Cl":RTN
270 ?"Ar":RTN
280 ?"K":RTN
290 ?"Ca":RTN
300 ?"Sc":RTN
310 ?"Ti":RTN
320 ?"V":RTN
330 ?"Cr":RTN
340 ?"Mn":RTN
350 ?"Fe":RTN
360 ?"Co":RTN
370 ?"Ni":RTN
380 ?"Cu":RTN
390 ?"Zn":RTN

都道府県47

これは地理の勉強になりそうです。何とか1Kバイトに収まりました。

10 '*TYPING 47 TODOFUKEN
20 CLV:CLT:Q=1
30 CLS:?"Q";Q:?
40 GSB 90+Q*10:X=0:BEEP
50 C=SCR(X,2)
60 IF !C IF Q=47 GOTO 90 ELSE Q=Q+1:GOTO 30
70 K=INKEY():IF K!=C CONT
80 ?CHR$(C);:X=X+1:GOTO 50
90 BEEP 10,30:?:?:?"TIME=";TICK()/60:END
100 ?"ホッカイドウ":RTN
110 ?"アオモリ":RTN
120 ?"イワテ":RTN
130 ?"ミヤギ":RTN
140 ?"アキタ":RTN
150 ?"ヤマガタ":RTN
160 ?"フクシマ":RTN
170 ?"イバラキ":RTN
180 ?"トチギ":RTN
190 ?"グンマ":RTN
200 ?"サイタマ":RTN
210 ?"チバ":RTN
220 ?"トウキョウ":RTN
230 ?"カナガワ":RTN
240 ?"ニイガタ":RTN
250 ?"トヤマ":RTN
260 ?"イシカワ":RTN
270 ?"フクイ":RTN
280 ?"ヤマナシ":RTN
290 ?"ナガノ":RTN
300 ?"ギフ":RTN
310 ?"シズオカ":RTN
320 ?"アイチ":RTN
330 ?"ミエ":RTN
340 ?"シガ":RTN
350 ?"キョウト":RTN
360 ?"オオサカ":RTN
370 ?"ヒョウゴ":RTN
380 ?"ナラ":RTN
390 ?"ワカヤマ":RTN
400 ?"トットリ":RTN
410 ?"シマネ":RTN
420 ?"オカヤマ":RTN
430 ?"ヒロシマ":RTN
440 ?"ヤマグチ":RTN
450 ?"トクシマ":RTN
460 ?"カガワ":RTN
470 ?"エヒメ":RTN
480 ?"コウチ":RTN
490 ?"フクオカ":RTN
500 ?"サガ":RTN
510 ?"ナガサキ":RTN
520 ?"クマモト":RTN
530 ?"オオイタ":RTN
540 ?"ミヤザキ":RTN
550 ?"カゴシマ":RTN
560 ?"オキナワ":RTN