Luaレッスン4.4「enterキーを機能させる」和訳

原典:

http://compasstech.com.au/TNS_Authoring/Scripting/script_tut4.html

レッスン4.4「enterキーを機能させる」
正解してからenterキーを押したときに、新しい問題が表示され、次の答が入力できるように回答欄が消去されたら良いと思いませんか?
そのためにはLuaスクリプトに何らかの情報を知らせる必要があります。正解であるかどうかを知らせる必要があるのです。その情報は変数checkに入っています。
そのあとでaおよびbに新しい値を生成する必要があります。その処理は、新しい値を変数newに送信すれば実行できます。最後に、line3を消去し、answerの値を消去し、新しい入力ができるようにするというわけです。

課題1
ほかにも何か機能を追加する場合を考えてみましょう。たとえば不正解であったときにenterキーを押したらどうなるでしょうか? 現在のスクリプトのままでは何も起きません。しかし正解を示すという機能を持たせることも可能です。実際にそうしたいかどうかはさておき、どうすればこの機能が達成できるかわかりますか?

課題2
typeという名前のスライダーを追加する場合を考えてみましょう。表示は最小化します。値の範囲は1~4とします。type=1のときは足し算、2のときは引き算というふうにします。どうすればこの機能が実現できるでしょうか? 
function on.enterKey()
local ch = (var.recall("check") or 0)
local newer = (var.recall("new") or 1)
if ch == 1
var.store("line3","")
var.store("new",newer+1)
answer = ""
var.store("check",0)
end
screen:invalidate()
end

難しい課題でしたね。しかしこれでLuaチュートリアルの最初のセクションをとうとう最後までやり遂げました。是非これまで学んだことを復習してください。必ずすべて理解してください。さまざまなコマンドを自分なりにいろいろ試してみてください。それが済んだらレッスン5へ進んでください。レッスン5では、これまで学んだことをもっと便利にうまく応用してみます。
レッスン6からは、画像の使い方なども含め、Luaのグラフィックス機能について説明します。しかしその前にレッスン5のサンプルを試してみてください。

広告を非表示にする