Игровое окружение "Робот"

Прямоугольное поле N x M, клетки которого свободны или заняты другими объектами. Объекты на поле:

Пользователю дана возможность оставлять в клетках флажки для того, чтобы он мог помечать клетки. В принципе, помечать клетки можно и цветом, однако помечать клетки числом (номер флажка) удобнее. Также номер можно легко отобразить при отрисовке игрового поля (например, просто цифрой).

В начальный момент времени Робот находится в клетке с координатами (1; 1) (или иной, если задано в конфигурационном файле). Начальная расстановка объектов на поле может быть другой, определяется сценарием.

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

Первоначальный цвет клеток поля задается в конфигурационном файле. Если в файле цвет не задан, то клетки белые. Робот не может очищать клетки (но может закрасить их в белый цвет).

Робот:

Команды Робота:

Задача Робота:

Требования к ИО: