procedure TakeAllBrick { while IsBrick {take} } procedure MoveToWall { while not IsWall { TakeAllBrick move} } procedure MoveAcrossFieldfirtStep { MoveToWall TurnLeft move TurnLeft MoveToWall TurnLeft TurnLeft TurnLeft move TurnLeft TurnLeft TurnLeft } procedure MoveAcrossFieldfirstStep { MoveToWall TurnLeft TakeAllBrick move TurnLeft TakeAllBrick MoveToWall TurnLeft TurnLeft TurnLeft TakeAllBrick move TurnLeft TurnLeft TurnLeft } procedure MoveAllSpace { while not IsWall { MoveAcrossFieldfirstStep} }