whileループ
CoddyのLuaジャーニー「基礎」セクションの一部。レッスン 71/90。
プレイヤーのライフがなくなるまでなど、何回繰り返すかをあらかじめ知らずにコードを繰り返す必要がある場合があります。そんなときにぴったりなのがwhileループです。条件がtrueである限り、同じコードを何度も実行し続けます。
whileループの基本的な構文は次のようになります。
while condition do
-- 繰り返し実行するコード
end1から3までの数を出力する簡単な例です:
local count = 1
while count <= 3 do
print(count)
count = count + 1
endこのループは、まずcount <= 3が真かどうかを確認します。真であれば、内部のコードが実行され、現在の数値を出力してカウンターを増やします。その後、条件をもう一度確認し、条件が偽になるまでこの処理を繰り返します。
チャレンジ
簡単プレイヤーの回復過程を追跡するために、whileループを使った体力監視システムを作成しましょう。まず、playerHealthという名前の変数を作成し、値25を代入します。次に、maxHealthという名前の別の変数を作成し、値100を代入します。
プレイヤーの体力が最大体力より少ない間、続けて実行されるwhileループを書きましょう。ループの中では、まず現在の体力の値を出力し、その後playerHealthを15増やします。増加する前に出力するため、最後に出力される値は85です。15を加えた後(playerHealthが100になると)、ループ条件が再び確認されます。100はmaxHealthより小さくないため、100を出力せずにループは停止します。
期待される出力は次のとおりです。2540557085
自分で試してみよう
-- プレイヤーの体力と最大体力を初期化する
local playerHealth = 25
local maxHealth = 100
-- TODO: ここにコードを書く
-- playerHealth < maxHealth の間続く while ループを作成する
-- ループ内で現在の体力を表示し、その後 playerHealth を 15 増やすこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Luaオンラインコンパイラ