Java 让机器人在区域内向前移动
我试图让一个机器人在x轴和y轴上向前移动,这是基于机器人已经面对的方向。我在让机器人移动时遇到了困难,但是,它不会抛出错误。当我运行测试方法时,它显示机器人仍然位于(1,1)。机器人一次只能移动一个空间。到目前为止,我已经用下面的代码尝试了以下步骤。有人能告诉我我做错了什么吗Java 让机器人在区域内向前移动,java,methods,Java,Methods,我试图让一个机器人在x轴和y轴上向前移动,这是基于机器人已经面对的方向。我在让机器人移动时遇到了困难,但是,它不会抛出错误。当我运行测试方法时,它显示机器人仍然位于(1,1)。机器人一次只能移动一个空间。到目前为止,我已经用下面的代码尝试了以下步骤。有人能告诉我我做错了什么吗 public void moveForward() { switch (directionRobotsFacing) { case DOWN: getX() getY() + 1;
public void moveForward() {
switch (directionRobotsFacing) {
case DOWN:
getX() getY() + 1;
break;
case RIGHT:
setLocation(getX() + 1, getY());
break;
case UP:
setLocation(getX(), getY() - 1);
break;
case LEFT:
setLocation(getX() - 1, getY());
break;
}
}
private void setLocation(int i, int y) {
i = getX();
y = getY();
}
两件事:a)在setLocation
方法中,您需要更新坐标(setX(i);setY(y);
),而不是将当前坐标分配给i
和y
。b) 您需要通过在机箱中设置新位置来完成代码。总的来说,只更新开关中涉及的坐标(X或Y)可能更容易。对于DOWN,您可以使用setY(getY()+1)
。