5章 優先順位はどうなっている?

しつこくアルゴリズム。

1.ランナーが同じ高さにいて、地続きの場合、ランナーのほうへ行く。
2.ランナーのいる高さに行ける場合、そこへ向かう。
3.ランナーのいる高さに行けない場合、行ける場所から優先順位の高い位置へ向かう。

次はランナーと同じ高さに行けない場合のことを考えます。
この場合は、ランナーの高さより高いところに行こうとします
sikai18.PNGsikai19.PNG
最優先はランナーの1段上(図のマル1)です。
その段に行けない場合はランナーより2段上、(図のマル2)
そこもダメなら3段上…となります。

ランナーより上の段に行けない場合は、ランナーの1段下を目指します。(図のマル6)
そこに行けない場合はランナーの2段下、そこもダメなら3段下…です。

ためしにマル1の下のコンクリをブランクにすると、ロボットはマル2に向かうようになります。
同様にマル2の下のコンクリをブランクにするとマル3に向かうようになります。

じゃあ優先順位が同じ高さに2か所行ける場所があるならばどうかといいますと、
・ロボットから見て真上、真下が最優先。
・真上真下に行ける場所がない時は左側優先
となります。ランナーの高さに行けるときは距離優先だったのに対し、
今度は左側優先です。間違えないようにしましょう。
sikai20.PNGsikai21.PNG
↑左をエディット。ロボットは両方左へ。ロボットは左側が好き

sikai17.PNG
ランナーの高さに行けるときとは違うことに注意。

ロボットと行きたい先が重なった場合、ロボットは下を入力した動き(はしごを降りる、バーから手を離す)をします。

まとめ
ランナーの高さにいけない場合
・ランナーより高い位置に行きたがる。
・ランナーより低い位置にしか行けない場合、そのいちばん高いところへ行きたがる。
・行きたい高さに行ける場所が複数ある場合、ロボの真下が優先。
・真下以外の複数の場合、左側に行ける場所があればそっちへ。なければ右へ。
・ロボがいる場所と、その行きたい先が同じの場合、下に降りる動作をする。

4章へ
6章へ
トップに戻る