周回を考える
アレをナニするために必要な個々の動作についてはある程度目途がつきました
全体の動作について考えることにしましょう
いわく一周の流れを固定パターン化出来ればいいのですが諸事織り込むと完全に固定することは困難です
とはいえ果たすべき動作の流れは整理しないとスクリプトになりませんから大くくりにまとめていきます
//周回サンプル
(初期設定)
while true //メインループ
(編成)
(修理)
(強化/分解)
(戦闘)
(支援帰還)
fend編成固定だったり損害はまったく受けない周回ならそれぞれの処理は不要ですが0-2貧乏を考えると一通り必要ですねよ
地味に想定外に面倒なことになったのが支援帰還、心折れかけましたが資源確保のためには避けられません
あとは個々の中身の作り込みと実行制御アルゴリズムがあれば出来上がり、簡単・・・・・・ではなかった
まずホーム画面(と言っていいのか?)から次に実行する操作へ進めていく前提で順序なり判定を検討します
//周回サンプル
(初期設定)
while true //メインループ
(編成):戦闘ごとにアタッカー組みなおす
(修理):壁のダメージ量により修理する
(強化/分解):倉庫満杯になったら餌or分解する
(戦闘):アタッカー編成完了、壁体力OK、倉庫空きありなら実施
(支援帰還):帰ってきたら再度送り出す
fend低IQ指揮官なのでそれぞれ状況フラグ用意します、実行順序の兼ね合いもあるので if文使って並べていきます
//周回サンプル
(初期設定)
while true //メインループ
ifb 支援帰還フラグ then
(支援帰還):帰ってきたら再度送り出す
支援帰還フラグクリア
elseif 編成フラグ then
(編成):戦闘ごとにアタッカー組みなおす
編成フラグクリア
elseif 修理フラグ then
(修理):壁を修理する
修理フラグクリア
elseif 倉庫整理フラグ then
(強化/分解):強化or分解する
倉庫整理フラグクリア
else //ここまで判定流れてくれば戦闘してもいいはず
(戦闘):アタッカー編成完了、壁体力OK、倉庫空きありなら実施
編成フラグセット
壁体力チェック→修理フラグセット
倉庫満杯→倉庫整理フラグセット
endif
fend基本は各フラグにより実行要否を判断しますが処理によってはフラグを使わず画面そのものから判断する手抜きもします
具体的には支援帰還の対応なんかは手抜きしやすそうです
壁修理は体力量の直読が難しそうなのでひとまず規定周回数で修理することに妥協
倉庫整理も同様に周回数で実施で構いませんが戦闘突入時に空き枠チェック入るのでその動きを利用することにしました
言うのが最後になりましたが条件判断は実施優先度に従って並べ直しました
//周回サンプル
(初期設定)
while true //メインループ
ifb 支援帰還画面 then
(支援帰還):帰ってきたら再度送り出す
elseif 編成フラグ then
(編成):戦闘ごとにアタッカー組みなおす
編成フラグクリア
elseif 修理フラグ then
(修理):壁を修理する
修理フラグ、周回数クリア
elseif 倉庫整理フラグ then
(強化/分解):強化or分解する
倉庫整理フラグクリア
else //ここまで判定流れてくれば戦闘してもいいはず
(戦闘):アタッカー編成完了、壁体力OK、倉庫空きありなら実施
[異常終了]
支援帰還割込み→ループに戻す
倉庫満杯エラー→倉庫整理フラグセット
[正常終了]
周回数+1
編成フラグセット
周回数チェック→修理フラグセット
endif
fendあとは実装しながらの調整になるでしょう