Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2018/11/27 13:38:11

MixJuice GET URL : kidspod.club/mj/674

タイピング練習 虹色

タイピング練習プログラムです。音が鳴るので圧電素子を接続してください。
2つのファイルを保存して、T=0で変数を初期化、LRUN 0 で実行します。
スペースで進みます。EnterでVIDEO 1を実行して終了します。中断した場合はF8で。

IchigoJamのプログラムの容量は1kBなので、問題の設定を別のファイルに分離しています。
文字列変数はプログラム間での引き継ぎができないので配列に分割して格納しています。
問題の文字列は"以外のキャラクターが設定できます。

複数のプログラムを保存して実行する方法の説明。
シリアル通信やMixJuiceでは、通信データがキー入力と同等に扱われます。
プログラムリストだけでなく、ダイレクトコマンドの実行も可能。

SAVE LOAD LRUN のファイル番号について
省略した場合は、直前に使用したファイル番号が引き継がれます。
F=0 とダイレクトコマンドを実行することで、
SAVE F は SAVE 0 として動作します。
FILE()は直前に動作したSAVE LOAD LRUNのファイル番号を返します。
SAVE FILE()+1 で、次のプログラム番号にSAVEされます。
LRUNFILE()-1は一つ前のプログラムが実行されます。

FILE()の代わりにFでもよいし、プログラム番号を決めておいてもよいでしょう。

NEW SAVE の実行でIchigoJamが処理の時間を必要とするので、
改行を入れて入力データ落ちを防ぐことを意図しています。



SOURCE CODE

NEW
F=0

10 'TYPING
20 @TOP:IF T=1 GOTO @TYPE
30 @INIT:VIDEO 3:CLS:X=2:Y=4
40 LOCATE X,Y-2:PRINT "TYPING"
50 LOCATE X,Y:PRINT "HIT SPACE"
60 @HS:K=INKEY():IF K<>32 GOTO @HS
70 @ST:N=10:C=0:M=0:CLT
80 @SET:LRUN1
90 @TYPE
100 CLS:I=0:LOCATE X,Y
110 @LP:IF [I]=0 GOTO @EX
120 PRINT CHR$([I]);:I=I+1:GOTO @LP
130 @EX:I=0:LOCATE X,Y+1
140 @KEY:K=INKEY():IF K=0 GOTO @KEY
150 IF K>=20 THEN PRINT CHR$(K);
160 IF K<>[I] PLAY"A32":LOCATE X+I,Y+1:M=M+1:GOTO @KEY
170 PLAY"<<A32":I=I+1:IF [I]<>0 GOTO @KEY
180 @EXIT:C=C+I:N=N-1
190 IF N>0 GOTO @SET
200 @END:CLS
210 LOCATE X,Y-2:PRINT "TIME:";TICK()/60
220 LOCATE X,Y-1:PRINT "TYPE:";C
230 LOCATE X,Y:PRINT "MISS:";M
240 LOCATE X,Y+2:PRINT "HIT SPACE"
250 T=0
260 @KB:K=INKEY()
270 IF K=32 GOTO @ST
280 IF K=10 THEN VIDEO 1:CLS:END
290 GOTO @KB

SAVEF

NEW

10 'SET
20 @SET:R=RND(7)
30 S=0:IF R>S+7 THEN LRUN 2
40 IF R=S THEN A="RED"
50 IF R=S+1 THEN A="ORANGE"
60 IF R=S+2 THEN A="YELLOW"
70 IF R=S+3 THEN A="GREEN"
80 IF R=S+4 THEN A="BLUE"
90 IF R=S+5 THEN A="INDIGO"
100 IF R=S+6 THEN A="VIOLET"
110 I=0
120 @LP:IF PEEK(A+I)=34 THEN GOTO @EX
130 [I]=PEEK(A+I):I=I+1:GOTO @LP
140 @EX:[I]=0:T=1:LRUN 0

SAVEFILE()+1


LRUNFILE()-1

COMMENT

Kidspod運営チーム
Kidspod運営チーム2018/12/28 17:23:55

タイピングで音を付けると、楽しいですね。正解不正解が分かりやすいですし、正解のときも音が軽快で楽しい! videoコマンドの使い方も、ユーザフレンドリー! プログラムの書き方も工夫していただいてありがとうございます。これなら、MixJuiceを使ったとき非常に扱いやすいですね!