6. 条件で処理を選ぶ

材料が足りるかどうかで工房に残す知らせを変えてみましょう。条件に合わせて実行する文を選ぶことを「条件分岐」と呼びます。

条件を書く

練習として作業台にある4個の石から3個使う場面を考えます。ここでは実際の在庫を読まずに自分で個数を決めておきます。stones >= 3は「stonesが3以上か」を調べる式です。

条件が成り立つことをtrue、成り立たないことをfalseと呼びます。この二つの値を扱う型がboolです。falseはエラーという意味ではありません。

比較意味
a >= baはb以上か
a > baはbより大きいか
a <= baはb以下か
a < baはbより小さいか
a == baとbは等しいか
a != baとbは違うか

代入の=と、等しいかを調べる==を区別してください。

ifとelse

ArcaneScript
public class Program : ArcaneProgram
{
    public void OnStart()
    {
        int stones = 4;
        if (stones >= 3)
        {
            Workshop.Log.Write("Enough.");
        }
        else
        {
            Workshop.Log.Write("Not enough.");
        }
    }
}

ifの括弧の中がtrueなら最初のブロック、falseならelseのブロックを実行します。ブロックは波括弧で囲んだ処理のまとまりです。

この例は4 >= 3なのでtrueとなり、Enough.を出します。もう一方の文は実行しません。比べるだけなのでstonesの値は4のままです。

練習問題

stonesを2、3に変えた場合、それぞれどちらの文章が出るでしょうか。予想してから試してください。

解答例を表示する解答例を閉じる

2ならNot enough.、3ならEnough.です。>=は「以上」なので、ちょうど3も条件に入ります。

次の章へ

ここまでは自分で用意した数を使いました。次は工房に実際にある資源の量を読んで、同じように条件を調べます。