//加入节点
last++;
last->prior=snode->prior;
last->state=snode->state;
last->ext_state=snode->ext_state;
totalnodes++;
delete snode;
if (c.state[3][1]==CAOCAO && c.state[4][2]==CAOCAO )
return SUCCESS;
else
return ADD_ONE_NODE;
}
void hrd_calculate::InitState(unsigned __int8 state[5][4])
{
//设定初始状态
node initnode;
initnode.prior=0; //没有上一步
for(int i=0;i<5;i++)
for(int j=0;j<4;j++)
initnode.state[i][j]=state[i][j];
////////////////////
NodeToSNode(&initnode,first);
////////////
last=first;
search=first;
current_last=first;
depth=1;
totalnodes=1;
table[0]=0;
table[depth]=(unsigned int)first;
}
int hrd_calculate::SearchOneNode(node *c)
{
int i,j;
int next_nodes=0;
node t;
for(i=0;i<5;i++)
for(j=0;j<4;j++)
{
if (c->state[i][j]==BLANK)
{
///////////////////////////////////////////////////////////////////////////////
//直走两步
if (j<3)
{
if (c->state[i][j+1]==BLANK)
{
if (j>0)//左边兵右移两格
{
if (c->state[i][j-1] == SOLDIER)
{
t=*c; t.prior=c->prior;
t.state[i][j-1]=BLANK;
t.state[i][j+1]=SOLDIER;
switch (AddNode(t))
{
case SUCCESS: return SUCCESS;
case ADD_ONE_NODE: next_nodes++;
}
}
}
if (j<2)//右边兵左移两格
{
if (c->state[i][j+2]==SOLDIER)
{
t=*c; t.prior=c->prior;
t.state[i][j+2]=BLANK;
t.state[i][j]=SOLDIER;
switch (AddNode(t))
{
case SUCCESS: return SUCCESS;
case ADD_ONE_NODE: next_nodes++;
}
}
}
if (j==2)//左边将右移两格
{
if (c->state[i][j-1]>=GENERAL1 && c->state[i][j-1]<=GENERAL5 && c->state[i][j-1]==c->state[i][j-2])
{
t=*c; t.prior=c->prior;
t.state[i][j]=c->state[i][j-1];
t.state[i][j+1]=c->state[i][j-1];
t.state[i][j-1]=BLANK;
t.state[i][j-2]=BLANK;
switch (AddNode(t))
{
case SUCCESS: return SUCCESS;
case ADD_ONE_NODE: next_nodes++;
}
}
}
if (j==0)//右边将左移两格
{
if (c->state[i][j+2]>=GENERAL1 && c->state[i][j+2]<=GENERAL5 && c->state[i][j+2]==c->state[i][j+3])
{
t=*c; t.prior=c->prior;
t.state[i][j]=c->state[i][j+2];
t.state[i][j+1]=c->state[i][j+2];
t.state[i][j+2]=BLANK;
t.state[i][j+3]=BLANK;
switch (AddNode(t))
{
case SUCCESS: return SUCCESS;
case ADD_ONE_NODE: n
昏,一楼的太能刷屏了吧?。?
- 陈旧衣服红酒渍应对办法,生活常识如何去除陈旧衣服上的红酒渍简单方法
- 黄河的发源地在哪里,黄河的发源地在哪里?
- 慈禧与光绪皇帝什么关系,光绪和慈禧是什么关系?
- 美术考级有用吗,美术考级有用吗
- 落日余晖映晚霞下一句,落日余晖映晚霞 一抹夕阳美如画
- 汤臣倍健维生素c片怎么服用,汤臣倍健维生素B族片和维生素C片怎么吃
- 海鲜能带上高铁吗,高铁可以带海鲜吗?
- 兼得是什么意思,两者兼得什么意思
- 迈锐宝为什么那么便宜,求知。迈锐宝为什么要比君威便宜?是品牌问题,还是做工用料问题?