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

📄 tbnbase.h

📁 网页游戏赤壁
💻 H
字号:
/*
 *    BNBASE.H
 *    Define Struct For Chbi Fight interface module.
 *    Programmed By Y.Tian. No#Eye. WayAhead. Co. 1997.
 */

#ifndef  _T_BASE_H_
#define  _T_BASE_H_

//#include <stdio.h>
//#include <time.h>
//#include <stdlib.h>
//#include <string.h>

//#define NDEBUG

//---------------------------------
#include <time.h>

#include "cbctrl.h"
#include "cbeyes.h"
#include "cbmap.h"
#include "cbdata.h"

#ifdef TNDEBUG

//--- Macro Define For Microsoft Visual C++ 4.0.

#ifndef CONST
#define CONST		    const

typedef unsigned long	    DWORD;
typedef int                 BOOL;
typedef unsigned char       BYTE;
typedef unsigned short      WORD;
typedef float               FLOAT;
typedef FLOAT               *PFLOAT;
typedef BOOL near           *PBOOL;
typedef BOOL far            *LPBOOL;
typedef BYTE near           *PBYTE;
typedef BYTE far            *LPBYTE;
typedef int near            *PINT;
typedef int far             *LPINT;
typedef WORD near           *PWORD;
typedef WORD far            *LPWORD;
typedef long far            *LPLONG;
typedef DWORD near          *PDWORD;
typedef DWORD far           *LPDWORD;
typedef void far            *LPVOID;
typedef CONST void far      *LPCVOID;

typedef int                 INT;
typedef unsigned int        UINT;
typedef unsigned int	    *PUINT;

typedef long LONG;

typedef struct tagPOINT
{
    LONG  x;
    LONG  y;
} POINT;

#endif
#endif




//--- Define macro.

#ifdef TNDEBUG

#define LUMBER	     0	  //collection lumber.
#define FOOD	     1	  //collection gold.
#define REPAIRE      2	  //repaire building.
#define IRON	     3	  //collection ironwork.

//--- Define Only For Worker.

#define COLLECTION   11

#endif

//--- Define Macro.

#define  NOOBEY   10
#define  CBTRUE   100
#define  CBFALSE  200
#define  CBNULL   1000

//--- User pos.

#ifdef TNDEBUG

#define  UP	  0
#define  DOWN	  1
#define  LEFT	  2
#define  RIGHT	  3

//--- Unit ID.

#define  WORKER 	  0
#define  MAN		  1
#define  LADDER 	  2
#define  FIGHTER	  3
#define  FOOTSOLDIER  4
#define  CAVALRYMAN	  5
#define  BOWMAN 	  6
#define  TURNER 	  7
#define  BOAT		  8

//--- Attack ID

#define BODY	  0
#define BUILDING  1

#endif

 

//--- extern struct for liu gang.

//INSTINCE
typedef struct T_INSTCE {
			 short alive;	     //unit alive.
			 WORD X;	    //unit x pos.
			 WORD Y;	    //unit y pos.
			 WORD Z;	    //unit z pos.
			 WORD attrib;	     //unit attrib.
			 WORD pos;	     //unit pos (left right up down).
			 short busy;	     //??
			 CTRL_TASK answer;   //unit give out values.
			 CTRL_TASK Bobey;    //unit obey.
			 WORD target;	     //object target;
			 short damage;	     //unit damage.
			 short finish;	     //unit arrive.
			 short automode;     //unit auto mode.
			 WORD avoid;	     //object avoid pos.
			} S_INSTINCE_BASE;

//GIVE OUT VALUES.

//--- unit pos (x,y,z).
typedef struct T_POS {
		     WORD x;
		     WORD y;
		     WORD z;
		     }POS;

//--- give out values.
typedef struct T_GIVE_OUT_VAL {
			      WORD ID;
			      CTRL_TASK  obey;
			      POS   pos;
			      WORD  done;
			      } GOP;



//--- emperor define struct .

#define WORKER_MAX    15
#define WORKER_BASE   18

/*
typedef struct T_BUILD{
					  UNIT_STRUCT * BPoint;
					  WORD hPos;
	                  } BUILDP;
*/

enum	T_BUILDINGSTRUCT{
						DAQI=0,                      //大旗
						SHUAIZHANG1,SHUAIZHANG2,   //帅帐
                        CHEBINGSUO1,CHEBINGSUO2,   //车兵所
						GONGBINGSUO1,GONGBINGSUO2, //弓兵所
						QIBINGSUO1,QIBINGSUO2,     //骑兵所
						BUBINGSUO1,BUBINGSUO2,     //步兵所
						JIANLOU1,JIANLOU2,         //箭楼
						WUQIKU1,WUQIKU2,           //武器库
						LIANGCANG1,LIANGCANG2,     //粮仓
						MUCAICHANG1,MUCAICHANG2,   //木材场
						CHUANWU1,                   //船坞   
						QIANZHUANG1                //钱庄
                        };

typedef struct T_BUILDING{
						 WORD Pos;
						 T_BUILDINGSTRUCT What; 
						 }BUILD_BUILDING;	

typedef struct T_ACCEDE{
					   WORD ID;
					   WORD WorkerID;
					   } ACCEDE;

typedef struct T_SOURCEXY{
	                     WORD X;
						 WORD Y;
						 WORD POS;
                         } SOURCEXY;
typedef struct T_SOURCE{
					   WORD Ironsource;
					   SOURCEXY  Lumbersource;
					   SOURCEXY  Foodsource;
					   }TSOURCE;

typedef struct T_IRONWORKER{
						   WORD GeneralID;    //general id .
						   WORD GeneralFile;  //gneneral file name.
						   WORD GeneralLife;  //general life.
						   WORD WorkerNum;    //iron worker number.
						   WORD Env;          //env.
						   WORD Finish;	      //iron worker pos.
		                   WORD SCAttackFinish; //sheng chan a attack soldier finish pos. 

						   //scan build pos.
						   //init 0 mean receive shengchan return pos.
						   //sheng chan iron worker used.
						   WORD ShengChanPos0;   

						   //sheng chan a iron worker finish pos.
					       WORD ShengChanFinish;

						   WORD WorkerArrays[WORKER_MAX+1]; //iron worker arrays.

						   //when jia ru a worker ,sheng chan a worker finish pos.
						    WORD JRPos;

						   //zu jian  worker finish pos.
						   WORD ZJFinish;

						   WORD BKnTaskIDEx;
						   WORD ShipFinish;   //运输船到达标志
						   WORD WaitAttack;
						   WORD WaitTime;

						   //WORD IPos;  //static pos for used.
						   }WORKERPRO;

//WORD QiBusy         //骑兵所忙的标志
//WORD CheBusy;       //车兵所忙的标志

typedef struct T_EMPEROR{
	         WORD Busy;          //帅帐忙的标志
			 WORD BowBusy;       //弓兵所忙的标志
			 WORD DogfaceBusy;   //步兵所忙的标志
			 WORD ChuanBusy;     //船坞忙的标志 
			 WORD QiBusy;        //骑兵所忙的标志 
			 WORD CheBusy;       //车兵所忙的标志   
			 WORD buildbusy;     //建筑工人没有工作
			 WORD AttComFinish;  //attack team pos.
			 WORD DefComFinish;  //defance team pos.
			 WORD Finish;	     //iron worker pos.
			 WORD LumberFinish;  //lumber worker pos.
			 WORD FoodFinish;	 //FOOD worker pos.
			 WORD RepaireFinish; //repaire worker pos.
			 WORD AttComnum;     //attack team pos.
			 WORD DefComnum;     //Defance team pos.
			 
			 WORD Shipnum;
			 WORD ShipComnum;
			 WORD ShipComFinish;
			 WORD ZJShipSoldierF;
			 WORD SCShipFinish;

			 //scan build pos.
			 //init 0 mean receive shengchan return pos.
			 //sheng chan iron worker used.
			 WORD ShengChanPos0;   
             
			 //sheng chan LUMBER worker used.
			 WORD ShengChanPos1;   

             //sheng chan FOOD worker used.
			 WORD ShengChanPos2;

			 //sheng chan repaire worker used.
			 WORD ShengChanPos3;

			 //?sheng chan a attack soldier finish pos.
			 WORD SCAttackFinish;

			 //zu jian a attack soldier finish pos.
             WORD ZJAttackSoldierF;

			 //zu jian  attack soldier ji shu pos.
			 WORD Attacknum;

			 //zu jian iron worker ji shu pos.
             WORD Ironworkernum;

             //zu jian Lumber worker ji shu pos.
			 WORD Lumberworkernum;

             //zu jian FOOD worker ji shu pos.
             WORD Foodworkernum;

             //zu  jian repaire worker ji shu pos.
			 WORD Repaireworkernum;

			 //zu jian defance soldier ji shu pos.
			 WORD Defancenum;

			 WORD HomeID;
			 WORD InitPos;
			 //clock_t Times;
			 //clock_t Timee;
			}EMMPERORPRO;


typedef struct T_OBEYP{
				      WORD ObeyPos;
				      WORD AttackPos;
					  WORD AttackPos1;
					  WORD AttackPos2;
					  WORD AttackPos3;
					  }OBEYP;

typedef struct T_GRADE{
                      WORD num;
					  WORD AttackPos;
                      WORD GuardTower[PLAYER_UNIT_MAX];
                      }TGUARD;



extern WORD AutoAttack[20];

extern WORD BloodPos ;

#endif

⌨️ 快捷键说明

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