📄 movebak.cpp
字号:
if(((soldier->placetogo.y-nowHL.y)>1)
||
((table[nowHL.x-1+1][nowHL.y-1+1].whatin<HILL)
&&(table[nowHL.x+1][nowHL.y-1+1].whatin<HILL)))
{if((soldier->placetogo.x-nowHL.x)>1)
{if(table[nowHL.x+1+1][nowHL.y+1].whatin>=HILL)
{
placetogo.y+=1;
soldier->nowdir=DOWN;
//return(placetogo);
}
else {
placetogo.x+=1;
soldier->nowdir=RIGHT;
//return(placetogo);
}
}
else {}//return(objectplace);
}
else
{
placetogo.x-=1;
soldier->nowdir=LEFT;
//return(placetogo);
}
}
else {
placetogo.y+=1;
soldier->nowdir=UP|DOWN;
//return(placetogo);
}
}
//if(IsMovingCar(0,1)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x-1+1][nowHL.y+1].whatin<HILL)
{
placetogo.x-=1;
soldier->nowdir=LEFT;
//return(placetogo);
}
//if(IsMovingCar(2,1)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1+1][nowHL.y+1].whatin<HILL)
{
placetogo.x+=1;
soldier->nowdir=RIGHT;
//return(placetogo);
}
//if(IsMovingCar(1,0)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1][nowHL.y-1+1].whatin<HILL)
{
placetogo.y-=1;
soldier->nowdir=UP;
//return(placetogo);
}
else if((table[soldier->nowHL.x][soldier->nowHL.y+1].whatin>=CAR)
||(table[soldier->nowHL.x+1][soldier->nowHL.y].whatin>=CAR)
||(table[soldier->nowHL.x+2][soldier->nowHL.y+1].whatin>=CAR)
||(table[soldier->nowHL.x+1][soldier->nowHL.y+2].whatin>=CAR))
{placetogo.y=-99;
return(placetogo);
}
else {placetogo.x=-1;
return(placetogo);}
} //for stop
else if(soldier->nowdir==RIGHT)
{if(soldier->placetogo.y-nowHL.y<-1)
{//if(IsMovingCar(1,0)==TRUE){placetogo.y=-99;return(placetogo);}
if(table[nowHL.x+1][nowHL.y-1+1].whatin<HILL)
{
placetogo.y-=1;
soldier->nowdir=UP;
//return(placetogo);
}
//if(IsMovingCar(2,1)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1+1][nowHL.y+1].whatin<HILL)
{
placetogo.x+=1;
soldier->nowdir=RIGHT;
//return(placetogo);
}
//if(IsMovingCar(0,1)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x-1+1][nowHL.y+1].whatin<HILL)
{
placetogo.x-=1;
soldier->nowdir=UP|LEFT;
//return(placetogo);
}
//if(IsMovingCar(1,2)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1][nowHL.y+1+1].whatin<HILL)
{
placetogo.y+=1;
soldier->nowdir=DOWN;
//return(placetogo);
}
else if((table[soldier->nowHL.x][soldier->nowHL.y+1].whatin>=CAR)
||(table[soldier->nowHL.x+1][soldier->nowHL.y].whatin>=CAR)
||(table[soldier->nowHL.x+2][soldier->nowHL.y+1].whatin>=CAR)
||(table[soldier->nowHL.x+1][soldier->nowHL.y+2].whatin>=CAR))
{placetogo.y=-99;
return(placetogo);
}
else {placetogo.x=-1;
return(placetogo);}
}
//if(IsMovingCar(1,2)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1][nowHL.y+1+1].whatin<HILL)
{
placetogo.y+=1;
soldier->nowdir=DOWN;
//return(placetogo);
}
//if(IsMovingCar(2,1)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1+1][nowHL.y+1].whatin<HILL)
{
placetogo.x+=1;
soldier->nowdir=RIGHT;
//return(placetogo);
}
//if(IsMovingCar(1,0)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1][nowHL.y-1+1].whatin<HILL)
{
placetogo.y-=1;
soldier->nowdir=UP;
//return(placetogo);
}
//if(IsMovingCar(0,1)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x-1+1][nowHL.y+1].whatin<HILL)
{
placetogo.x-=1;
soldier->nowdir=UP|LEFT;
//return(placetogo);
}
else if((table[soldier->nowHL.x][soldier->nowHL.y+1].whatin>=CAR)
||(table[soldier->nowHL.x+1][soldier->nowHL.y].whatin>=CAR)
||(table[soldier->nowHL.x+2][soldier->nowHL.y+1].whatin>=CAR)
||(table[soldier->nowHL.x+1][soldier->nowHL.y+2].whatin>=CAR))
{placetogo.y=-99;
return(placetogo);
}
else {placetogo.x=-1;
return(placetogo);}
} //for stop
else if(soldier->nowdir==UP)
{if(soldier->placetogo.x-nowHL.x<-1)
{//if(IsMovingCar(0,1)==TRUE){placetogo.y=-99;return(placetogo);}
if(table[nowHL.x-1+1][nowHL.y+1].whatin<HILL)
{
placetogo.x-=1;
soldier->nowdir=LEFT;
//return(placetogo);
}
//if(IsMovingCar(1,0)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1][nowHL.y-1+1].whatin<HILL)
{
placetogo.y-=1;
soldier->nowdir=UP;
//return(placetogo);
}
//if(IsMovingCar(2,1)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1+1][nowHL.y+1].whatin<HILL)
{
placetogo.x+=1;
soldier->nowdir=RIGHT;
//return(placetogo);
}
//if(IsMovingCar(1,2)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1][nowHL.y+1+1].whatin<HILL)
{
placetogo.y+=1;
soldier->nowdir=UP|DOWN;
//return(placetogo);
}
else if((table[soldier->nowHL.x][soldier->nowHL.y+1].whatin>=CAR)
||(table[soldier->nowHL.x+1][soldier->nowHL.y].whatin>=CAR)
||(table[soldier->nowHL.x+2][soldier->nowHL.y+1].whatin>=CAR)
||(table[soldier->nowHL.x+1][soldier->nowHL.y+2].whatin>=CAR))
{placetogo.y=-99;
return(placetogo);
}
else {placetogo.x=-1;
return(placetogo);}
}
//if(IsMovingCar(2,1)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1+1][nowHL.y+1].whatin<HILL)
{
placetogo.x+=1;
soldier->nowdir=RIGHT;
//return(placetogo);
}
//if(IsMovingCar(1,0)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1][nowHL.y-1+1].whatin<HILL)
{
placetogo.y-=1;
soldier->nowdir=UP;
//return(placetogo);
}
//if(IsMovingCar(0,1)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x-1+1][nowHL.y+1].whatin<HILL)
{
placetogo.x-=1;
soldier->nowdir=UP|LEFT;
//return(placetogo);
}
//if(IsMovingCar(1,2)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1][nowHL.y+1+1].whatin<HILL)
{
placetogo.y+=1;
soldier->nowdir=UP|DOWN;
//return(placetogo);
}
else if((table[soldier->nowHL.x][soldier->nowHL.y+1].whatin>=CAR)
||(table[soldier->nowHL.x+1][soldier->nowHL.y].whatin>=CAR)
||(table[soldier->nowHL.x+2][soldier->nowHL.y+1].whatin>=CAR)
||(table[soldier->nowHL.x+1][soldier->nowHL.y+2].whatin>=CAR))
{placetogo.y=-99;
return(placetogo);
}
else {placetogo.x=-1;
return(placetogo);}
} //for stop
else if(soldier->nowdir==(UP|DOWN))
{//if(IsMovingCar(0,1)==TRUE){placetogo.y=-99;return(placetogo);}
if(table[nowHL.x-1+1][nowHL.y+1].whatin<HILL)
{if((nowHL.y>=soldier->maxl.y)
&&(table[nowHL.x-1+1][nowHL.y+1+1].whatin<HILL)
&&(table[nowHL.x+1][nowHL.y+1+1].whatin<HILL))
{
if(((soldier->placetogo.y-nowHL.y)>1)
||
((table[nowHL.x-1+1][nowHL.y-1+1].whatin<HILL)
&&(table[nowHL.x+1][nowHL.y-1+1].whatin<HILL)))
{}//return(objectplace);
else
{
placetogo.x-=1;
soldier->nowdir=LEFT;
//return(placetogo);
}
}
else{
placetogo.x-=1;
soldier->nowdir=UP|LEFT;
//return(placetogo);
}
}
//if(IsMovingCar(1,2)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1][nowHL.y+1+1].whatin<HILL)
{
placetogo.y+=1;
soldier->nowdir=UP|DOWN;
//return(placetogo);
}
//if(IsMovingCar(2,1)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1+1][nowHL.y+1].whatin<HILL)
{
placetogo.x+=1;
soldier->nowdir=UP|RIGHT;
//return(placetogo);
}
//if(IsMovingCar(1,0)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1][nowHL.y-1+1].whatin<HILL)
{
placetogo.y-=1;
soldier->nowdir=UP;
//return(placetogo);
}
else if((table[soldier->nowHL.x][soldier->nowHL.y+1].whatin>=CAR)
||(table[soldier->nowHL.x+1][soldier->nowHL.y].whatin>=CAR)
||(table[soldier->nowHL.x+2][soldier->nowHL.y+1].whatin>=CAR)
||(table[soldier->nowHL.x+1][soldier->nowHL.y+2].whatin>=CAR))
{placetogo.y=-99;
return(placetogo);
}
else {placetogo.x=-1;
return(placetogo);}
} //for stop
else if(soldier->nowdir==(UP|RIGHT))
{//if(IsMovingCar(1,0)==TRUE){placetogo.y=-99;return(placetogo);}
if(table[nowHL.x+1][nowHL.y-1+1].whatin<HILL)
{
placetogo.y-=1;
soldier->nowdir=UP;
//return(placetogo);
}
//if(IsMovingCar(0,1)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x-1+1][nowHL.y+1].whatin<HILL)
{
placetogo.x-=1;
soldier->nowdir=UP|LEFT;
//return(placetogo);
}
//if(IsMovingCar(1,2)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1][nowHL.y+1+1].whatin<HILL)
{
placetogo.y+=1;
soldier->nowdir=UP|DOWN;
//return(placetogo);
}
//if(IsMovingCar(2,1)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1+1][nowHL.y+1].whatin<HILL)
{
placetogo.x+=1;
soldier->nowdir=UP|RIGHT;
//return(placetogo);
}
else if((table[soldier->nowHL.x][soldier->nowHL.y+1].whatin>=CAR)
||(table[soldier->nowHL.x+1][soldier->nowHL.y].whatin>=CAR)
||(table[soldier->nowHL.x+2][soldier->nowHL.y+1].whatin>=CAR)
||(table[soldier->nowHL.x+1][soldier->nowHL.y+2].whatin>=CAR))
{placetogo.y=-99;
return(placetogo);
}
else {placetogo.x=-1;
return(placetogo);}
} //for stop
else if(soldier->nowdir==(UP|LEFT))
{//if(IsMovingCar(1,2)==TRUE){placetogo.y=-99;return(placetogo);}
if(table[nowHL.x+1][nowHL.y+1+1].whatin<HILL)
{
placetogo.y+=1;
soldier->nowdir=UP|DOWN;
//return(placetogo);
}
//if(IsMovingCar(2,1)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1+1][nowHL.y+1].whatin<HILL)
{
placetogo.x+=1;
soldier->nowdir=UP|RIGHT;
//return(placetogo);
}
//if(IsMovingCar(1,0)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x+1][nowHL.y-1+1].whatin<HILL)
{
placetogo.y-=1;
soldier->nowdir=UP;
//return(placetogo);
}
//if(IsMovingCar(0,1)==TRUE){placetogo.y=-99;return(placetogo);}
else if(table[nowHL.x-1+1][nowHL.y+1].whatin<HILL)
{
placetogo.x-=1;
soldier->nowdir=UP|LEFT;
//return(placetogo);
}
else if((table[soldier->nowHL.x][soldier->nowHL.y+1].whatin>=CAR)
||(table[soldier->nowHL.x+1][soldier->nowHL.y].whatin>=CAR)
||(table[soldier->nowHL.x+2][soldier->nowHL.y+1].whatin>=CAR)
||(table[soldier->nowHL.x+1][soldier->nowHL.y+2].whatin>=CAR))
{placetogo.y=-99;
return(placetogo);
}
else {placetogo.x=-1;
return(placetogo);}
} //for stop
break;
}
//for the south move
if(nowHL.x==0)
{ soldier->nowdir=RIGHT;
}
else if(nowHL.x==31)
soldier->nowdir=LEFT;
else if(nowHL.y==0)
{ soldier->nowdir=DOWN;
}
else if(nowHL.y==31)
soldier->nowdir=UP;
if((placetogo.x!=nowHL.x)||(placetogo.y!=nowHL.y))
{if(table[placetogo.x+1][placetogo.y+1].whatin<HILL)
return(placetogo);
else {placetogo.y=-99;
return(placetogo); }
}
else return(objectplace);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -