【问题标题】:Java pathing foreach loopJava 路径 foreach 循环
【发布时间】:2013-05-13 10:09:50
【问题描述】:

我试图通过设置单个怪物“chasePoint”来让我的“怪物”通过“PathingCoordinates”的数组列表。 但每次我添加超过 1 个怪物时,它们都会在 JPanel 周围四处奔跑。 (我的猜测;采取最快的路线到下一个“追逐点”)

由于我是 java 新手,并且是 foreach 循环的第一次用户,如果有人能指出我的逻辑失败的方向,我会很高兴。

for (Monster i : Monstre) 
    {
        this.add(i); //Adds all monsters from the "Monstre" arrayList
        i.setBounds(i.monsterx, i.monstery, Monster.img0.getIconWidth(), Monster.img0.getIconHeight());


        if(i.monstery == i.chasePoint.getY() && i.monsterx == i.chasePoint.getX() ){
            p++;
            i.chasePoint = PathingCoordinates.get(p);
        }
        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”下一个小怪,似乎随机移动。

【问题讨论】:

  • 我认为全局变量 p 有问题。你能发布整个课程吗?
  • 追逐点是如何设置的,这可能是“幽灵般的远距离动作”,您不小心在 moster 的构造函数中设置了相同的对象,但我们需要查看整个类(最好有它自己的 main 方法允许它独立于其他类运行并显示问题)
  • 确实“p”变量似乎有问题! brb
  • 我是否正确理解每个怪物应该遵循相同的路径(一个接一个)?在这种情况下,p 应该是Monster 的成员变量,而不是所有怪物共享的全局变量。
  • 问题是“p”变量在错误的位置创建。谢谢你们的帮助! :)

标签: java foreach path-finding


【解决方案1】:

在 Monster-Class 定义中创建变量“p” 归功于 Lolsvemir & Heuster。

【讨论】:

    猜你喜欢
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    • 2013-05-14
    • 2012-05-20
    • 1970-01-01
    相关资源
    最近更新 更多