gpt4 book ai didi

java - 使用寻路时找到最接近目的地的物体

转载 作者:太空宇宙 更新时间:2023-11-04 07:32:25 25 4
gpt4 key购买 nike

我希望获得有关 2D java 游戏伪代码的帮助,

enter image description here

怪物(橙色球)通过路径坐标(点)沿着黑线运行:

    if(i.monsterx < i.chasePoint.getX()){
i.monsterx++;
}else if(i.monstery < i.chasePoint.getY()){
i.monstery++;
}else if(i.monsterx > i.chasePoint.getX()){
i.monsterx--;
}else if(i.monstery > i.chasePoint.getY()){
i.monstery--;
}

每次怪物到达“chasePoint”时,它都会获得一个新的chasePoint,等等......

黑色方 block 应该看起来像是在射击怪物,绿色圆圈是射击场。但我如何决定子弹的去向呢?我更喜欢黑色方 block 在前面射击生物,但由于生物可能会减慢/眩晕,因此没有特定的顺序,我如何知道哪个生物在前面最长?

最佳答案

最简单的解决方案是让每个怪物跟踪其行进的距离(而不是其生存时间;由于速度不同、眩晕等),然后瞄准行进距离最长的怪物。假设黑轨没有改变,这将使最接近末端的怪物成为目标。

如果黑轨确实发生了很大变化(由于放置了新塔),则要求生成黑轨的对象(并在塔放置时重新生成它)来标记特定追逐点还剩多少个方 block 才能到达终点(它已经知道路径,所以这应该足够简单;我假设您正在使用 A* 算法或类似算法来生成此路径;如果是这样,这个数字几乎就不会在算法中出现)。然后怪物可以在其chasePoint更新时被赋予该值。然后大炮询问范围内的所有怪物距离终点还有多远,并瞄准数量最小的怪物

关于java - 使用寻路时找到最接近目的地的物体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17485381/

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