/* * File: CollectNewspaperKarel.java * -------------------------------- * At present, the CollectNewspaperKarel subclass does nothing. * Your job in the assignment is to add the necessary code to * instruct Karel to walk to the door of its house, pick up the * newspaper (represented by a beeper, of course), and then return * to its initial position in the upper left corner of the house. */ import stanford.karel.*; public class CollectNewspaperKarel extends SuperKarel { public void run() { moveToWall(); climbMountain(); reorient(); moveToWall(); } private void climbMountain() { if(frontIsBlocked()) { stepUp(); climbMountain(); } stepDown(); } private void stepUp() { turnLeft(); move(); turnRight(); } private void stepDown() { move(); turnRight(); move(); turnLeft(); } private void moveToWall() { while(frontIsClear()) move(); } private void reorient() { while(notFacingEast()) turnLeft(); } }