//PascalABC.NET версия 3.2, сборка 1389
//Right – перемещает Робота вправо;
//Left – перемещает Робота влево;
//Up – перемещает Робота вверх;
//Down – перемещает Робота вниз;
//Paint – закрашивает текущую ячейку;
//FreeFromLeft – возвращает True если слева от Робота свободно;
//FreeFromRight – возвращает True если справа от Робота свободно;
//FreeFromUp – возвращает True если сверху от Робота свободно;
//FreeFromDown – возвращает True если снизу от Робота свободно;
uses Robot;
const
h = 10;
w = 15;
begin
Field(w, h);
for var i := 1 to w div 2 do Left;
for var i := 1 to h div 2 do Up;
Stop;
for var i := 1 to h do
begin
if(i mod 2 = 0) then
repeat
if FreeFromLeft then Left;
Paint;
if FreeFromLeft then Left;
Paint;
if FreeFromLeft then Left;
until not FreeFromLeft
else
repeat
if FreeFromRight then Right;
Paint;
if FreeFromRight then Right;
if FreeFromRight then Right;
until not FreeFromRight;
if FreeFromDown then Down;
end;
end.