翻译广场

时间:2014-12-14 22:43:51

标签: java debugging

我有一个带有方形甜甜圈作为赛道的汽车游戏。我想制作一些虚拟汽车,这些汽车将简单地绕过这个方形航线,并且在AI汽车必须制造的最后一个转弯处遇到一些问题。

在下面我还添加了一张基本图片,展示了我所拥有的赛马场的概念。汽车在原点附近开始,在y方向上平移,然后在x方向上平移,然后在y上向上进行另一次平移,然后在x方向上进行最后一次转换。

double velX = 2;
double vely = 2;
if (positionx < 14 && positiony < 60){ //move straight down the first strip
    vely += vely;
    velx = 0;
}
if (positiony > 65){ //make the first turn and move x units
    gl.glRotated(90, 0, 1, 0);
    velx += velx;
    vely = 0;
}
if (positionx > 20){ //make the next turn and go down the next strip
    gl.glRotated(180, 0, 1, 0);
    vely = 2;
    velx = 0;
    vely -= vely + 1;
}
if (positiony < -68){ //Here is where I am running into my error. I turn but get stuck
    gl.glRotated(-270, 0, 1, 0);
    vely = 0;
    velx += velx -1;
}
positionx += velx;
positiony += vely;

enter image description here

1 个答案:

答案 0 :(得分:0)

导致卡住的错误发生在位置20,-69,其中:

if (positiony < -68){ //Here is where I am running into my error. I turn but get stuck
    gl.glRotated(-270, 0, 1, 0);
    vely = 0;
    velx += velx -1;
}

velx已初始化为 2 ; velx += velx -1使其 3 ,让汽车弹回到位置23,-69并重复。如果您将velx += velx -1更改为velx = -2,则汽车会继续前进。