typedef struct
{
int Hang;
int Lie;
}Poision;
Poision poision;
void Get_Poision(Poision &poision)
{
int i=0,j=0;
bool flag=FALSE;
poision.Hang=0,poision.Lie=0;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(Map[i][j]==3)
{
poision.Hang=i;
poision.Lie=j;
flag=TRUE;
break;
}
}
if(flag==TRUE)
break;
}
}
/***************/
/*响应右键*/
/***************/
Get_Poision(poision)
if(Map[poision.Hang][poision.Lie+1]==0)
{
Map[poision.Hang][poision.Lie+1]=3;//人走过来
Map[poision.Hang][poision.Lie]=0; //变成路
}
else if(Map[poision.Hang][poision.Lie]==2)
{
if(Map[poision.Hang][poision.Lie+2]==0)
{
Map[poision.Hang][poision.Lie+2]=2;
Map[poision.Hang][poision.Lie+1]=3;
Map[poision.Hang][poision.Lie]=0;
}
if(Map[poision.Hang][poision.Lie]==4)
{
Map[poision.Hang][poision.Lie+2]=2;
Map[poision.Hang][poision.Lie+1]=3;
Map[poision.Hang][poision.Lie]=0;
Count++;
if(Count==2){Count=0;MessageBox(hwnd,"恭喜你,成功啦!","胜利",MB_OK));}
}
}
/***************/
/*响应左键*/
/***************/
Get_Poision(poision)
if(Map[poision.Hang][poision.Lie-1]==0)
{
Map[poision.Hang][poision.Lie-1]=3;//箱子走过来
Map[poision.Hang][poision.Lie]=0; //人过来,身后变成路
}
else if(Map[poision.Hang][poision.Lie-1]==2)
{
if(Map[poision.Hang][poision.Lie-2]==0)
{
Map[poision.Hang][poision.Lie-2]=2;
Map[poision.Hang][poision.Lie-1]=3;
Map[poision.Hang][poision.Lie]=0;
}
if(Map[poision.Hang][poision.Lie-2]==4)
{
Map[poision.Hang][poision.Lie-2]=2;
Map[poision.Hang][poision.Lie-1]=3;
Map[poision.Hang][poision.Lie]=0;
Count++;
if(Count==2){Count=0;MessageBox(hwnd,"恭喜你,成功啦!","胜利",MB_OK));}
}
}
/***************/
/*响应上键*/
/***************/
Get_Poision(poision)
if(Map[poision.Hang-1][poision.Lie]==0)
{
Map[poision.Hang-1][poision.Lie]=3;//箱子走过来
Map[poision.Hang][poision.Lie]=0; //人过来,身后变成路
}
else if(Map[poision.Hang-1][poision.Lie]==2)
{
if(Map[poision.Hang-2][poision.Lie]==0||Map[poision.Hang-2][poision.Lie]==4)
{
Map[poision.Hang-2][poision.Lie]=2;
Map[poision.Hang-1][poision.Lie]=3;
Map[poision.Hang][poision.Lie]=0;
}
if(Map[poision.Hang-2][poision.Lie]==0||Map[poision.Hang-2][poision.Lie]==4)
{
Map[poision.Hang-2][poision.Lie]=2;
Map[poision.Hang-1][poision.Lie]=3;
Map[poision.Hang][poision.Lie]=0;
Count++;
if(Count==2){Count=0;MessageBox(hwnd,"恭喜你,成功啦!","胜利",MB_OK));}
}
}
/***************/
/*响应下键*/
/***************/
Get_Poision(poision)
if(Map[poision.Hang+1][poision.Lie]==0)
{
Map[poision.Hang+1][poision.Lie]=3;//箱子走过来
Map[poision.Hang][poision.Lie]=0; //人过来,身后变成路
}
else if(Map[poision.Hang+1][poision.Lie]==2)
{
if(Map[poision.Hang+2][poision.Lie]==4)
{
Map[poision.Hang+2][poision.Lie]=2;
Map[poision.Hang+1][poision.Lie]=3;
Map[poision.Hang][poision.Lie]=0;
}
if(Map[poision.Hang+2][poision.Lie]==0)
{
Map[poision.Hang+2][poision.Lie]=2;
Map[poision.Hang+1][poision.Lie]=3;
Map[poision.Hang][poision.Lie]=0;
Count++;
if(Count==2){Count=0;MessageBox(hwnd,"恭喜你,成功啦!","胜利",MB_OK));}
}
}