⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 movebak.cpp

📁 2D即时战略游戏源码.仿红色警戒之类的。不过有点粗糙
💻 CPP
📖 第 1 页 / 共 5 页
字号:
				 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 + -