3Dダンジョンロールプレイングゲーム 第84回目です。
いよいよ、「ラスボス」用の「BE」スクリプトを組んでいきます。
命令 | 意味 | 記述 | 動作 |
BE | BattleEnemy | BE,e1,m1,m2 | 敵F1とイベント戦闘を開始する。戦闘に勝てばメッセージm1へ、敗れればm2へ。 |
…と、ここで気付きました。
敵と遭遇時、一旦BASICへ戻ると言う事は、PUSHでスタックした内容を一旦吐き出さないといけない。
尚且つ、BASICから復帰した際、吐き出した内容を再度スタックへ取り込み、イベントの続きから再スタートしないといけない!
おぉ、なかなか難題だ。
正直、BASICに戻らなければ単純なので、もっと簡単に考えていました。
あちこち色々、ロジックの変更。
イベント戦闘フラグ(&HE026)をフラグにして、処理の流れをコントロール。
イベント戦闘開始時に、スタック内容を吐き出し変数に保存してBASICへ。(2個)
戦闘終了後、変数を再度スタックに取り込み(PUSH)、イベント処理へ。
書くは簡単、組むは難し…。
共通ロジックの残り容量少ないので、予想以上に大変です。
共通ロジックに組み込みたいところを、一部、あえてBASIC部に組んでいます。
何とか、完成しました!
戦闘終了後、イベントの続きから実行されるようになりました。
次回は、BASIC間とのやり取りは完成したので、「BE」のそれ以外を組んでいきます。