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

📄 menu.cpp

📁 一个控制台VC++2005版的俄罗斯方块源码
💻 CPP
字号:
#include"Menu.h"

CMenu::CMenu()
{	
	backColor=15;
	selectIndex=1;
	selectColor=10;//绿色
	unselectColor=12;//红色;
	ClearBuffer(2,1,20,20,backColor);
	strcpy(menu[0],"开始游戏");
	strcpy(menu[1],"游戏帮助");
	strcpy(menu[2],"退出游戏");
	for(int i=0;i<3;i++)
	{		
		DrawText( 7, 7+i*2,selectIndex==i+1?selectColor:unselectColor,menu[i]);
	}
}

CMenu::~CMenu()
{
}

GameState CMenu::Logic(bool goOn)
{
	fflush( stdin );
	if(_kbhit())
	{
		int a=_getch();
		char input[2];
		if(a<0)
		{
			input[0] = a;
			input[1] = _getch();
		}
		else
		{
			input[1] = a;
		}
		switch (input[1])
		{
		case KEY_UP:
			unselectMenu(selectIndex);
			if(selectIndex==1)
			{
				selectIndex=3;
			}
			else
			{
				--selectIndex;
			}
			selectMenu(selectIndex);
			break;
		case KEY_DOWN:
			unselectMenu(selectIndex);
			if(selectIndex==3)
			{
				selectIndex=1;
			}
			else
			{
				++selectIndex;
			}
			selectMenu(selectIndex);
			break;
		case KEY_ENTER:
			switch(selectIndex)
			{
			case 1:
				return GAME;
				break;
			case 2:
				return HELP;
				break;
			case 3:
				return EXIT;
				break;
			}
			break;
		}
	}
	return MENU;
}

void CMenu::selectMenu(int index)
{		
	DrawText( 7, (index-1)*2+7, selectColor,menu[index-1]);
}

void CMenu::unselectMenu(int index)
{	
	DrawText( 7, (index-1)*2+7, unselectColor,menu[index-1]);

}

⌨️ 快捷键说明

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