ページ 11

【解決済み】複数の条件分岐の書き方に関しての質問

Posted: 2025年12月03日(水) 18:15
by akaimi
閲覧してただきありがとうございます。
現在、条件分岐で複数の条件がある際の実行内容の書き方について迷っております。

【例】
◆条件分岐:リンゴの数 = 1
 ◆画面の色調変更
 ◆
:分岐終了
◆条件分岐:リンゴの数 = 2
 ◆画面の色調変更
 ◆
:分岐終了
◆条件分岐:リンゴの数 = 3
 ◆画面の色調変更
 ◆
:分岐終了

例は入手したリンゴの数によって画面の色調が変わるイベントです。
主にコモンイベント(並行処理)などでこの書き方をしているのですが、
「それ以外のとき」も使ったほうがいいのでしょうか?
初心者のため理解できていないことが多いです。
どなたかご協力よろしくお願いいたします。

Re: 複数の条件分岐の書き方に関しての質問

Posted: 2025年12月07日(日) 10:21
by こめかみ
「それ以外のとき」は[条件に合致しないときに行いたい処理がある場合]
※例えばリンゴを"ちょうど3個"持ってるか、リンゴを"ちょうど3個"持っていないか(=それ以外のとき)

または以下のような[ネスト構造(条件分岐の中でさらに条件分岐)の場合]などで使います。
◆条件分岐:リンゴの数 = 1
 ◆画面の色調変更
 :それ以外のとき
  ◆条件分岐:リンゴの数 = 2
  ◆画面の色調変更
  :それ以外のとき
   ◆条件分岐:リンゴの数 = 3
   ◆画面の色調変更
   :それ以外のとき(=リンゴが0個または4個以上)
   ◆画面の色調変更
  :分岐終了
 :分岐終了
:分岐終了
条件分岐の処理をネスト状に一度で行うか、フラットに順番で行うかの違いです。

ただし質問者様の例のフラット式で「それ以外のとき」に何か書くと想定外の挙動が起きると思います(リンゴの個数という条件が複数あるため)
何も書かなければ無視されますが、視認性が悪くなるので非表示でいいと思います。
◆条件分岐:リンゴの数 = 1
 ◆画面の色調変更
 :それ以外のとき
 ◆※ここのコマンドはリンゴが0個or2個or3個or4個以上でも実行してしまいます。
:分岐終了
◆条件分岐:リンゴの数 = 2
 ◆画面の色調変更
 :それ以外のとき
 ◆※ここのコマンドはリンゴが0個or1個or3個or4個以上でも実行してしまいます。
:分岐終了
◆条件分岐:リンゴの数 = 3
 ◆画面の色調変更
 :それ以外のとき
 ◆※ここのコマンドはリンゴが0個or1個or2個or4個以上でも実行してしまいます。
:分岐終了
上記の例ではリンゴの個数に関わらず3つの条件分岐全てでなにかしらの処理を実行してしまいます。

Re: 複数の条件分岐の書き方に関しての質問

Posted: 2025年12月07日(日) 16:38
by akaimi
返信ありがとうございます。
なるほど、フラット式とネスト状の違いなんですね。

大変参考になりました!
改めてありがとうございました!