我需要让船在相反的方向上移动,当它越过界限时(8,-8)。
船只移动但将其当前速度加到当前位置。如果船撞到一个边界,它会转向并在对手中移动。方向...
}
public void move(int direction)
{
this.position = position + direction;
this.velocity = velocity + position;
if ( position > 5)
{
direction = - 1;
}
else if ( position < -5)
{
direction = + 1;
}
}
}
它不起作用..任何帮助都会很棒。
谢谢:)
答案 0 :(得分:1)
我会将代码修改为:
public void move(int direction)
{
if ( position > 5)
{
direction = - 1;
}
else if ( position < -5)
{
direction = + 1;
}
this.position = position + direction;
this.velocity = velocity + position;
}
首先将方向设置为+/- 1(根据您的逻辑),然后才改变位置!
你目前的方式 - 只有在你执行“移动”之后才改变direction
(这是一个局部变量)的值并完成方法的执行(然后是删除此局部变量的值。)
顺便说一下: