黑马程序员技术交流社区

标题: 让Karel机器人帮我们理解JAVA语言 形象生动 ... [打印本页]

作者: laiminghui    时间: 2013-6-9 17:37
标题: 让Karel机器人帮我们理解JAVA语言 形象生动 ...
本帖最后由 laiminghui 于 2013-6-9 20:23 编辑

下载Karel机器人文件
http://www.stanford.edu/class/cs106a/assignments/Assignment1.zip


下载完后导入到Eclipse编译器里面。
导入方法:
打开Eclipse StanFord Menu--->Import Project
弹出窗口,点击Browse
会弹出一个窗口选择文件。选择Karel机器人文件.








用卡雷尔机器人很好的理解 JAVA语言的结构还有编程思想.
karel四个命令:
                    move            向前进一步
                    turnleft          向左转(90度)
                    pickBeeper     捡起蜂鸣器
                    putBeeper     拿出蜂鸣器放在指定位置




如下程序:指定了一系列的命令过程(也叫编程)






<karel程序>
/*...............注释是用来解析程序操作的的简单文本.............*/

import  stanford.karel . *;

         public class Karelprogram extends Karel {    // extends 的意思是Karelprogram 是Karel的扩展
                   public void run(){
                                   move();
                                   pickBeeper();
                                   move();
                                   turnleft();
                                   move();
                                   turnright();
                                   move();      
                                   putBeeper();
                                   move();
                                  putBeeper();
                                  move();
                                 turnAround()
                          }

/*.............创建新的指令............*/


private void  turnRight(){
                          turnleft();
                          turnleft();
                           turnleft();

           }

}

/*.............创建新的指令............*/  

private void  turnAround(){
                          turnleft();
                          turnleft();
                        
           }

}

有图在文章最后面... ...






<SuperKarel程序 >


SuperKarel 的命令:
                    move            向前进一步
                    turnleft          向左转(90度)
                    pickBeeper     捡起蜂鸣器
                    putBeeper     拿出蜂鸣器放在指定位置
                    turnRight     向右转
                    turnAround   转一圈
                     ... ...

可选择的测试条件:最后面有图... ...


如下程序使用了,for语句        if语句         while语句  

下面的程序包含了面向对象的思想----------有创建类思想-------------有分解的思想-------------有逐步求精的思想






/*.........注释.........*/

import  stanford.karel . *;
         public class Karelprogram extends SuperKarel {    // 又用 for语句 if语言
                         public void run () {
                                  for(int i=0 , i < 9), i ++){
                                      if( frontIsClear() ) {  //frontIsClear 测试条件    有图在后面
                                                     move();
                                                     }else{
                                                      JumpHurdle();
                                                    }

                                      }

           }


/*.............创建新的指令............*/  

private void JumpHurdle(){

                       ascendHurdle();
                       move();
                       descendHurdle();                                                                                                                                                               
             }

/*.............while语言 ...........*/  

          private void ascendHurdle() {

                          turnleft();
                          while(rightIsBlocked()){ //  rightIsBlocked  测试条件    有图在后面
                          move();

                       }
                      turnRight();

}
/*.............创建新的指令............*/  
           private  void descendHurdle(){

                                   turnRight();
                                  moveToWall();
                                   turnLeft();
                        }

/*.............while语言............*/  
           private   void  moveToWall(){
                            while  (frontIsClear() ){ //  frontIsClear 测试条件    有图在后面
                                               move();

                                        }

                    }


}
有图在文章最后面...   ...{:soso_e112:}








karel.jpg (9.17 KB, 下载次数: 0)

karel的世界

karel的世界

Karel 2.jpg (31.71 KB, 下载次数: 0)

可爱的karel

可爱的karel

karel.jpg (70.4 KB, 下载次数: 0)

karel可选择的条件

karel可选择的条件

作者: 8047107    时间: 2013-6-9 17:45
等版主给分~
作者: Renica    时间: 2013-6-9 17:54
不明白!
作者: laiminghui    时间: 2013-6-9 20:15
Renica 发表于 2013-6-9 17:54
不明白!

你再看看  补充了  
作者: 神之梦    时间: 2013-6-11 13:17
看起来好强大




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2