こちら、その教材例「ABCタイピングゲームづくり」
算数(座標)+英語(アルファベット)+音楽(作曲)+タイピングが同時に学べる。
使うもの:1500円パソコンIchigoJam
(そろばんのように自分のものが望ましいが、パソコンで動くIchigoJam PCでもOK)
まずは、ゲームの基本である画面上に文字を表示。
LOCATE 16,12:PRINT "A"
画面中央に A と表示される。LOCATE(ロケート)でX座標、Y座標指定して、PRINT(プリント、?でも代用可能)で A を表示。
CLS
画面を消すコマンド CLS(シーエルエス、クリアスクリーンの略)
これを組み合わせて記憶させて動かしてみる。
10 CLS 20 LOCATE 16,12:PRINT "A" RUN
中央にアルファベットがでるプログラム完成。
次にキー入力判定を INKEY(インキー)と文字のコードを調べる ASC(アスキー)を使って行う。
30 IF INKEY()<>ASC("A") CONT LIST RUN
判定はIF(イフ)、押されたキーコード(文字を表す数値)が、Aのキーコードでなければ(<>が不等号)、CONT(コンティニュー)でその行を繰り返す。
先頭に数値をいれると、その番号と合わせてプログラムが記憶される。LIST(=F4キーでもOK)で、記憶したプログラムが番号順に並んだ状態で確認可能。
キーボードで A を押すと終了するプログラム完成。
続けて、B、C と作ってみる。
40 LOCATE 16,12:PRINT "B" 50 IF INKEY()<>ASC("B") CONT 60 LOCATE 16,12:PRINT "C" 70 IF INKEY()<>ASC("C") CONT RUN
LISTのプログラムの先頭の数値だけを変えてエンターキーでその行をコピーできる技を使うと、同じようなプログラムの繰り返し簡単! このまま Z まで作ってもOKですが、便利な繰り返しコマンド、FOR/NEXT(フォー/ネクスト)コマンドを使ってみる。
40 50 60 70 LIST
数値だけかいてエンターで、その行のプログラムが消える。これを使って40から70を削除。LIST(=F4)で確認。続いて、こちらを打ち込む。
20 FOR C=ASC("A") TO ASC("Z") 30 LOCATE 16,12:PRINT CHR$(C) 40 IF INKEY()<>C CONT 50 NEXT RUN
変数CがAから始まり、Zのキーコードになるまで繰り返す。CHR$(キャラクター)コマンドでキーコードを文字にしてPRINTで表示。 A〜Zのタイピングプログラムが完成。RUN(=F5キーでもOK)で動く。
タイムを計るとゲームになる。
15 CLT 60 PRINT "TIME:";TICK()/60
CLT(シーエルティー、クリアタイマー)コマンドで1/60秒毎に1増えるストップウォッチが開始、TICK(ティック)コマンドでタイムが分かる。 60で割ってかかった秒数にして表示。やるほどにすぐ速くなるので楽しい。
ABCの歌をBGMにする。CDEでドレミを表すMML(エムエムエル)を使って、曲をつくる。
PLAY"CCGGAAG2"
ドドソソララソ(2分音符)・・・と作曲。
16 PLAY"CCGGAAG2 FFEEDDC2 GGFFEED2 GRFREED2"
できあがったら先頭に番号を付けて、プログラムとして記憶。タイピングが始まる前、15と20の間にいれたいので16としている。
F5で実行、リズムに合わせて間違えないように打つと自然とキーも覚えられる。キーボードの絵を画面近くに貼り付けて、キーボードを見ないで打てるとかっこいいぞ!と煽るのも良し。 目指せ、タイピングの達人!
実行するとすぐ始まってしまうので、ちょっとまって欲しい場合は、WAIT(ウェイト)コマンドをいれるといい。
12 WAIT 60
ちょっと速すぎる、または、マスターしたから速くしたいなどは、曲の速さを変えるTEMPO(テンポ)コマンドを使う。
17 TEMPO 200
どの速さまでいけるか!?大人の限界を体感しておくと子供の成長に驚けます。
1 'ABC TYPING 10 CLS 12 WAIT 60 15 CLT 16 PLAY"CCGGAAG2 FFEEDDC2 GGFFEED2 GRFREED2 17 TEMPO 120 20 FOR C=ASC("A") TO ASC("Z") 30 LOCATE 16,12:PRINT CHR$(C) 40 IF INKEY()<>C CONT 50 NEXT 55 LOCATE 13,16 60 PRINT "TIME:";TICK()/60 70 IF INKEY()=10 GOTO10 ELSE CONT
タイムの表示位置を整えて(55行)、エンターキーでリトライ(70行)できるように改造した「ABCタイピングゲーム」プログラム全文。1行目に ' でタイトルを実行されないコマンド、コメントとして書いて SAVE しておくと、保存したファイルを見るFILES(ファイルズ)コマンドで確認できて便利です。
今週の週刊東洋経済、こどもプログラミング特集。はんだづけして、自分で作るところから始めるBASICパソコン、IchigoJamも載ってます。
Ruby開発者のまつもとゆきひろさんのインタビュー、かつて使っていたプログラミング言語は「BASIC」だった。
ワイズインテグレーション発、IchigoJamでプログラミングするこどもロボット「ソビーゴ」登場!
5/18-20開催、こどもプログラミングが熱い、教育ITソリューションEXPO「学びNEXT」にて展示!