首页 > 其他 > 详细

cs106a 作业及其他

时间:2014-09-27 22:31:41      阅读:656      评论:0      收藏:0      [点我收藏+]

   cs106s是斯坦福一门叫做编程方法学的课的编号。这门课面向初学编程者,使用的语言是java。课程资源网上都有,我决定把附带的作业自己动手做一下贴在这里。有错漏不足之处欢迎读者指正。

  Assignment 1

  problem #1

  这是个简单的移动Karel的问题。问题很简单,就是移动Karel到方框外的“报纸”处,捡起,然后回到原地。代码如下:

  

  import stanford.karel.*;

  public class CollectNewspaperKarel extends SuperKarel {
  public void run(){
  move();
  move();
  turnRight();
  move();
  turnLeft();
  move();
  pickBeeper();
  turnLeft();
  turnLeft();
  move();
  move();
  move();
  turnRight();
  move();

 }
}

 problem #2

 这个问题也很简单,就是要求Karel能够使得图中每隔4列的列中都填满beeper(已经有的地方不可重复),起始位置是(1,1)。

import stanford.karel.*;

public class StoneMasonKarel extends SuperKarel {

public void run(){
repair();
comeback();
while (frontIsClear()){
for(int i=0;i<4;i++){
move();
}
repair();
comeback();
}


}
private void repair(){
turnLeft();
while (frontIsClear()){
if (noBeepersPresent()){
putBeeper();
}
move();
}
if (noBeepersPresent()){
putBeeper();
}

}
private void comeback(){
turnLeft();
turnLeft();
while (frontIsClear()){
move();
}
turnLeft();
}
}

 

cs106a 作业及其他

原文:http://www.cnblogs.com/livingisgood/p/3995879.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!