Grid 在获取继承者中实现墙*
我有一个获取后继函数C,它为网格中的节点获取后继函数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 &
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)不接受此后续项,但它不起作用,实际上我不知道在哪里,但它:(