したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

オリジナルシナリオ総合スレ part26

761名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2024/04/14(日) 16:40:06 ID:???
>>758
概ねそれでいいかと思います
こちらの意図としては直下というのは「scenario構造体でfight=で指定したevent」「fight=onにしたstory構造体」「battleEvent()で呼び出したevent」の真下というつもり
そこの中で一番外側にあるif文に「一度しか実行されない」というルールが適用されるという感じ
routine()で別構造体を呼び出した場合についてはそのroutine()自体をif文の中に入れず直置きした場合
そのroutine()で呼び出したevent構造体の中で一番外側にあるif文が一回のみの実行となります
(軽く検証したところ、battleEventの場合は直置きだとそもそも呼び出せてない可能性あり)

なお検証したところこちらの理解に間違いがあったようで
戦闘イベントと一口に言っても「scenario構造体でfight=で指定したevent」と「battleEvent()で呼び出したevent」のルールは若干違うらしく
前者の場合if文の中でなくてもwhileとelseが使え、一方でrif文を繰り返してくれませんでした

なので「いつの間にか戦闘イベントでwhileが使えるようになっている」というのは本当っぽい…?
ただし「一番外側のif文は1回のみ」というルールについてはどちらにも共通としてあるようで
そのルールがwhileやelseにどう適用されるのかはwikiに記述がなく
何が起こるかわからないのでwhileと同じ条件のif文の中に入れるなどした方が無難かと思います
正直こちらの理解も完全ではないので結局のところ手探りしかないかも…




掲示板管理者へ連絡 無料レンタル掲示板