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

📄 tgeneral.cpp

📁 赤壁之战(游戏原码)
💻 CPP
📖 第 1 页 / 共 5 页
字号:
			   }
			   break;

		   case 11:
			   if (player == 3)
			   {
				   GetLumberId(100,50,player,
					   Tsource[player].Lumbersource.X,
					   Tsource[player].Lumbersource.Y);
			   }
			   else
			   {
				   GetLumberId(50,50,player,
					   Tsource[player].Lumbersource.X,
					   Tsource[player].Lumbersource.Y);
			   }
			   break;
		   case 16:
			   if (player == 1)
			   {
				   GetLumberId(100,10,player,
					   Tsource[player].Lumbersource.X,
					   Tsource[player].Lumbersource.Y);
			   }
			   else
			   {
				   GetLumberId(50,50,player,
					   Tsource[player].Lumbersource.X,
					   Tsource[player].Lumbersource.Y);
			   }
			   break;
		   case 22:
			   if (player != GAME.nMe)
			   {
				   GetLumberId(100,30,player,
					   Tsource[player].Lumbersource.X,
					   Tsource[player].Lumbersource.Y);
			   }
			   else
			   {
				   GetLumberId(50,50,player,
					   Tsource[player].Lumbersource.X,
					   Tsource[player].Lumbersource.Y);
			   }
			   break;
		   case 29:
			   if (player == 1)
			   {
				   GetLumberId(300,23,player,
					   Tsource[player].Lumbersource.X,
					   Tsource[player].Lumbersource.Y);
			   }
			   else
			   {
				   GetLumberId(50,50,player,
					   Tsource[player].Lumbersource.X,
					   Tsource[player].Lumbersource.Y);
			   }
			   break;
		   case 32:
			   if (player == 1)
			   {
				   GetLumberId(300,23,player,
					   Tsource[player].Lumbersource.X,
					   Tsource[player].Lumbersource.Y);
			   }
			   else
			   {
				   if (player == 2)
				   {
					   GetLumberId(50,250,player,
					   Tsource[player].Lumbersource.X,
					   Tsource[player].Lumbersource.Y);
				   }
				   else
				   {
					   GetLumberId(50,50,player,
					   Tsource[player].Lumbersource.X,
					   Tsource[player].Lumbersource.Y);
				   }
			   }
			   break;

		   default:
			   GetLumberId(50,50,player,
				       Tsource[player].Lumbersource.X,
					   Tsource[player].Lumbersource.Y);
			   break;
		   }
		   
	   }
   }
   else
   {
	   if (BuildPoint[player][MUCAICHANG].hPos != CBTRUE)
			   return;

	   switch (Level)
	   {
	   case 7:
		   if (player != GAME.nMe)
			   {
				   GetLumberId(20,150,player,
					   Tsource[player].Lumbersource.X,
					   Tsource[player].Lumbersource.Y);
			   }
			   else
			   {
				   GetLumberId(50,50,player,
					   Tsource[player].Lumbersource.X,
					   Tsource[player].Lumbersource.Y);
			   }
			   break;
	   case 11:
		   if (player == 3)
		   {
			   
			   GetLumberId(180,50,player,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
		   }
		   else
		   {
			   GetLumberId(80,80,player,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
		   }
		   break;
	   case 16:
		   if (player == 1)
		   {
			   
			   GetLumberId(180,15,player,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
		   }
		   else
		   {
			   GetLumberId(80,80,player,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
		   }
		   break;
	   case 22:
		   if (player != GAME.nMe)
			   {
				   GetLumberId(140,30,player,
					   Tsource[player].Lumbersource.X,
					   Tsource[player].Lumbersource.Y);
			   }
			   else
			   {
				   GetLumberId(50,50,player,
					   Tsource[player].Lumbersource.X,
					   Tsource[player].Lumbersource.Y);
			   }
			   break;
	   case 29:
		   if (player == 1)
		   {
			   
			   GetLumberId(180,15,player,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
		   }
		   else
		   {
			   GetLumberId(80,80,player,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
		   }
		   break;
	   case 32:
		   if (player == 1)
		   {
			   
			   GetLumberId(180,25,player,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
		   }
		   else
		   {
			   if (player == 2)
			   {
				   GetLumberId(30,125,player,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
			   }
			   else
			   {
				   GetLumberId(80,80,player,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
			   }
		   }
		   break;

	   default:
		   GetLumberId(80,80,player,
			       BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
				   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
		   break;
	   }
	   

   }
   
   if (ObeyP[player][0].AttackPos1 == CBNULL)
   {  Pobject=MAP_GetUnit(Lumberworker[player].GeneralID);

		//以防万一
		if (Pobject->nType == MAP_UNIT_TYPE_BUILDING
			||Pobject->nType == MAP_UNIT_TYPE_NONE
		  ||Pobject->nType == MAP_UNIT_TYPE_RESOURCE
		  ||Pobject->nType == MAP_UNIT_TYPE_SPECIAL
		  ||Pobject->nType == MAP_UNIT_TYPE_FLAG
		  ||Pobject->nType == MAP_UNIT_TYPE_SHIPYARD
		  ||Pobject->nType == MAP_UNIT_TYPE_LADDER)
		   return;

      if (Pobject->nIDAttackMe != MAP_DATA_NONE)
      {  
		 Pobject1=MAP_GetUnit(Pobject->nIDAttackMe);

		 //以防万一
	   if (Pobject1->nType == MAP_UNIT_TYPE_BUILDING
		   ||Pobject1->nType == MAP_UNIT_TYPE_NONE
		  ||Pobject1->nType == MAP_UNIT_TYPE_RESOURCE
		  ||Pobject1->nType == MAP_UNIT_TYPE_SPECIAL
		  ||Pobject1->nType == MAP_UNIT_TYPE_FLAG
		  ||Pobject1->nType == MAP_UNIT_TYPE_SHIPYARD
		  ||Pobject1->nType == MAP_UNIT_TYPE_LADDER)
		   return;

		 if (EYE_IfUnitIsDead(Pobject1) != TRUE)
		 {
			 /*

#ifdef TY_JIMOU 

			 switch(getrandom( 0,1 ))
			 {
			 case 0:
				 GeneralJiMou(Pobject,HUNLUAN);
				 break;
			 case 1:
				 GeneralJiMou(Pobject,JIANSU);
				 break;
			 }
#endif

			*/
			 CTRL_TASK_Clear( &Task );
			 //? GetFriend();
    		 if (Defancesoldier[player][0].GeneralID == CBNULL)
			 {
				 if (Defancesoldier[player][0].WorkerNum != 0)
				 {
					 for (i=0;i<=Defancesoldier[player][0].WorkerNum;i++)
					 {
						 if (Defancesoldier[player][0].WorkerArrays[i] != CBNULL)
						 {
							 Pobject1=MAP_GetUnit(Defancesoldier[player][0].WorkerArrays[i]);

							 //以防万一
							   if (Pobject1->nType == MAP_UNIT_TYPE_BUILDING
								   ||Pobject1->nType == MAP_UNIT_TYPE_NONE
								  ||Pobject1->nType == MAP_UNIT_TYPE_RESOURCE
								  ||Pobject1->nType == MAP_UNIT_TYPE_SPECIAL
								  ||Pobject1->nType == MAP_UNIT_TYPE_FLAG
								  ||Pobject1->nType == MAP_UNIT_TYPE_SHIPYARD
								  ||Pobject1->nType == MAP_UNIT_TYPE_LADDER)
								   return;

							 if (EYE_IfUnitIsDead(Pobject1) != TRUE)
							 {
								 Task.bDone=1;
								 Task.nID=Defancesoldier[player][0].WorkerArrays[i];
								 Task.nTaskID=GONGJI;
								 Task.nTaskIDEx=2;
								 Task.nParam1=Pobject->nIDAttackMe;
								 CTRL_TASK_DeployByComputer(player,&Task);
							 }
							 else
							 {
								 continue;
							 }
						 }
					 }
				 }
				 return ;
			 }
			 else
			 {    Task.bDone=1;
				  Task.nID=Defancesoldier[player][0].GeneralID;
				  Task.nTaskID=GONGJI;
				  Task.nTaskIDEx=2;
				  Task.nParam1=Pobject->nIDAttackMe;
				  CTRL_TASK_DeployByComputer(player,&Task);
			 }
		 }
	  }
      else   //Send obey.
      {
		  if (BuildPoint[player][MUCAICHANG].hPos != CBTRUE)
			   return;

		  for (i=1;i<Lumberworker[player].WorkerNum+1;i++)
		 {  
			if (Lumberworker[player].WorkerArrays[i] != CBNULL)
			{  Pobject=MAP_GetUnit(Lumberworker[player].WorkerArrays[i]);

			//以防万一
			   if (Pobject->nType == MAP_UNIT_TYPE_BUILDING
				   ||Pobject->nType == MAP_UNIT_TYPE_NONE
					  ||Pobject->nType == MAP_UNIT_TYPE_RESOURCE
					  ||Pobject->nType == MAP_UNIT_TYPE_SPECIAL
					  ||Pobject->nType == MAP_UNIT_TYPE_FLAG
					  ||Pobject->nType == MAP_UNIT_TYPE_SHIPYARD
					  ||Pobject->nType == MAP_UNIT_TYPE_LADDER)
				   return;

			   if (EYE_IfUnitIsDead(Pobject) == TRUE)
			   {  
				  Lumberworker[player].WorkerNum--;
				  if (Lumberworker[player].WorkerNum <= WORKER_BASE)
				  {  Lumberworker[player].WorkerArrays[0]=CBFALSE;
					 Lumberworker[player].WorkerArrays[i]=CBNULL;
					 if (BuildPoint[player][MAINBATTALION].hPos != CBTRUE)
			            continue;
					 AccedeForLumber[player].ID=Lumberworker[player].GeneralID;
					 Lumberworker[player].Env=1;
					 continue;
				  }
			   }

			   Assert (Pobject->nType == 10);

			   if (Pobject->Task.nTaskID == YUNSONG)
			   {
				   ExCode=EYE_GetGResType(0,Pobject->Task.nParam2,Pobject->Task.nParam3);
                   if (ExCode != 0) 
				   {
					   switch (Level)
					   {
					   case 7:
						   if (player != GAME.nMe)
							   {
								   GetLumberId(20,150,player,
									   Tsource[player].Lumbersource.X,
									   Tsource[player].Lumbersource.Y);
							   }
							   else
							   {
								   GetLumberId(50,50,player,
									   Tsource[player].Lumbersource.X,
									   Tsource[player].Lumbersource.Y);
							   }
							   break;
					   case 11:
						   if (player == 3)
						   {
							   
							   GetLumberId(180,50,player,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
						   }
						   else
						   {
							   GetLumberId(80,80,player,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
						   }
						   break;
					   case 16:
						   if (player == 1)
						   {
							   
							   GetLumberId(180,15,player,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
						   }
						   else
						   {
							   GetLumberId(80,80,player,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
						   }
						   break;
					   case 22:
						   if (player != GAME.nMe)
						   {
							   GetLumberId(180,30,player,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
						   }
						   else
						   {
							   GetLumberId(80,80,player,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
						   }
						   break;
					   case 29:
						   if (player == 1)
						   {
							   
							   GetLumberId(180,15,player,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
						   }
						   else
						   {
							   GetLumberId(80,80,player,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
						   }
						   break;
					   case 32:
						   if (player == 1)
						   {
							   
							   GetLumberId(180,25,player,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
						   }
						   else
						   {
							   if (player == 2)
							   {
								   GetLumberId(20,180,player,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
							   }
							   else
							   {
								   GetLumberId(80,80,player,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
							   }
						   }
						   break;

					   default:
						   GetLumberId(80,80,player,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
								   BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
						   break;
					   }
					   
					   //GetLumberId(180,180,player,
					   //BuildPoint[player][MUCAICHANG].BPoint->Draw.nX,
					   //BuildPoint[player][MUCAICHANG].BPoint->Draw.nY);
					
					   if (Tsource[player].Lumbersource.POS != CBTRUE)
				         return;
					   CTRL_TASK_Clear( &Task );
					   Task.bDone=1;
					   Task.nID=Lumberworker[player].WorkerArrays[i];
					   Task.nTaskID=YUNSONG;
					   Task.nTaskIDEx=1;
					   Task.nTaskIDEx2=SHULIN;
					   Task.nParam1=0;
					   Task.nParam2=Tsource[player].Lumbersource.X;
					   Task.nParam3=Tsource[player].Lumbersource.Y;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -