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

📄 ppgamedoc.h

📁 一个点泡泡游戏
💻 H
字号:
// PPGameDoc.h: interface for the CPPGameDoc class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PPGAMEDOC_H__0153ACE7_DF9C_4952_8243_D25AE414AB85__INCLUDED_)
#define AFX_PPGAMEDOC_H__0153ACE7_DF9C_4952_8243_D25AE414AB85__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "PPBase.h"
#include "PPGameApp.h"

class CPPKeyControl;
class CPPBaseView;
class CPPLogoView;
class CPPMenuView;
class CPPAboutView;
class CPPHelpView;
class CPPOverView;
class CPPSetView;
class CPPGameView;
class CPPGameDoc : public CPPBase  
{
protected:
	CPPGameDoc();
	virtual ~CPPGameDoc();
public:
	void ReleaseView();// 释放视图资源指针
	void SetExitTimer(boolean bExit);
	boolean IsExitTimer();
	void SetApp(CPPGameApp* pApp);
	int GetViewID();
	void SwitchView(int16 nViewID);
	static CPPGameDoc* CreateInstance();// 创建文档实例
	bool InitData();	// 初始化数据
	void Release();		// 释放相关数据
	boolean SetCurView(CPPBaseView* pCurView);// 设定当前视图
	CPPBaseView* GetCurView();// 得到当前视图
// Logo视图操作
public:
	boolean UpdateLogoView();
	void SetLogoView(CPPLogoView* pLogoView);
	CPPLogoView* GetLogoView();// 得到开始视图指针
// 菜单视图操作
public:
	boolean UpdateMenuView();
	void SetMenuView(CPPMenuView* pMenuView);
	CPPMenuView* GetMenuView();// 得到菜单视图指针
// 关于视图操作
public:
	boolean UpdateAboutView();
	void SetAboutView(CPPAboutView* pAoutView);
	CPPAboutView* GetAboutView();// 得到关于视图指针
// 帮助视图操作
public:
	boolean UpdateHelpView();
	void SetHelpView(CPPHelpView* pHelpView);
	CPPHelpView* GetHelpView();// 得到关于视图指针
// 设置视图操作
public:
	boolean UpdateOptView();
	void SetOptView(CPPSetView* pOptView);
	CPPSetView* GetOptView();// 得到关于视图指针
// 演示、游戏视图操作
public:
	void MoveDiamond();	// 移动钻石填补空缺
	void ClearDiamond(int nDiamondType);// 重载清除钻石,专用于用户点击炸弹
	void ClearDiamond(int nRow, int nCol, int nDiamondType);// 清除钻石,置为爆炸
	// 从当前位置递归统计相同钻石,做上爆炸标记
	void CountSameDiamond(int nRow, int nCol, int nDiamondType);

	boolean AddDemoDiamond();	// 增加演示视图新钻石
	boolean AddNewDiamond();	// 增加新钻石
	boolean UpdateGameView();
	void SetGameView(CPPGameView* pGameView);
	CPPGameView* GetGameView();// 得到关于视图指针

	int m_nDemoDiamondIndex;	// 记录演示视图钻石数据索引
	int m_nDemoKeyIndex;		// 纪录演示视图按键数据索引
// 游戏结束视图操作
public:
	void HandleSelectDiamond();// 处理选择钻石的处理
	void SetOverView(CPPOverView* pOverView);
	boolean UpdateOverView();
	CPPOverView* GetExitView();
// 按键操作
public:
	// 演示虚拟按键操作
	void HandleDemoKey(EKEYCODE eKey);


	void HandleGameKey(CPPKeyControl* pControl);
	void HandleOptKey(CPPKeyControl* pControl);
	void HandleOverKey(CPPKeyControl* pControl);
	void HandleHelpKey(CPPKeyControl* pControl);
	void HandleAboutKey(CPPKeyControl* pControl);
	void HandleMenuKey(CPPKeyControl* pControl);
	void SetCurViewID(int16 nViewID);
	boolean SetControl(CPPKeyControl* pControl);
	void HandleKeyEvent();
	CPPKeyControl* GetKeyControl();
	// 其他操作
public:
	void GetSingleData(int nData);// 得到数据的当前单个位
	int GetDataIndex(int nData);// 根据当前数字得到数字在位图的索引
protected:
	void FreeData();	// 被Release()调用释放数据
public:
	GAMESCORE m_tGameScore;	// 当前玩家的得分与级别
	int m_nDiamondCount;		// 统计相同钻石的数量
	CPPBaseView* m_pCurView;	// 当前视图指针
	int16 m_nCurViewID;			// 当前视图ID
	CPPLogoView* m_pLogoView;	// 开始视图的指针
	CPPMenuView* m_pMenuView;	// 菜单视图的指针
	CPPAboutView* m_pAboutView;	// 关于视图指针
	CPPHelpView* m_pHelpView;	// 帮助视图指针
	CPPGameView* m_pGameView;	// 演示视图指针
	CPPOverView* m_pOverView;	// 结束视图的指针
	CPPSetView* m_pOptView;		// 设置视图的指针
	CPPKeyControl* m_pKeyControl;// 键盘控制器

	CPPGameApp* m_pApp;

	boolean m_bExitTimer;// 标志视图定时器结束
public:
	bool m_bGameView; // 标志游戏演示(false),正常游戏(true)

	int m_nGameScore;	// 初始化游戏得分
};

#endif // !defined(AFX_PPGAMEDOC_H__0153ACE7_DF9C_4952_8243_D25AE414AB85__INCLUDED_)

⌨️ 快捷键说明

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