欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java案例:Karel学习Java,

来源: javaer 分享于  点击 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(报警器):


任务:让Karel在[4,6]处捡起Beeper,然后放到[8,8]处。

修改KarelDemo代码:
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】按钮:


相关文章

    暂无相关文章
相关栏目:

用户点评