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

📄 cbdata.h

📁 这是一个游戏程序源码
💻 H
字号:
/////////////////
// CBData.h		:	《赤壁》全局类型数据结构
// CBData.h		:	<< chibi >> global data type structure
//
// 版本0010		:	一九九六年九月十二日
// v0010		:	Sep.12.1996
// v0011		:	Oct.18.1996
// v0020		:	Feb.28.1997
//
// 编写			:	刘刚
// written by	:	Liu Gang
//
// 编译器		:	Visual C++ 4.2
// Compiler		:	Visual C++ 4.2
//
// 版权			:	北京前导软件有限公司	1996-1997
// Copyright	:	WayAhead Co.Ltd.		1996-1997
/////////////////
// 此文件用来读取、处理和存放所有单元(将领、士兵、建筑)的属性数据

#ifndef	__CBDATA_H__
#define	__CBDATA_H__
///////////

#include "DsApi.h"

#define	DATA_ERROR_ID	700

/////////
/////////
// 将领种类General_Type
#define	DATA_MOULUE_MAX	255
struct	DATA_GENERAL_STRUCT
{
	// 基本属性
	BYTE	nID;		// 将领类型(ID)
	DWORD	dwLife;		// 将领最大生命值
	char	strName[16];// 名字
	BYTE	nJunZhu;	// 君主的编号,不是游戏者 编号

	// 将领特殊属性
	BYTE	nWuLi;		// 武力
	BYTE	nZhiLi;		// 智力
	BYTE	nType;		// 将领的类型,1——骑,2——步,3——弓,4——文
	BYTE	nLevel;		// 将领级别(初始级别)
	BYTE	nMouLue;	// 谋略
	BYTE	nJiMou;		// 可使用的计谋
	int		nJingYan;	// 经验
	BYTE	nHealth;	// 体力

	// 控制属性
	BOOL	bOnBattle;	// 如果已经被选进战场为真
						// 或者初始化时特意不让该将领在本关出现
};
/////////

/////////
// 单元种类Unit_Type
#define		DATA_UNIT_NONE		0
struct	DATA_UNIT_STRUCT
{
	// 基本数据
	BYTE	nID;	// 类型(ID),文件号
	char	strName[16];		// 名字
	BYTE	nLevel;	// 级别
	DWORD	dwLife;	// 最大带兵数,生命值

	// 攻击和防御数据
	BYTE	nNearAttack;	// 近程攻击力
	BYTE	nFarAttack;		// 远程攻击力
	BYTE	nNearDefend;	// 近程防御力
	BYTE	nFarDefend;		// 远程防御力
	BYTE	nViewRange;		// 视野
	BYTE	nFightRange;	// 射程
	BYTE	nMoveSpeed;		// 移动速度
	BYTE	nFightSpeed;	// 攻击速度

	// 建造数据
	int		nCreateIron;	// 生产该单元时所需的资源
	int		nCreateFood;
	int		nCreateWood;
	int		nCreateGold;
	int		nCreateSpeed;

	// 计算数据
	BYTE	nAddExp;		// 被毁后对方经验值增加
	BYTE	nAddMorale;		// 被毁后对方士气增加,自己士气减少
};

// 官职Grade
struct DATA_GRADE_STRUCT
{
	char	strName[16];
	BYTE	nAddWuLi;
	BYTE	nAddZhiLi;
	BYTE	nGrade;
};

struct DATA_UPGRADE_STRUCT
{
	int nGold;
	int nWood;
	int nIron;
	int nFood;

	DWORD dwParam1;
	DWORD dwParam2;
	DWORD dwParam3;
	DWORD dwParam4;
};

#define	DATA_UNIT_GRADE_MAX		29
#define	DATA_UNIT_GENERAL_MAX	118
#define	DATA_UNIT_MAX			56
#define	DATA_UPGRADE_MAX	24
struct DATA_STRUCT
{
	char strDATA[_MAX_FNAME];	// 存放数据的文件名
	struct DATA_GRADE_STRUCT	Grade[DATA_UNIT_GRADE_MAX];
	struct DATA_GENERAL_STRUCT	Gen[DATA_UNIT_GENERAL_MAX];
	struct DATA_UNIT_STRUCT	Unit[DATA_UNIT_MAX];
	struct DATA_UPGRADE_STRUCT Upgrade[DATA_UPGRADE_MAX];
};

extern struct DATA_STRUCT DATA_Lib;
/////////

/////////
#define	DATA_EFFECT_MAX	128	// 所有的音效声音文件的数量
#define	DATA_MUSIC_MAX	32	// 所有的背景音乐文件的数量
struct DATA_WAVE_STRUCT
{
	char	strName[_MAX_FNAME];
};

struct DATA_WAVE_LIB_STRUCT
{
	char strWAVFile[_MAX_FNAME];	// 存放声音数据的文件名
	struct DATA_WAVE_STRUCT Music[DATA_MUSIC_MAX];
	struct DATA_WAVE_STRUCT Effect[DATA_EFFECT_MAX];	// 保存WAV音效
};
extern struct DATA_WAVE_LIB_STRUCT DATA_WAVE_Lib;
/////////


BOOL DATA_ReadDATAFile( HWND hwnd, LPCTSTR filename, LPCTSTR path );
BOOL DATA_ReloadDATAFile( HWND hwnd );

//////////////////////
// 声音文件,声音个体
// 读取声音文件
// hwnd		:	window handle if error 
// filname	:	wave data file name
// path		:	wave data file path
// pathWAV	:	wave source file path
// return	:	TRUE if read successful
BOOL DATA_ReadWAVEFile( HWND hwnd, LPCTSTR filename, LPCTSTR path, LPCTSTR pathWAV );

// play sound effects
// nIndex	:	index number from DATA_WAVE_Lib for play source
// bLoop	:	TRUE for loop
void DATA_WAVE_EffectPlay( int nIndex, BOOL bLoop=TRUE );
void DATA_WAVE_EffectPlayLow( int nIndex );	// in a low voice

// play background music
// nIndex	:	index number from DATA_WAVE_Lib for play source
void DATA_WAVE_MusicPlay( int nIndex );

// play background music
// filename		:	file name to be played
void DATA_WAVE_MusicPlayS( LPCTSTR filename );

// stop background music
void DATA_WAVE_MusicStop();

// replay the background music
void DATA_WAVE_MusicReplay();

// Close background music
void DATA_WAVE_MusicClose();
//////////////////////

/////////
#endif

⌨️ 快捷键说明

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