亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tgeneral.cpp

?? 赤壁之戰的游戲源代碼
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
/*	      [ GENERAL.C ]
 *    GENERAL.C FOR INSTINCE MODULE .
 *    Chbi Fight emperor interface module.
 *    Programmed By Y.Tian. No#Eye. WayAhead. Co. 1997.
 *    Data 3/18/1997.
 */

#include "stdafx.h"
#include "temperor.h"
#include "tgeneral.h"
#include "Assert.h"
#include "CBRDelay.h"

#define TY_JIMOU 

OBEYP ObeyP[5][4];

WORD JiMouIfOk(UNIT_STRUCT * Pobject,CTRL_JIMOU Jimou)
{
	switch (Jimou)
	{
			//激勵
		case JILI:
			break;

			//加速
		case JIASU:
			break;

			//減速
		case JIANSU:
			break;

			//遠視
		case YUANSHI:
			break;

			//混亂
		case HUNLUAN:
			break;

			//滾木
		case GUNMU:
			break;

			//埋伏
		case MAIFU:
			break;

			//恢復
		case HUIFU:
			break;

			//火攻
		case HUOGONG:
			break;
	}
	return (1);
}

BOOL GeneralJiMou(UNIT_STRUCT * Pobject,CTRL_JIMOU Jimou)
{
	struct CTRL_TASK_STRUCT Task;

	Assert(Pobject->nType == MAP_UNIT_TYPE_GEN
		||Pobject->nType == MAP_UNIT_TYPE_WGEN
		||Pobject->nType == MAP_UNIT_TYPE_SGEN);

	//if (JiMouIfOk(Pobject,Jimou) == 0)
	if (EYE_IfJiMou(Pobject->Gen.nID, Jimou) == 0)
		return (FALSE);

	if (RUN_MOULUE_IfEnough(Pobject,Jimou))
	{
		CTRL_TASK_Clear( &Task );
		Task.bDone=1;
		Task.nID=Pobject->nID;
		Task.nTaskID=JIMOU;
		Task.nTaskIDEx2=Jimou;

		switch (Jimou)
		{
			//激勵
		case JILI:
			Task.nTaskIDEx=2;
			Task.nParam1=Pobject->nID; 
			break;

			//加速
		case JIASU:
			Task.nTaskIDEx=2;
			Task.nParam1=Pobject->nID; 
			break;

			//減速
		case JIANSU:
			Task.nTaskIDEx=2;
			Task.nParam1=Pobject->nIDAttackMe; 
			break;

			//遠視
		case YUANSHI:
			Task.nTaskIDEx=2;
			Task.nParam1=Pobject->nID; 
			break;

			//混亂
		case HUNLUAN:
			Task.nTaskIDEx=2;
			Task.nParam1=Pobject->nIDAttackMe; 
			break;

			//滾木
		case GUNMU:
			break;

			//埋伏
		case MAIFU:
			Task.nTaskIDEx=2;
			break;

			//恢復
		case HUIFU:
			Task.nTaskIDEx=2;
			Task.nParam1=Pobject->nID; 
			break;

			//火攻
		case HUOGONG:
			Task.nTaskIDEx=1;
			Task.nParam1=0;
			break;
		}
	
		//WriteLogFile("JIMOU.TY","JIMOU\n");
		CTRL_TASK_DeployByComputer(Pobject->Draw.nPlayer,&Task);
		return (TRUE);
	}
	return (FALSE);
}

void IronGeneralProcess(WORD player)
{  WORD i;
   UNIT_STRUCT * Pobject;
   UNIT_STRUCT * Pobject1;
   struct CTRL_TASK_STRUCT Task;

   if (Ironworker[player].GeneralID == CBNULL )
     return;
   if (ObeyP[player][0].AttackPos == CBNULL)
   {  Pobject=MAP_GetUnit(Ironworker[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 );
			 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.
      {  for (i=1;i<Ironworker[player].WorkerNum+1;i++)
		 {  //CTRL_TASK_Clear( &Task );
			if (Ironworker[player].WorkerArrays[i] != CBNULL)
			{  Pobject=MAP_GetUnit(Ironworker[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)
			   {  Ironworker[player].WorkerNum--;
				  if (Ironworker[player].WorkerNum <= WORKER_BASE)
				  {  Ironworker[player].WorkerArrays[0]=CBFALSE;
					 Ironworker[player].WorkerArrays[i]=CBNULL;
					 if (BuildPoint[player][MAINBATTALION].hPos != CBTRUE)
			             continue;
					 AccedeForIron[player].ID=Ironworker[player].GeneralID;
					 Ironworker[player].Env=1;
					 continue;
				  }
			   }

			   if (Pobject->Task.nTaskID == YUNSONG)
			      Assert(Pobject->Task.nTaskIDEx != 1); 
			   Assert (Pobject->nType == 10);
			   if (EYE_IfUnitIsDead(Pobject) == TRUE)
				   continue;
			   if (Pobject->Status.nTaskID == DUSE
				   &&Pobject->Task.nTaskID == YUNSONG)
			   {
				   CTRL_TASK_Clear( &Task );
				   Task.nID=Pobject->nID;
				   Task.nTaskID=YUNSONG;
				   Task.nTaskIDEx=2;
				   Task.nTaskIDEx2=TIEKUANG;

				   if (BuildPoint[player][MAINBATTALION].hPos != CBTRUE)
					   continue;
				   Task.nParam1=TY_FindNearObject(0,
												  22,
												  BuildPoint[player][MAINBATTALION].BPoint->Draw.nX,
												  BuildPoint[player][MAINBATTALION].BPoint->Draw.nY);
				   if (Task.nParam1 == MAP_DATA_NONE)
					   return;
				   //Tsource[Player].Ironsource=Task.nParam1;
				   Pobject=MAP_GetUnit(Tsource[player].Ironsource);

				   Task.nParam4=TY_FindNearHome(player,Pobject->Draw.nX,Pobject->Draw.nY,2);
				   if (Task.nParam4 == MAP_DATA_NONE)
					   return;
				   Pobject=MAP_GetUnit(Task.nParam1);

				   /*
				   if (Pobject->Draw.nPlayer == GAME.nMe
					   ||Pobject->Draw.nPlayer != player)
					   WriteErrorFile("player.err",Pobject->Draw.nPlayer);
				   */
				   Task.bDone=1;
				   Assert(Task.nTaskIDEx == 2 );
				   CTRL_TASK_DeployByComputer(player,&Task);
				   continue;

			   }
			   else
			   {
				   if (Pobject->Status.nTaskID == DUSE
				   &&Pobject->Task.nTaskID == HUISONG)
				   {
					   CTRL_TASK_Clear( &Task );
					   Task.nID=Pobject->nID;
					   Task.nTaskID=HUISONG;
					   Task.nTaskIDEx=2;
					   Task.nTaskIDEx2=TIEKUANG;

					   if (BuildPoint[player][MAINBATTALION].hPos != CBTRUE)
					     continue;
					   Task.nParam4=TY_FindNearObject(0,
													  22,
													  BuildPoint[player][MAINBATTALION].BPoint->Draw.nX,
													  BuildPoint[player][MAINBATTALION].BPoint->Draw.nY);
					   if (Task.nParam4 == MAP_DATA_NONE)
						   return;
					   //Tsource[Player].Ironsource=Task.nParam1;
					   Pobject=MAP_GetUnit(Tsource[player].Ironsource);
					   Task.nParam1=TY_FindNearHome(player,Pobject->Draw.nX,Pobject->Draw.nY,2);
					   Pobject=MAP_GetUnit(Task.nParam1);
					   /*
					   if (Pobject->Draw.nPlayer == GAME.nMe
						   ||Pobject->Draw.nPlayer != player)
						   WriteErrorFile("player.err",Pobject->Draw.nPlayer);
*/
					   if (Task.nParam1 == MAP_DATA_NONE)
						   return;
					   
					   Task.bDone=1;
					   CTRL_TASK_DeployByComputer(player,&Task);
					   continue;
				   }
			   }

			   Pobject1=MAP_GetUnit(Ironworker[player].GeneralID);

			   //以防萬一
			   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 (Pobject->Task.nTaskID == YUNSONG)
			   {
				   if (Pobject1->Task.nTaskID == YUNSONG)
				   {
					   if (Pobject->Task.nParam4 != Pobject1->Task.nParam4)
					   {
						     Pobject->Task.nParam4=Pobject1->Task.nParam4;
					   }

				   }
				   if (Pobject1->Task.nTaskID == HUISONG)
				   {
					   if (Pobject->Task.nParam4 != Pobject1->Task.nParam1)
					   {
						     Pobject->Task.nParam4=Pobject1->Task.nParam1;
					   }

				   }
			   }

			   if (Pobject->Task.nTaskID != HUISONG
				 &&Pobject->Task.nTaskID != YUNSONG
				 &&Pobject->nIDAttackMe == MAP_DATA_NONE)
				   if  (Tsource[player].Ironsource != CBNULL)
				   {  if (Pobject->Soldier.nResource != 0)
					  {  CTRL_TASK_Clear( &Task );   
						 Task.bDone=1;
						 Task.nID=Ironworker[player].WorkerArrays[i];
						 Task.nTaskID=HUISONG;
						 Task.nTaskIDEx=2;
						 Task.nTaskIDEx2=TIEKUANG;
						 Task.nParam1=Pro[player][0].HomeID;

						 Pobject1=MAP_GetUnit(Task.nParam1);
						 /*
						 if (Pobject1->Draw.nPlayer == GAME.nMe)
							 WriteLogFile("Player.ty","error1\n");
*/
						 Task.nParam4=Tsource[player].Ironsource;
						 if (Pro[player][0].HomeID == CBNULL)
							 return;
						 Assert(Task.nTaskIDEx == 2 );
						 CTRL_TASK_DeployByComputer(player,&Task);	
					  }
					  else
					  {   CTRL_TASK_Clear( &Task );
						  Task.bDone=1;
						  Task.nID=Ironworker[player].WorkerArrays[i];
						  Task.nTaskID=YUNSONG;
						  Task.nTaskIDEx=2;
						  Task.nTaskIDEx2=TIEKUANG;
						  Task.nParam1=Tsource[player].Ironsource;
						  Task.nParam4=Pro[player][0].HomeID;

						  Pobject1=MAP_GetUnit(Task.nParam4);
						  /*
						 if (Pobject1->Draw.nPlayer == GAME.nMe)
							 WriteLogFile("Player.ty","error1\n");
							 */

						  if (Pro[player][0].HomeID == CBNULL)
							 return;
						  Assert(Task.nTaskIDEx == 2 );
						  CTRL_TASK_DeployByComputer(player,&Task);	
					  }
				   }
			}
		 }
      }
   }

//General avoid.

}
void LumberGeneralProcess(WORD  player,WORD Level)
{  WORD i,ExCode;
   UNIT_STRUCT * Pobject;
   UNIT_STRUCT * Pobject1;
   struct CTRL_TASK_STRUCT Task;

   if (Lumberworker[player].GeneralID == CBNULL )
     return;

   if (Tsource[player].Lumbersource.X != CBNULL
     &&Tsource[player].Lumbersource.Y != CBNULL)
   {
	   ExCode=EYE_GetGResType(0,Tsource[player].Lumbersource.X,Tsource[player].Lumbersource.Y);

	   if (ExCode == QXZIYUAN)
	   {
		   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);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
理论电影国产精品| 亚洲精品v日韩精品| 久久国产精品区| 欧美成人vr18sexvr| 国产自产v一区二区三区c| 精品国产1区二区| 国产精品18久久久久久久久久久久 | 久久综合狠狠综合久久综合88| 久久99久久99小草精品免视看| 精品免费一区二区三区| 成人一级片在线观看| 综合激情网...| 欧美视频你懂的| 麻豆91精品视频| 国产精品久久久一本精品| 在线视频一区二区三| 麻豆精品一二三| 国产精品乱码一区二区三区软件 | 美腿丝袜亚洲色图| 国产精品国产三级国产有无不卡 | 欧美男人的天堂一二区| 国产自产视频一区二区三区| 国产精品国产三级国产三级人妇| 欧美日韩精品综合在线| 国产一区二区久久| 亚洲精品伦理在线| 精品国产成人在线影院| 97久久超碰国产精品电影| 蜜臀av一区二区| √…a在线天堂一区| 日韩一级黄色片| 99精品视频一区二区| 日韩电影免费在线看| 中文字幕在线一区| 日韩小视频在线观看专区| 91小视频免费观看| 加勒比av一区二区| 亚洲韩国一区二区三区| 国产精品美女一区二区在线观看| 欧美一区二区三区婷婷月色| 99久久精品一区| 国产精品亚洲一区二区三区妖精| 午夜精品福利久久久| 国产日韩精品久久久| 欧美一级欧美三级| 欧美中文字幕一区二区三区亚洲| 国产精品1024久久| 裸体一区二区三区| 五月综合激情网| 亚洲欧洲精品一区二区三区不卡| 精品乱人伦小说| 欧美精品亚洲一区二区在线播放| 成人一级黄色片| 国产呦精品一区二区三区网站| 午夜伦欧美伦电影理论片| 亚洲精品免费播放| 一区在线播放视频| 国产日韩精品一区二区三区| 精品国产三级a在线观看| 欧美日韩精品久久久| 色婷婷av一区| 成人黄色免费短视频| 高清久久久久久| 国产成人免费av在线| 国内成人精品2018免费看| 久久精品国产99久久6| 日本成人在线网站| 亚洲国产精品久久不卡毛片| 樱花影视一区二区| 亚洲欧美另类图片小说| 亚洲视频免费观看| 中文字幕佐山爱一区二区免费| 国产精品福利电影一区二区三区四区| 久久久久久久久久看片| 精品嫩草影院久久| 久久蜜桃一区二区| 日本一区二区三区高清不卡| 亚洲国产经典视频| 中文字幕中文字幕中文字幕亚洲无线| 国产精品午夜免费| 亚洲图片你懂的| 一区二区三区精密机械公司| 亚洲高清免费在线| 蜜桃视频一区二区三区在线观看 | 国产九九视频一区二区三区| 国内一区二区视频| 国产成人免费在线视频| 成人做爰69片免费看网站| 99久久婷婷国产综合精品| 色婷婷狠狠综合| 欧美电影一区二区三区| 日韩精品一区二区三区视频在线观看| 欧美一卡二卡在线| 久久精品在这里| 亚洲人成7777| 婷婷久久综合九色国产成人 | 国产激情视频一区二区三区欧美| 国产成人精品www牛牛影视| 99re66热这里只有精品3直播| 色94色欧美sute亚洲13| 欧美老肥妇做.爰bbww| 欧美变态tickling挠脚心| 国产欧美综合在线观看第十页| 国产精品理论在线观看| 亚洲一级在线观看| 蜜桃久久精品一区二区| 丁香另类激情小说| 欧美日韩国产天堂| 久久午夜色播影院免费高清| 亚洲美女少妇撒尿| 免费在线观看成人| av一区二区三区黑人| 欧美精品xxxxbbbb| 中文字幕va一区二区三区| 亚洲成人在线网站| 丁香六月综合激情| 欧美一区二区三区啪啪| 国产精品五月天| 日日夜夜免费精品| 成人爱爱电影网址| 欧美一区二区三区视频在线观看| 国产精品伦理在线| 奇米色一区二区| 91免费版在线看| 欧美不卡一区二区| 亚洲高清在线视频| www.亚洲色图.com| 日韩一区二区三区在线视频| 亚洲视频中文字幕| 激情都市一区二区| 555www色欧美视频| 亚洲人被黑人高潮完整版| 精品亚洲国产成人av制服丝袜| 色婷婷国产精品久久包臀| 国产欧美一区二区三区在线看蜜臀 | 久久福利资源站| 色香色香欲天天天影视综合网| 久久综合国产精品| 五月天中文字幕一区二区| 99九九99九九九视频精品| 久久精品免费在线观看| 日韩 欧美一区二区三区| 欧美影院精品一区| 亚洲欧洲www| 风间由美性色一区二区三区| 欧美tickling挠脚心丨vk| 亚洲第一主播视频| 色av一区二区| 中文字幕在线观看一区| 福利视频网站一区二区三区| 久久综合色8888| 精品在线一区二区三区| 日韩一级大片在线| 日韩和的一区二区| 欧美日韩夫妻久久| 亚洲综合区在线| 欧洲国内综合视频| 一区二区激情小说| 色综合欧美在线视频区| 亚洲素人一区二区| 91免费国产视频网站| 亚洲欧美日韩国产成人精品影院| av中文一区二区三区| 国产精品美女久久久久久久| 懂色av一区二区三区免费看| 国产午夜精品久久久久久免费视 | 日韩影院精彩在线| 91精品国产麻豆国产自产在线| 亚洲日本青草视频在线怡红院| 北条麻妃国产九九精品视频| 国产精品免费aⅴ片在线观看| 国产suv精品一区二区883| 国产亚洲va综合人人澡精品| 国产精品亚洲一区二区三区在线| 2017欧美狠狠色| 成人综合婷婷国产精品久久免费| 国产精品无码永久免费888| 成人免费毛片片v| 国产精品视频一二三区| 不卡影院免费观看| 亚洲老妇xxxxxx| 欧美日韩久久久一区| 美女在线视频一区| 国产欧美一区二区精品性色超碰| 久久精品999| 中文字幕精品在线不卡| 日本道色综合久久| 日韩专区一卡二卡| 久久久久97国产精华液好用吗| 粉嫩欧美一区二区三区高清影视| 国产精品免费人成网站| 色88888久久久久久影院野外| 日韩精品色哟哟| 久久久精品黄色| 91久久精品一区二区二区| 日韩和欧美一区二区| 欧美激情在线观看视频免费| 91在线视频观看| 免费观看久久久4p| 日韩理论片在线|