MidpointFindingKarel

来源:互联网 发布:java 计算bmi 编辑:程序博客网 时间:2024/06/06 00:34
/* * File: MidpointFindingKarel.java * ------------------------------- * When you finish writing it, the MidpointFindingKarel class should * leave a beeper on the corner closest to the center of 1st Street * (or either of the two central corners if 1st Street has an even * number of corners).  Karel can put down additional beepers as it * looks for the midpoint, but must pick them up again before it * stops.  The world may be of any size, but you are allowed to * assume that it is at least as tall as it is wide. */import stanford.karel.*;public class MidpointFindingKarel extends SuperKarel {public void run(){if(frontIsClear()){putLineBeepers();    // fill the line with beepersturnBack();move();    // pick all beepers from side to middlewhile(frontIsClear()&&beepersPresent()){pickBeeper();move();while(frontIsClear()&&beepersPresent()){move();}turnBack();move();//if(beepersPresent())pickBeeper();//move();}//turnBack();//move();putBeeper();// put one at the middle}elseputBeeper();}private void putLineBeepers(){while(frontIsClear()){move();putBeeper();}pickBeeper();}private void turnBack(){turnLeft();turnLeft();}}

原创粉丝点击