import stanford.karel.*; public class MidpointThree extends SuperKarel { public void run() { while(frontIsClear()) { placeOneBeeper(); } } private void placeOneBeeper() { while(frontIsClear()) { if(beepersPresent()) { move(); } else { putBeeper(); move(); if(beepersPresent()) { turnAround(); move(); putBeeper(); moveToWall(); pickOneFromEach(); returnToCenter(); } else { moveToWall(); } } } if(notFacingSouth()) { turnAround(); } } private void moveToWall() { while(frontIsClear()) { move(); } } private void pickOneFromEach() { turnAround(); while(beepersPresent()) { pickBeeper(); if(frontIsClear()) { move(); } } } private void returnToCenter() { turnAround(); while(noBeepersPresent()) { if(frontIsClear()) { move(); } } turnLeft(); } }