📄 game.h
字号:
#include "常数定义.h"
//定义结构----------------------------------------------------------------------
typedef struct
{ short int x;
short int y;
} PATHN;//搜索整理路径
typedef struct
{ short int qi; //动作起点
short int bc; //动作步数
} JCDZ; //人或兽的动作结构
typedef struct
{ short int jisu; //序号
short int xix,xiy; //角色座标
short int x0,y0; //目标位置
short int w,h; //对象尺寸
short int lb; //类别: [0人1兽2景]short int
short int p; //计数
//以下人、动物使用
short int m0,m1; //位置初值、终值
short int zs; //动作:人[0站1走2刺3劈4倒]
//动作:兽[0站1走2跑3斗4倒5尸]
short int js; //角色:人[0男1女]
//角色:兽[0豹1狼2鹿3马4雀5羊6猪]
short int fw; //方位: [0南1西南2西3西北4北5东北6东7东南]
short int zd; //当前状态[0,1打斗]
//以下搜索使用
PATHN ph[250]; //搜索的路径
short int pk; //路径长
short int fid; //路径计数
short int fx,fy; //保留目标点
} MAN; //对象结构
//定义类-------------------------------------------------------------------------
class game
{public: game(); //构造函数
virtual~game(); //析构函数
//A、基本游戏功能-------------------------------
//变量定义
public://公有,外部可调用
MAN man[SU_LIANG]; //定义对象变量,数量为SU_LIANG
HDC MemDC; //对象设备句柄
HBITMAP OldMak;
HDC hScrDC; //屏幕设备句柄
HBITMAP bitmap; //地图位图内存
HBITMAP hBMP0;
HBITMAP hBMP1;
HDC hDC0;
HDC hDC1;
CString dir; //数据路径
short int rs; //当前对象数
short int scrx,scry; //地图移动量
CString mapbak; //地图块名
int w,h; //对象图片宽、高
char appdir[256]; //当前目录
private://私有,类内部使用
short int sys; //当前运行系统
BLENDFUNCTION rBlend; //半透明
//函数定义
public://公有,外部可调用。----------------------------------------
BOOL init(); //初始化
void exit(); //退出
void Memcpy0(unsigned char *mu,unsigned char *yu,int z);
void loadmap(CString name); //调入地图
BOOL loadbmp(CString cc); //调BMP图片[2章]
BOOL getpic(CString cc,int p,int a);//调图片DX
void Alphasetobj (int q,int a); //对象显示
void Alpha(int x,int y);
void setman (int q); //设置活动对象初值
void getobjwh(int q); //取对象的尺寸
void sort(); //排序(冒泡法)
void TransparentBlt2(HDC hdc0, //目标DC
int nX0,int nY0,int nW0,int nH0,//目标左坐标,目标宽高宽
HDC hdc1, //源DC
int nX1,int nY1,int nW1,int nH1,//源起点坐标,源宽高宽
UINT Tcol); //透明色,COLORREF类型
private://私有,类内部使用
BOOL inscreer(int i); //在显示区?
int getsys(); //识别系统
void bianfw (int q); //方位转换
void manmove(int i); //活动对象的移动
//B、扩展游戏功能[压缩资源包使用]------------
//变量定义
public://公有,外部可调用
short int mann; //主角下标
short int mans; //显示区对象数
short int find_p; //无搜索0有搜索1
short int SCRP0; //实际地图倍数
CFile sfile,rfile,jfile; //压缩资源包的文件指针
BYTE *stmp,*rtmp,*jtmp; //压缩的内存变量
int sbufadd[SBUF]; //兽的资源指针
short int sbufx [SBUF]; //兽的偏移量x
short int sbufy [SBUF]; //兽的偏移量y
int rbufadd[RBUF]; //人的资源指针
short int rbufx [RBUF]; //人的偏移量x
short int rbufy [RBUF]; //人的偏移量y
int jbufadd[JBUF]; //景的资源指针
//C、编辑功能的变量
short int edi; //编辑标志
//以下是DirectX变量、函数定义////////////////////////////////
public://公有,外部可调用
LPDIRECTDRAWSURFACE DXSBack1; //主缓存页面1
LPDIRECTDRAWSURFACE DXSBack0; //背景地图缓存页面0
LPDIRECTDRAWSURFACE DXSBack00; //地图移动缓存页面0
void FreeDDraw(void ); //释放所有的DirectDraw对象
void Bk1ToPr(HDC scrhdc,CRect lpRect);//后页1到前页
RECT rect;
private://私有,类内部使用
DDSURFACEDESC ddsd; //页面描述
HRESULT ddrval;
LPDIRECTDRAW DXW; // DXDraw对象
DDCOLORKEY col; //透明关键色
LPDIRECTDRAWSURFACE DXSPrimary;// DXDraw主页面
LPDIRECTDRAWSURFACE DXSgonh; //对象缓存页面
BOOL InitDDraw(void); //初始化DirectDraw环境
void Surface(int w,int h); //定义缓存页面的大小
/////////////////////////////////////////////////////////////////////////////
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -