java 在方形自动模式下移动球的逻辑我正在实现简单的逻辑

java logic for moving ball in automode in square shape i am implementing simple logic

//code to move ball down direction y axis
void move()
{
    if (y+150<760)
    {
        y=y+1;
    } 
//code to move ball at x axis
else if (x+1<1000)
{
    x=x+1;

}
//  code move ball up direction *here the problem exists need help in logic what should i edit down in this code to move the ball up direction.
else if(y<160)
    {
        y=y-1;

    }

第三个评论显示错误实际上我需要看球向上移动。

这是由于您的第一个 if 语句。对于失败的第一个语句,y 必须大于或等于 760。这意味着当您到达第 3 个 if 语句时,y 将等于 760,这意味着 y<160 为假。您需要像这样在第一个 if 语句中添加下限。

void move()
{
    if (y+150<760 && y >160)
    {
        y=y+1;
    } 
}

编辑 请注意,这是解决逻辑问题,但您仍然会遇到问题。看看这个场景。我知道您也有 X,但只是与 Y 一起工作。 传递一个 y = 609 第一个 if 为真 y = y + 1 = 610 传递两个 y = 610 第一个 if 为 false y = y - 1 = 609 传递三个 y = 609 第一个 if 为真 y = y + 1 = 610 传递四个 y = 610 第一个 if 为 false y = y - 1 = 609

更新 以正方形图案移动球的逻辑是如何工作的。 你有你的 x 和 y 点。所以假设正方形的坐标为左上角 (0, 50)、右上角 (50, 50)、右下角 (50, 0)、左下角 (0,0)

你想把开始的X和Y设置为默认点(0,0)(或4个点中的任何一个),然后你一直增加Y直到50,这是向上的方向。所以那是 if(x==0 && y<=50) y=y+1 然后你继续移动到下一点 if(x<=50 && y == 50) x = x + 1 然后你继续这个逻辑