Как насчет этого: когда бот окружает объект, он изменяет свою внутреннюю карту, изменяя квадраты границ объекта с «неизвестного» на «заполненный». Если он оказывается рядом с двумя (или более) проданными блоками, следует обратить внимание на тот, который помечен как «неизвестный» с «заполненным» соседом.
Есть еще несколько специфических случаев, с которыми приходится иметь дело, и многое зависит от некоторых вариантов дизайна - являются ли диагональные соседи "смежными", и если да, то как обращаться с шахматными досками, отмечать ли квадрат перед или после нахождения следующий и так далее. Но комбинация меток на карте и видимых блоков должна дать достаточно информации для того, чтобы бот сохранил свои ориентиры.