左手法でクリアできるはずなのですが同じ場所でずっとくるくる回っているだけで前に進めません。
予想だとスタートから一歩前に進んでからこのif文を動かせばいいのかなと思うんですけどやり方がわかりません。
違う方法があるならば教えて下さるとありがたいです。
自分が書いた左手法のプログラムです。
なにか見たい部分があれば言っていただけると幸いです。
コード:
//壁の状況を取得する
wall = getWall();
if (!(wall & D_WALL_LEFT)) { //左に壁がない
leftTurn();
}
else if (!(wall & D_WALL_FRONT)) { //前に壁がない
straight();
}
else if (!(wall & D_WALL_RIGHT)) { //右に壁がない
rightTurn();
}
else { //後ろに下がる
back();
}