二日遅れだけど書いておく
目標値決定アルゴリズムに手を入れた。今までは現在位置から目標値を算出していただけだったので、以下のような問題が起こる。
012345 0■■■■■■ 1■■■②③■ 2■■①■■■ 3■■■■■■
1-2-3と移動したいのだが、実際は、
012345 0■■■■■■ 1■■■■③■ 2■■①②■■ 3■■■■■■
のようになってしまう。
つまり、①から②に移動している間に、自己座標が(3,2)に入ってしまい、新たに目標値算出を行うと、③になる。というものだ。
これを解決するために、目標値算出後に目標値到達チェックを行うようにした。これを行うことで、斜め方向への移動は問題なく行えるようになり、先日までなかなか成功しなかった斜めから回り込んでのシュートが可能になった。このアルゴリズムを応用すると、自分の前以外の目標値定義も可能である。
もしや広域探索として実装可能なのでは?やってみよう。