迷路を"S"からスタートし"G"へゴールする様な脱出アルゴリズムの作成
システム設計
- mapにユーザー定義型[wall][road]を設定
- ゴールまでたどり着くよう、[save][reset]メソッドを作成
- [road]型に通った道を記す[gone]フラグをセット
- [road]型にリセット前に通った道を示す[art_gone]フラグをセット
- 基本処理として、周囲のマスの中で[road]の[gone],[alt_gone]フラグの着いていないマスに移動
- マスを移動する際に2つ以上進んだ事ない道があった際、saveアクションを実行
- saveアクションが実行されると、現在の座標位置を無制限配列?で記録
※セーブスロットが1つだと、「分岐の先の分岐」があった場合詰むため - ゴールの座標に一番近い座標の値を優先的に移動
- 行き止まりになった際はresetアクションを実行し、一番新しいsaveアクションが実行された座標に戻る
- 以上の処理を繰り返し、ゴール座標へ向かう
基本処理
- 空いているマスへ移動
- 分岐がある場合はセーブし、ゴールに近いマス(or ランダム)に移動
- 行き止まりが起きた場合はリセットし、セーブ座標へ戻る