Grid 在获取继承者中实现墙*

Grid 在获取继承者中实现墙*,grid,a-star,Grid,A Star,我有一个获取后继函数C,它为网格中的节点获取后继函数 public ArrayList GetSuccessors() { ArrayList successors = new ArrayList (); for (int xd=-1;xd<=1;xd++) { for (int yd=-1;yd<=1;yd++) { if ((xd != 0 &

我有一个获取后继函数C,它为网格中的节点获取后继函数

public ArrayList GetSuccessors()
    {
        ArrayList successors = new ArrayList ();

        for (int xd=-1;xd<=1;xd++)
        {
            for (int yd=-1;yd<=1;yd++)
            {
                if ((xd != 0 && yd == 0) || (xd == 0 && yd != 0)) // to take only up - down - right - left
                {

                    if (Map.getMap(x + xd, y + yd) != -1)
                    {
                            // generate a new node where the parent node is the existance, goal node, cost , x , y
                            Node n = new Node(this, this._goalNode, Map.getMap(x + xd, y + yd), x + xd, y + yd);

                            // to elemenat duplication 
                            if (!n.isMatch(this.parentNode) && !n.isMatch(this))
                                successors.Add(n);

                    }
                }
            }
        }
        return successors;
    }
public ArrayList getsuccessivers()
{
ArrayList继承者=新的ArrayList();

对于(int xd=-1;xd…您只是不将其作为后续项返回。您尝试了什么?我尝试添加条件,如果(x=0&&y=0&&xd=0&&yd=1)不接受此后续项,但它不起作用,实际上我不知道在哪里,但它:(