首页 文章

吃 beans 子,让鬼魂追逐吃 beans 子

提问于
浏览
-3

所以,在Java中,对于一个项目,我必须编码四个鬼并让他们追逐Pacman . 这是我现在的代码 . 当我运行它时,我得到错误,即返回actions [i]中的变量“i”无法找到 . 有谁知道为什么会这样?这是我的代码 .

public int[] clyde(Game game)
{

    Defender clyde = game.getDefender(3);
    Attacker pacman = game.getAttacker();
    int direction = clyde.getDirection();
    direction = clyde.getNextDir(pacman.getLocation(), true);
    int[] actions = new int[game.NUM_DEFENDER];
    List<Defender> enemies = game.getDefenders();
    int x = 0;
    if (clyde.isVulnerable())
    {
        for (int i = 0; i < actions.length; i++)
        {
            List<game.models.Node> powerpills = game.getPowerPillList();
            Defender defender = enemies.get(i);
            List<Integer> possibleDirs = defender.getPossibleDirs();

            if (possibleDirs.size() != 0)
            {
                actions[i] = possibleDirs.get(Game.rng.nextInt(possibleDirs.size()));
                for (int j = 0; j < powerpills.size(); j++)
                {
                    powerpills = game.getPowerPillList();
                    actions[i] = clyde.getNextDir(pacman.getLocation(), true);

                }
            }
            else
                clyde.getNextDir(pacman.getLocation(), false);

        }



    }
    return actions[i];

1 回答

  • 2

    变量 i 超出了该行的范围 . 在forloop中定义 i ,在其中探索每个动作/鬼魂 . 循环结束后,不再定义 i .

    编辑:由于你的函数返回 int [] ,你不应该返回 actions (一个具有每个鬼的动作的数组)而不是单个动作吗?

相关问题