void boundaryWalls() {
if (nextToACoin()) {
takeCoin();
faceWest();
while (!frontIsBlocked()
move;
putCoin();
goHome();
}
else {
faceSouth();
while (!frontIsBlocked()
move;
if (nextToACoin()) {
takeCoin();
}
goHome();
}
}
or...
void number15() {
if (nextToACoin()
westRoute();
else southRoute();
goHome();
}
void westRoute() {
takeCoin();
faceWest();
moveToWall();
putCoin();
}
void southRoute() {
faceSouth();
moveToWall();
if (nextToACoin()) {
takeCoin();
}
}