文書の過去の版を表示しています。
迷路は左側の壁に沿っていけば出れる
なんてことは聞いたことがあるのではないかと思います。
要は左へ曲がるのを最優先にするのが左手法です。
プログラムは結構簡単にかけるはずです。
if(左壁がない){
左に曲がる;
}else if(前壁がない){
直進;
}else if(右壁がない){
右に曲がる;
}else{
Uターン;
}
別に左が嫌なら右手法でも構いません。
ゴールが対角にあれば左手法でゴールできますが、
マイクロマウスの場合は中央にゴールがあり、
左手法ではゴールできないパターンがあります。
大会では大抵左手法だけではゴールできないようになっています。
そこで左手法に+αしたのが拡張左手法です。
左へ曲がるを最優先にするのは変わりませんが、
進もうとした先がすでに探査済みなら行かない
というのが拡張部分です。
拡張のさせ方は人によって異なるかもしれません。
ただ拡張左手法は効率が良あまり良くない探査法なので、
できるなら足立法とかの方が良いと思います。