インドネシア語単語ゲームを作ってみた

私は現在インドネシア語を勉強しています。例の東京外語大のサイトを使って勉強しているのですが、以下のようなノートをテキストファイルに書き付けています。

2008/04/23

[08-3]

mencari        探す
penerbitnya    出版社
betul          正しい
harga          値段
ribu           1000
sekarang       現在
begitu         そのような
beli           買う

20課まで勉強が進んで、だいぶ単語が溜まってきたので、JavaScript を使って単語テストにしてみました。モデルは iKnow の Brainspeed というゲームです。これは、単語を表示して、その下に二つの意味を表示します。一つは正しく、もう一つは間違っています。そのうちの正しいほうをすばやく選択するのです。私の作ったものは、音もなく、まったく地味なものになってしまいました。

今回作った JavaScript のミソは、ノートをそのまま、JavaScript に食べさせるデータにしてしまえ、ということです。まずはノートを次のように TEXTAREA タグで囲みます。

<textarea id="notebook" style="display:none">
2008/04/23

=begin
コメントのテスト
=end

[08-3]

mencari        探す
penerbitnya    出版社
betul          正しい
harga          値段
ribu           1000
sekarang       現在
begitu         そのような
beli           買う
</textarea>

そして、document.getElementById('notebook').innerHTML を通じてデータとして取得するのです。(amachang とかがよくやっているテクニックですね) ちなみに =begin ... =end は無視されます。2008/04/23 のような数字から始まる行も無視されます。あとは [08-3] のような [] の中に書かれている文字列は、セクション名として認識されます。

能書きはともかく、これが作ったものです。Firefox 2 でしか動作を確認していません。

インドネシア語単語ゲーム

キーボードショートカットがあり、"Z" キーが左側の選択肢の選択、"X" キーが右側の選択肢の選択、 "C" キーが次の問題となっています。
これからは、この notebook.html に単語を書き付けていくつもりです。本当は、正解や誤答の際に、音を出したかったんですが、これは今後の課題ですね。Flash を使って音を制御できないか調べてみます。

もちろんインドネシア語だけでなく、英語でも使えますので、万が一気に入ったら、使ってみてください。Javascript だけしか使っていないので、ローカルにコピーすればそのまま使えます。

完全に自己満足なエントリをお送りしました。