世界のナベアツ

数値の条件分岐処理

l3

3の倍数の時、数字に3がつくときにアホになって(字を赤くして)みましょう。

処理例 – 条件分岐(変数)

【起動条件:呼び出し】

とにかく数値で分岐させてみました。
【3で割り切れない】、かつ【10で割った余りが3】、かつ【30未満】もしくは【39超】の場合のみ色が黒、という処理をしています。 分岐が重なると読みづらいですね。

【NOTE:条件分岐(変数)】

【30未満、39超】の【上記以外】が30~39になるのがポイント。範囲指定によく使うテクニックです。

このように同じ条件でも、つながっている場合と別々に設置した場合は挙動が違うことに注意してください。
つながっている場合は、ひとつの条件が満たされればそれ以降は無視。別々に設置した場合は、当たり前ですが別で分岐されます。
例として【Cself0が2】の場合、上のようにつながっていれば処理1のみ(上から順に判断されるため)です。下のように別々に設置すると処理1と処理2が実行されます。 分岐は3つまでしかつなげられないので、4つ以上つなげたい場合は【上記以外】の中に分岐を設置します。 見づらくなるのでコメント文はどこかに残しておきましょう。

処理例 – 条件分岐(変数)その2

【起動条件:呼び出し】

30から39であることの判断を、【10で割った答えが3】で分岐。 同様に、300から399の判断は【100で割った答えが3】、3000~は【1000で割った~】のように分岐すれば、数字が大きくなっても対応できます(ここでは記述を省いています)。
ちなみに、この処理では130などが赤くなりません。%10、%100などを併用するとうまくいきます。

処理例3 – 条件分岐(文字列)

【起動条件:呼び出し】

1の位、10の位が3であることを、条件(文字列)で分岐。
文字列に数値を代入(9行)して【3】という文字が含まれていれば赤く。
さっきのコードは300台や3000台が赤くなりませんが、こちらはしっかり赤くなります。
行数が減って若干スッキリしましたね。

おまけ

【起動条件:呼び出し】【入力:Cself0、Cself1】

最初の定義をこうして、引数で2つの変数を設定して

【起動条件:呼び出し】

別の場所からこういう風に呼び出してやると、外部から数値を変えやすくて便利ですね。この例では1から40をオモローしてくれます。

はじめにお読みください

ここはWOLF RPGエディター(通称ウディタ)のイベント作成において、 ひとつのお題に対していくつかの考え方を示すページです。正解や不正解ではなく、色々な考え方を示していけたらいいなと思っています。詳しくは以下をお読みください。

続きを読む