reak;
if(man.y>5)
{
if(CanGo(m_Map,n,man.x,man.y,man.x+1,man.y)) Add(n,man.x+1,man.y);
if(CanGo(m_Map,n,man.x,man.y,man.x-1,man.y)) Add(n,man.x-1,man.y);
}
if(CanGo(m_Map,n,man.x,man.y,man.x,man.y+1)) Add(n,man.x,man.y+1);
break;
case 11:
case 12:
case 13:
case 14:
case 15:
if(!man.x)break;
if(man.y<6)
{
if(CanGo(m_Map,n,man.x,man.y,man.x+1,man.y)) Add(n,man.x+1,man.y);
if(CanGo(m_Map,n,man.x,man.y,man.x-1,man.y)) Add(n,man.x-1,man.y);
}
if(CanGo(m_Map,n,man.x,man.y,man.x,man.y-1)) Add(n,man.x,man.y-1);
break;
}
}
}
void CMoveList::Add(int man, int x, int y)
{
count ++;
MOVENODE * p=new MOVENODE;
p->move.man=man;
p->move.x=x;
p->move.y=y;
if(end)
{
end->next=p;
end=p;
}
else
{
end=p;
head=p;
now=p;
}
end->next=NULL;
}
void CMoveList::DelAll()
{
now=head;
while (now!=NULL)
{
head=now;
now=now->next;
delete head;
}
head=NULL;
now=NULL;
end=NULL;
count =0;
}