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

📄 gamemenu.h

📁 MUD文字游戏开发
💻 H
字号:
#pragma once
#include "GameBase.h"
#include <Windows.h>
#include "Interface.h"

class CGameMenu : public CGameBase
{
private:
	HANDLE m_hOut; //输出句柄
	HANDLE m_hIn;  //输入句柄
	CONSOLE_SCREEN_BUFFER_INFO m_bInfo;//获取控制台的相关信息
	COORD m_coMenuPos;	//记录开始菜单的位置
	COORD m_coMousePos;	//记录鼠标点击的位置
	bool m_bRunMenu;	//判断游戏是在运行菜单画面还是其他画面(true:菜单;false:非菜单)
	bool m_bDrawMenu;	//判断是否要重新获取菜单(true:重画;false:不用重画)
	DWORD m_dwKeyBuffer; //记录当前鼠标键盘的动作
	int m_nSelect;	//选中的菜单(0:开始;1:载入;2:选项;3:退出;)
	int m_nMenuNum; //记录菜单数量(增加游戏功能的可扩展性)
	int m_nCursorState; //当前菜单的选中位置
	void DrawMenuValue(char m_strValue[20],int m_nSelect); //画出菜单各成员项
	void DrawCursor(); //显示选中的菜单
	CInterface *m_pInterface;
public:
	CGameMenu(void);
	~CGameMenu(void);

	void GetMenu(); //获取菜单
	void SelectMenu(); //用"<<<<"和">>>>"标出选中的行
	void MouseEvent(bool bDoubleClick); //响应鼠标事件
	void KeyEvent(); //响应键盘事件
	void CleanCursor(); //清空未选中行的菜单选中符
	void GetStartMessage();//获取游戏开始的提示信息
	void EnterMap();//进入地图
	virtual void GameLoop();
	virtual void Close();
};

⌨️ 快捷键说明

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