
/**
 * Demonstration of a program with two robots, who harvest two
 * rows of beepers in tandem
 * 
 * @author Russell C. Bjork 
 * @version January 6, 2006
 */
import kareltherobot.*;

public class HarvestTwoRows implements Runnable
{
	/** Main method - set up the world and start the program
	 */
    public static void main(String [] args)
    { 
      	World.readWorld("HarvestTwoRows.world");
      	World.setVisible(true);
      	World.setupThread(new HarvestTwoRows());
      	World.setTrace(false);
      	World.showSpeedControl(true);
    }
    
    /** Method that describes the task to be performed.
     */  
    public void run()
    {
        // Create two new robots, one at 1st and 1st and one at 2nd and 1st,
        // facing East, with no beepers
 		
        Robot karel = new Robot(1, 1, Directions.East, 0);
        Robot suzie = new Robot(2, 1, Directions.East, 0);        

		// Send each down its row, harvesting beepers
		
		karel.move();
		suzie.move();
		karel.pickBeeper();
		suzie.pickBeeper();
		karel.move();
		suzie.move();
		karel.pickBeeper();
		suzie.pickBeeper();
		karel.move();
		suzie.move();
		karel.pickBeeper();
		suzie.pickBeeper();
		karel.move();
		suzie.move();
		karel.pickBeeper();
		suzie.pickBeeper();
		karel.move();
		suzie.move();
		karel.pickBeeper();
		suzie.pickBeeper();
		
		// Turn off the robots when done
		
		karel.turnOff();
		suzie.turnOff();
	}
}