Java案例:Karel学习Java,
分享于 点击 46695 次 点评:258
Java案例:Karel学习Java,
机器人Karel
斯坦福大学的《编程方法学》是一个非常优秀的公开课,课程代号为cs106a,Mehran Sahami教授风趣幽默,以Karel语言为开端引入JAVA学习。 Karel是一门面向初学者的教学编程语言,由Richard E. Pattis在他的书《Karel The Robot: A Gentle Introduction to the Art of Programming》中提出。Pattis在他斯坦福大学的课堂上使用这门语言。这门语言根据Karel Čapeka——一位最早提出Robot一词的捷克作家来命名。
一个Karel程序用于控制一个名为Karel的简单机器人,它生活在一个由街道(左右方向)和渠道(上下方向)所组成的网格环境中。Karel能理解5种基本的指令:move(Karel向它面对的方向移动一格),turnLeft(Karel向左转90°),putBeeper(Karel在它所处的格子中放置一个报警器),pickBeeper(Karel将它所处格子中的报警器捡走),以及turnOff(Karel将自己关机,程序结束)。
注意:必须使用JDK1.6。
package net.hw.karel;
import stanford.karel.Karel;
/**
* Created by howard on 2018/2/10.
*/
public class KarelDemo extends Karel {
public static void main(String[] args) {
Karel.main(new String[] { "code=" + KarelDemo.class.getCanonicalName()});
}
@Override
public void run() {
for (int i = 0; i < 5; i++) {
move();
}
turnLeft();
for (int i = 0; i < 3; i++) {
move();
}
}
}
单击【Edit World】,在[4, 6]处放一个Beeper(报警器):package net.hw.karel;
import stanford.karel.Karel;
/**
* Created by howard on 2018/2/10.
*/
public class KarelDemo extends Karel {
public static void main(String[] args) {
Karel.main(new String[] { "code=" + KarelDemo.class.getCanonicalName()});
}
@Override
public void run() {
for (int i = 0; i < 5; i++) {
move();
}
turnLeft();
for (int i = 0; i < 3; i++) {
move();
}
pickBeeper();
for (int i = 0; i < 4; i++) {
move();
}
for (int i = 0; i < 3; i++) {
turnLeft();
}
for (int i =0; i < 2; i ++) {
move();
}
putBeeper();
}
}
单击【Start Program】按钮:
相关文章
- 暂无相关文章
用户点评