贝克尔机器人:让他们移动

时间:2014-11-05 15:58:04

标签: java karel

所以我必须使用becker.robots包向前移动并拿起一定数量的闪光灯,然后转身放置它们。但是,我不知道如何调用robot.move()方法。每当我试图让它前进时,我得到一个编译器错误说:

错误:类becker.robots.Robot中的方法移动不能应用于给定类型;   必需:没有参数   发现:int   原因:实际和正式的参数列表长度不同

有人可以帮助我:)。

2 个答案:

答案 0 :(得分:0)

  • 必需:无参数
  • 发现:int

您正在撰写robot.move(5)或其他可以解析为数字的内容,您应该写robot.move()。如果要移动5次,请使用例如循环。

答案 1 :(得分:0)

在Karel / Becker中移动机器人一次只能移动一个步骤。当然是设计。

From the documentation

如果你想向前移动6个空格,你需要做一个for循环:

for(int i = 0; i < 6; i++) {
    robot.move();
}

或者6次调用robot.move():

    robot.move();
    robot.move();
    robot.move();
    robot.move();
    robot.move();
    robot.move();

或者,可以创建一个多次移动它的方法。

void customMove(int move) {
    for(int i = 0; i < move; i++) {
        robot.move();
    }
}

然后拨打customMove(6);将卡雷尔前进6次。

显然,为了避免打破Karel,你应该在移动之前检查它是否清晰,但这是一个移动的概念设计。