您的位置:首页 > 其它

1

2013-09-30 10:33 405 查看
/*
* 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 beepers
turnBack();
move();
// pick all beepers from side to middle
while(frontIsClear()&&beepersPresent()){
pickBeeper();
move();
while(frontIsClear()&&beepersPresent()){
move();
}
turnBack();
move();
//if(beepersPresent())pickBeeper();
//move();
}
//turnBack();
//move();
putBeeper();// put one at the middle
}else
putBeeper();
}

private void putLineBeepers(){
while(frontIsClear())
{
move();
putBeeper();
}
pickBeeper();

}

private void turnBack(){
turnLeft();
turnLeft();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: