📄 cbother.h
字号:
/////////////////
// CBOther.cpp : v0020
// v0010 : Mar.21.1997
// v0020 : May.16.1997, add stone, fixed some bugs
// written by : Liu Gang
// Compiler : Visual C++ 4.2
// Copyright : WayAhead Software Co.Ltd. 1996-1997
/////////////////
// header file
// 弓箭,火,滚木,擂石,投石,血迹,爆炸,雨,雪的数据结构
#define OTHER_MAX 100
enum OTHER_TYPE
{ OTHER_TYPE_NONE=0,
OTHER_TYPE_BLOOD,
OTHER_TYPE_MOUSE,
OTHER_TYPE_FIRE,
OTHER_TYPE_ARROW,
OTHER_TYPE_BOMB,
OTHER_TYPE_STONE,
OTHER_TYPE_HUOGONG,
OTHER_TYPE_GUNMU
};
#define OTHER_FRAME_MAX 12
struct OTHER_STRUCT
{
int nType; // 类型,无效时为OTHER_TYPE_NONE
int nFile; // 如果为BMP状态,此值为文件号,为CMP状态无效
POINT ptBegin; // 启始位置
POINT ptEnd; // 目的位置
POINT ptCur; // 当前位置
SIZE szItem; // 图形的大小
int nHit; // 攻击力
int nCol[OTHER_FRAME_MAX]; // 图形在压缩包中的偏移量
int nFrame; // 当前帧
int nMaxFrame; // 最大帧数
int nDelay; // 每一帧的延时
int nCounter; // 计数器
WORD nOwnerID; // 所有者ID
WORD nTargetID; // 目标单元ID,射箭有用
int nSpeed; // 移动速度,在某个方向上的速度
float fSin; // Sin()
float fCos; // Cos()
};
extern struct OTHER_STRUCT OTHER[OTHER_MAX];
extern int OTHER_nCounter;
/////////////////
// initialize
void OTHER_InitOther();
/////////////////
/////////////////
// 把数据设置到数组中
// pOther : source structure
// return : index in array, -1 if failed
int OTHER_CreateData( struct OTHER_STRUCT *pOther );
// 把数据设置到数组中
// 专门为鼠标设置,Dec.8.1997
// pOther : source structure
// return : index in array, -1 if failed
int OTHER_CreateDataEx( struct OTHER_STRUCT *pOther );
// 从数组中删除该内容,与CreateData对应
// nIndex : index in OTHER array
void OTHER_DestroyData( int nIndex );
// 初始化结构
// pOther : source structure
void OTHER_ClearData( struct OTHER_STRUCT *pOther );
/////////////////
/////////////////
// 移动该内容
// nIndex : index in array
// return : TRUE if hit
BOOL OTHER_Move( int nIndex );
// 得到在屏幕上的矩形
// ptScreenOff : offset of screen relative to the whole map
// nIndex : index in array
// return : rectangle on screen
RECT OTHER_GetRect( POINT ptScreenOff, int nIndex );
// 到达目的地后,对该点上的单元造成损失
// nIndex : index in array
// return : TRUE if hit someone
BOOL OTHER_HitStone( int nIndex );
// 到达目的地后,对目标单元造成损失
// nIndex : index in array
// return : TRUE if hit someone
BOOL OTHER_HitArrow( int nIndex );
// 生产火攻的火
// nX, nY : 放火的位置(格子)
// nLife : 存活时间(轮)
// nDai : 生产的代数,为0时不生产
// nNum : 生产的个数,1到9个
extern void OTHER_HUOGONG_Set( int nX, int nY, int nLife, int nDai, int nNum );
// 火烧效果
// nIndex : index in array
// return : TRUE if hit someone
BOOL OTHER_HUOGONG_Hit( int nIndex );
// 删除火攻效果,如果遇到地形型资源,则该资源被使用掉
void OTHER_HUOGONG_Die( int nIndex );
/////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -