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

📄 world.h

📁 “恐怖之战”游戏源码
💻 H
字号:
#ifndef __WORLD_H
#define __WORLD_H


#include <dmusicc.h>               // DirectMusic includes
#include <dmusici.h>
#include <d3d8types.h>             // for D3DVECTOR
#include <cguid.h>                 // for GUID_NULL
#include <typeinfo.h>				// for RTTI

#include "gui.h"
#include "player.h"
#include "sod.h"
#include "ogro.h"
#include "entity.h"
#include "md2.h"
#include "object.h"
#include "camera.h"
#include "terrain.h"
#include "audiosystem.h"
#include "tree.h"

#define MAX_ENEMIES 10

class CWorld
{
private:
	int numOgros, numSods;
	int screenWidth, screenHeight;
	bool gameDone;

protected:
	void OnAnimate(float deltaTime);
	void OnDraw(CCamera *camera);
	void OnPrepare();

public:
	HWND hwnd;

	CTerrain *terrain;			// 地形
	CCamera *camera;			// 摄像机
	CPlayer *player;			// 游戏者
	CAudioSystem *audioSystem;	// 音频系统
	CAudio *worldSound;			// 环境音乐
	CGUI *gui;

	COgroEnemy *ogroEnemy;		// ogro敌人
	CSodEnemy *sodEnemy;		// sod敌人

	float timeStart;
	float timeElapsed;

	CWorld();
	CWorld(CCamera *c);
	~CWorld();
	// 初始化地形,装入所有对象
	void LoadWorld();
	void UnloadWorld();

	int CountObjectTypes(const type_info &classID);
	// 进行所有对象的物理计算,包括碰撞检测
	void Animate(float deltaTime);
	// 渲染场景中所有对象
	void Draw(CCamera *camera);
	void Prepare() { OnPrepare(); }

	void FadeScreen();
	void SetScreen(int width, int height);

	bool IsGameDone() { return gameDone; }
	void QuitGame() { gameDone = true; }
	int GetOgros() { return numOgros; }
	int GetSods() { return numSods; }
};


#endif

⌨️ 快捷键说明

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