処理の構造を考えた

条件文の多重化 PICO-8
条件文の多重化

PICO-8スネークゲーム「ピコニョロ」を作っていて、アイテム出現で、「いくつかの条件が満たした状態でランダムに出現させたい」をどの様に表現したら良いのかを考えていました。

単純に考えるなら、

if 条件A then
    if 条件B then
      if 条件C then
        実行する命令
      end
    end 
end

こんな感じになると思います(自分は思いました)。

しかし、この条件が増えるとインデントが更に深くなってしまいます(精神衛生上良くないと思います)。

そこで、

flag = true

if not(条件A) then
  flag = false
end

if not(条件B) then
  flag = false
end

if not(条件C) then
  flag = false
end

if flag then
  実行する命令
end

このようにすれば、条件A〜Cのどれか一つでも真にならなかったら(not(条件))、flagにはfalseが入るので、命令は実行されなくなります。

この方が、見やすくてスマートだと思いました。

コメント

タイトルとURLをコピーしました