本帖最后由 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:}
|
|