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

📄 temperor.cpp

📁 网页游戏赤壁
💻 CPP
📖 第 1 页 / 共 5 页
字号:
   {
	   //MessageBox( 0, "You Have No Money !", "Error", MB_OK );
	   OutputDebugString( "No Money To ShengChan A Iron Worker !\n" );
	   return;

   }

   if (BuildPoint[Player][MAINBATTALION].hPos != CBTRUE)
	   return;

   Task.nParam1=HaveGeneral(Player);
   if (Task.nParam1 == CBNULL)
		return;

//Scan is join or build ?

   if (Ironworker[Player].WorkerNum <= WORKER_BASE-14)
   {  
	  if (Ironworker[Player].ShengChanFinish == CBTRUE
		&&Pro[Player][0].Busy == 0)
      {  Pro[Player][0].Busy=1; 
		 Task.nID=BuildPoint[Player][MAINBATTALION].BPoint->nID;
		 Task.nTaskID=SHENGCHAN;
		 Task.nTaskIDEx=MAINBATTALION_MAN;
		 Task.bDone=1;
		 Task.nParam2=SCIRON;
		 CTRL_TASK_DeployByComputer(Player,&Task);
		 Ironworker[Player].ShengChanFinish=0;
		 Ironworker[Player].WorkerArrays[0]=CBFALSE;
      }
      else
    	 return ;
   }
   if (Ironworker[Player].WorkerNum >= WORKER_BASE-13)
   {  Ironworker[Player].WorkerArrays[0]=CBTRUE;
      CTRL_TASK_Clear( &Task );
      Task.nID=Ironworker[Player].WorkerArrays[1];
      Task.nTaskID=ZUJIAN;
      Task.nTaskIDEx=MAP_UNIT_TYPE_WGEN;
      Task.nParam1=GetGeneral(Player,IRON);
	  if (Task.nParam1 == CBNULL)
		  return;
	  Task.nParam2=ZJONEIRON;
      Task.bDone=1;
      Ironworker[Player].GeneralFile=Task.nParam1;
      CTRL_TASK_DeployByComputer(Player,&Task);
	  Ironworker[Player].Env=3;
   }
}

void IronworkerProcess(WORD Player)
{
   switch(Ironworker[Player].Env)
   {  case 0:
   //生产
		     IronTeamInit(Player);
		     break;
  //加入
      case 1:
		     IronAccedeToTeam(Player);
		     break;
  //处理
      case 2:
 			IronTeamWork(Player);
			break;
  //组建
      case 3:
			IronComponentTeam(Player);
			break;

      default:
			break;
   }
}

//--- Iron worker process end.


/*
//--- Lumber worker process function.
*/

//--- Lumber worker process start.

//?
void GetLumberId(WORD NL,WORD NR,WORD Player,WORD TX,WORD TY)
{  WORD i,j;
   WORD POS=0;
   signed long  MainLX,MainRX;
   signed long  MainLY,MainRY;
   int ExCode;

   if (BuildPoint[Player][MAINBATTALION].hPos != CBTRUE)
	   return;

   //MainLX=BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX-NL;
   //MainRX=BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX+NL;
   //MainLY=BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY-NR;
   //MainRY=BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY+NR;

   MainLX=TX-NL;
   MainRX=TX+NL;
   MainLY=TY-NR;
   MainRY=TY+NR;

   if (MainLX<0)
	   MainLX=5;
   if (MainRX>MAP_Lib.szNum.cx)
	   MainRX=MAP_Lib.szNum.cx;
   if (MainLY<0)
	   MainLY=5;
   if (MainRY>MAP_Lib.szNum.cy)
	   MainRY=MAP_Lib.szNum.cy;

   Tsource[Player].Lumbersource.X=CBNULL;
   Tsource[Player].Lumbersource.Y=CBNULL;
   Tsource[Player].Lumbersource.POS=CBFALSE;

   //for (j=(WORD)MainLX;j<(WORD)MainRX;j+=5)
   for (i=(WORD)MainLY;i<(WORD)MainRY;i+=5)
   {
	   if (POS == 1)
		return;

	   //for (i=(WORD)MainLY;i<(WORD)MainRY;i+=5)
	   for (j=(WORD)MainLX;j<(WORD)MainRX;j+=5)
	   {
		   ExCode=EYE_GetGResType(0,j,i);
		   if (ExCode == 0)
		   {
			   Tsource[Player].Lumbersource.X=j;
			   Tsource[Player].Lumbersource.Y=i;
			   Tsource[Player].Lumbersource.POS=CBTRUE;
			   POS=1;
			   break;

		   }

	   }
   }
   Assert(Tsource[2].Lumbersource.Y > 10);
}

void LumberTeamInit(WORD Player)
{  //WORD i;
   //WORD num;
   //UNIT_STRUCT * Pobject;
   struct CTRL_TASK_STRUCT Task;
   CTRL_TASK_Clear( &Task );

   //如果没钱生产

   if (!RUN_CREATE_IfEnoughMoney(Player,MAINBATTALION_MAN))
   {
	   //MessageBox( 0, "You Have No Money !", "Error", MB_OK );
	   OutputDebugString( "No Money To ShengChan A Lumber Worker !\n" );
	   return;

   }

   if (BuildPoint[Player][MAINBATTALION].hPos != CBTRUE)
	   return;

   Task.nParam1=HaveGeneral(Player);
   if (Task.nParam1 == CBNULL)
	  return;

//Scan is join or build ?

   if (Lumberworker[Player].WorkerNum <= WORKER_BASE-14)
   {  
	  //if (Pro.ShengChanFinish == CBTRUE)
	  if (Lumberworker[Player].ShengChanFinish == CBTRUE
		&&Pro[Player][0].Busy == 0)
      {  Pro[Player][0].Busy=1; 
		 Task.nID=BuildPoint[Player][MAINBATTALION].BPoint->nID;
		 Task.nTaskID=SHENGCHAN;
		 Task.nTaskIDEx=MAINBATTALION_MAN;
		 Task.bDone=1;
		 Task.nParam2=SCLUMBER;
		 CTRL_TASK_DeployByComputer(Player,&Task);
		 Lumberworker[Player].ShengChanFinish=0;
		 Lumberworker[Player].WorkerArrays[0]=CBFALSE;
      }
      else
    	 return ;
   }
   if (Lumberworker[Player].WorkerNum >= WORKER_BASE-13)
   {  Lumberworker[Player].WorkerArrays[0]=CBTRUE;
      CTRL_TASK_Clear( &Task );
      Task.nID=Lumberworker[Player].WorkerArrays[1];
      Task.nTaskID=ZUJIAN;
      Task.nTaskIDEx=MAP_UNIT_TYPE_WGEN;
      Task.nParam1=GetGeneral(Player,LUMBER);
	  if (Task.nParam1 == CBNULL)
		  return;
	  Task.nParam2=ZJONELUMBER;
      Task.bDone=1;
      Lumberworker[Player].GeneralFile=Task.nParam1;
      CTRL_TASK_DeployByComputer(Player,&Task);
	  Lumberworker[Player].Env=3;
   }
}

//组建采树部队

void LumberComponentTeam(WORD Player,WORD LevelPos)
{  //WORD i;
   struct CTRL_TASK_STRUCT Task;

   if (BuildPoint[Player][MAINBATTALION].hPos != CBTRUE)
	   return;

   if (Pro[Player][0].LumberFinish == 0)
   {  CTRL_TASK_Clear( &Task );
      //if (Ironworker.ZJFinish == CBTRUE)
	  {  Lumberworker[Player].ZJFinish=0;
		 Task.nID=Lumberworker[Player].WorkerArrays[Pro[Player][0].Lumberworkernum];
		 Task.nTaskID=ZUJIAN;
		 Task.nTaskIDEx=MAP_UNIT_TYPE_WGEN;
		 Task.nParam1=Lumberworker[Player].GeneralFile;
		 Task.nParam2=ZJOTHERLUMBER;
		 Task.bDone=1;
		 CTRL_TASK_DeployByComputer(Player,&Task);
	  }
      return;
   }
   if (Lumberworker[Player].GeneralID == CBNULL)
      return; 
   CTRL_TASK_Clear( &Task );
   Task.nID=Lumberworker[Player].GeneralID;
   Task.nTaskID=YUNSONG;
   Task.nTaskIDEx=1;
   Task.nTaskIDEx2=SHULIN;
   switch (LevelPos)
   {
   case 5:
	   if (Player != GAME.nMe)
	   {
		   GetLumberId(250,10,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   else
	   {
		   GetLumberId(300,30,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   break;

   case 7:
	   if (Player != GAME.nMe)
	   {
		   GetLumberId(50,125,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   else
	   {
		   GetLumberId(300,30,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   break;


   case 9:
	   if (Player != GAME.nMe)
	   {
		   GetLumberId(150,10,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   else
	   {
		   GetLumberId(300,25,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   break;

   case 11:
	   if (Player != GAME.nMe)
	   {
		   GetLumberId(50,25,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   else
	   {
		   GetLumberId(100,300,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   break;
   case 16:
	   if (Player == 1)
	   {
		   GetLumberId(450,35,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   else
	   {
		   GetLumberId(100,300,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   break;
   case 22:
	   if (Player != GAME.nMe)
	   {
		   GetLumberId(150,30,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   else
	   {
		   GetLumberId(100,300,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   break;
   case 26:
	   if (Player == 1)
	   {
		   GetLumberId(450,25,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   else
	   {
		   GetLumberId(100,300,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   break;
   case 29:
	   if (Player == 1)
	   {
		   GetLumberId(450,25,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   else
	   {
		   GetLumberId(100,300,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   break;
   case 31:
	   if (Player == 2)
	   {
		   GetLumberId(150,75,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   else
	   {
		   GetLumberId(100,300,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   break;
   case 32:
	   if (Player == 1)
	   {
		   GetLumberId(250,75,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   }
	   else
	   {
		   if (Player == 2)
		   {
			   GetLumberId(25,180,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
		   }
		   else
		   {
			   GetLumberId(100,300,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
		   }
		   
	   }
	   break;


   default:
	   GetLumberId(100,300,Player,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
	   break;
   }
   
   if (Tsource[Player].Lumbersource.POS == CBFALSE)
   {
	   switch (LevelPos)
	   {
	   case 5:
		   if (Player != GAME.nMe)
		   {
			   GetLumberId(350,20,Player,
				   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
				   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
		   }
		   else
		   {
			   GetLumberId(300,30,Player,
				   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
				   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
		   }
		   break;

	   case 7:
		   if (Player != GAME.nMe)
		   {
			   GetLumberId(100,30,Player,
				   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			       BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
		   }
		   else
		   {
			   GetLumberId(500,300,Player,
				   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			       BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
		   }
		   break;
	   case 9:
		   if (Player != GAME.nMe)
		   {
			   GetLumberId(170,10,Player,
				   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			       BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
		   }
		   else
		   {
			   GetLumberId(500,25,Player,
				   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			       BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
		   }
		   break;

	   case 11:
		   if (Player != GAME.nMe)
		   {
			   GetLumberId(100,30,Player,
				   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			       BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
		   }
		   else
		   {
			   GetLumberId(500,300,Player,
				   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
			       BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
		   }
		   break;
	   case 16:
		   if (Player == 1)
		   {
			   GetLumberId(650,45,Player,
				   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
				   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
		   }
		   else
		   {
			   GetLumberId(100,300,Player,
				   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
				   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
		   }
		   break;
		   case 22:
		   if (Player != GAME.nMe)
		   {
			   GetLumberId(150,30,Player,
				   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
				   BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
		   }
		   else
		   {
			   GetLumberId(100,300,Player,

⌨️ 快捷键说明

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