ロボットのアルゴリズム2 ランナーのいる高さに行ける場合、そこへ向かう。 ロボットのアルゴリズム3 ランナーのいる高さに行けない場合、行ける場所から優先順位の高い位置へ向かう。 |
よし待ってろ今行く。
アルゴリズム1(地続き)でなければ、これをチェックするのですが…
そのためには「ロボットが行けると思い込む位置」を知る必要があるわけです。
「ロボットが行ける場所」を理解するにはロボットが見ている範囲(視界)を理解する必要があります。
ロボットの視界は「ヨコ行ってタテ」で定義されます。
この横に見ていく範囲を「横視界」、
横視界内から上下に進める範囲を「縦視界」とします。
「行ける場所」は「縦視界」内の何ヶ所かになります。
→
「行ける場所」をすべて洗い出したら、その中にランナーの高さと同じ場所があるかで
どっちの法則で動くか決まります。
基本的には、ロボがヨコに行ける範囲が横視界になります。
例外もあるんで、画像とあわせて確認。
壁があったらそこで横視界は終了
はしごとバーは移動できる。金塊はブランクと同じ。
穴があったらそこで横視界終了
落とし穴はブランクと同じ。
横視界のまとめ
・ロボが横移動できる範囲が横視界。
横視界内にはしごがあった場合、そこから上に縦視界がのびます。
横視界内に下に行ける要素(落下、バーから手を放せる、はしごを下りられる)があった場合、
そこから下に縦視界がのびます。
まず上から。
ここから考えて、
横視界内の上に行ける箇所をチェック!(はしごしかないね)
上方向の縦視界は一段上がったところからはしごの上までできる。
上がわかったら次は下。
ここから考えて、
横視界内の降りられる箇所をチェック!
そこからレンガかコンクリまで行ったら縦視界(下)完成。
(具体例)
実例。左上のロボにとっての縦視界は…
この5本。