gpt4 book ai didi

java - 桨游戏中的 move() 方法

转载 作者:行者123 更新时间:2023-12-01 13:07:17 26 4
gpt4 key购买 nike

目前正在我的桨游戏中实现球类的 move() 方法。桨游戏是桨在底部的游戏,可以左右移动。球从三堵墙上弹开。我意识到我的移动方法是错误的,想知道是否有人可以指出我实现它的正确方法。我需要考虑球何时从侧面和顶部弹起

编辑:我尝试了我的代码,但它仍然没有从墙上反弹

我的代码:

    if (this.y+speed<=0+radius)     //Checking for top          
{
System.out.println("in y"); //Checking if it's in this condition
flipYDir();


}
else if (this.x+speed<=0+radius) //Checking for left wall
{
System.out.println("in x<"); //Checking if it's in this condition
flipXDir();


}
else if (this.x+speed<courtWidth-radius) //Checking for right wall
{
System.out.println("in x>"); //Checking if it's in this condition
flipXDir();

}
else //Update move
{
x+=speed*xDir;
y+=speed*yDir;
}

最佳答案

这里有几个问题:

  • 由于您向 x 和 y 添加相同的值(速度),因此您的球始终会以 45 度角移动。不过,这可能就是您想要的...

  • 您正在检查 x==0 和 x==courtWidth,并反转当时的方向,但如果 x=17、courtwidth=20、xDir =1 和 speed=5 会怎样?当你增加 x 时,它将是 22,并且它永远不会完全等于球场宽度,并且只会永远增加。您必须以某种方式处理球没有准确落在球场边缘的情况。

  • 您可能不想在所有三堵墙处同时翻转 X 和 Y 方向 - 如果这样做,无论击中何处,球都会直接弹回它来的方向

关于java - 桨游戏中的 move() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23176118/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com