📄 tbnbase.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 + -