インドネシア語単語ゲームを作ってみた
私は現在インドネシア語を勉強しています。例の東京外語大のサイトを使って勉強しているのですが、以下のようなノートをテキストファイルに書き付けています。
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 だけしか使っていないので、ローカルにコピーすればそのまま使えます。
完全に自己満足なエントリをお送りしました。