📄 ppgamedoc.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 + -