亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? interface.cpp

?? MUD文字游戲開發
?? CPP
字號:
#include "Interface.h"
#include "GlobalDef.h"
#include <conio.h>
#include "Input.h"

CInterface::CInterface(void)
{
}

CInterface::~CInterface(void)
{
}

//顯示信息畫面
//void CInterface::ShowMessage(char *strValue,int nRow)
//{
//	COORD tempPos;
//	int nNum = static_cast<int>(strlen(strValue));
//	tempPos.X = (SCREENWIDTH)/4;
//	tempPos.Y = (SCREENHEIGHT)/4 + nRow;
//
//	WriteConsoleOutputCharacter(CInput::getHout(), strValue, nNum, tempPos, NULL);
//}
void CInterface::ShowMessage(string strValue,int nRow)
{
	COORD tempPos;
	//int nNum = static_cast<int>(strlen(strValue));
	const char *chTemp = strValue.data();
	int nNum = static_cast<int>(strlen(chTemp));
	tempPos.X = (SCREENWIDTH)/4;
	tempPos.Y = (SCREENHEIGHT)/4 + nRow;

	WriteConsoleOutputCharacter(CInput::getHout(), chTemp, nNum, tempPos, NULL);
}

//畫出地圖各元素
void CInterface::DrawMapElement(COORD coPosition,string strValue)
{
	const char *chTemp = strValue.data();
	int nNum = static_cast<int>(strlen(chTemp));
	WriteConsoleOutputCharacter(CInput::getHout(), chTemp, nNum, coPosition, NULL);
}

//定義非選擇菜單
void CInterface::DrawShowMenu(COORD& coPOS,int windth,string strValue)
{
	const char *chTemp = strValue.data();
	int nNum = static_cast<int>(strlen(chTemp));
	WORD wShadowAtt=BACKGROUND_INTENSITY; // 陰影屬性
	WORD wTextAtt = FOREGROUND_RED |FOREGROUND_GREEN |FOREGROUND_BLUE | FOREGROUND_INTENSITY |
		BACKGROUND_RED | BACKGROUND_BLUE; // 文本屬性

	COORD coShadowPOS={coPOS.X+1,coPOS.Y+1};

	FillConsoleOutputAttribute(CInput::getHout(), wShadowAtt, windth, coShadowPOS, NULL);
	FillConsoleOutputAttribute(CInput::getHout(), wTextAtt, windth, coPOS, NULL);
	WriteConsoleOutputCharacter(CInput::getHout(), chTemp, nNum, coPOS, NULL);
}

//控制戰斗菜單顯示的屬性
void CInterface::CreateMenu(COORD& coPOS)
{
	m_coFirstPOS = coPOS;
	m_nMenuNum = 0;
	m_nSelect = 1;
	m_nMaxLength = 0;
	m_wShadowAtt=BACKGROUND_INTENSITY; // 陰影屬性
	m_wTextAtt = FOREGROUND_RED |FOREGROUND_GREEN |FOREGROUND_BLUE | FOREGROUND_INTENSITY |
		BACKGROUND_RED | BACKGROUND_BLUE; // 文本屬性
	//m_wTextAtt = FOREGROUND_RED |FOREGROUND_GREEN | FOREGROUND_INTENSITY |
	//	BACKGROUND_RED | BACKGROUND_BLUE; // 文本屬性
	m_wSelectAtt=FOREGROUND_RED|FOREGROUND_INTENSITY|BACKGROUND_BLUE|BACKGROUND_GREEN|BACKGROUND_RED;

	COORD coShadowPOS={coPOS.X+1,coPOS.Y+1};

	FillConsoleOutputAttribute(CInput::getHout(), m_wShadowAtt, MenuWidth, coShadowPOS, NULL);
	FillConsoleOutputAttribute(CInput::getHout(), m_wTextAtt, MenuWidth, coPOS, NULL);
}

//增加戰斗菜單顯示的內容
void CInterface::AddMenuCell(char* strValue)
{
	// 計算顯示窗口大小和位置
	int nNum = static_cast<int>(strlen(strValue));
	m_nMaxLength = m_nMaxLength<nNum?nNum:m_nMaxLength;

	// 設置陰影
	COORD posShadow = {m_coFirstPOS.X+1, m_coFirstPOS.Y+m_nMenuNum+2};
	COORD posText = {m_coFirstPOS.X, m_coFirstPOS.Y+m_nMenuNum+1};
	for (int i=0; i<2; ++i){
		FillConsoleOutputAttribute(CInput::getHout(), m_wShadowAtt, MenuWidth, posShadow, NULL);
		++posShadow.Y;
	}
	// 填充窗口背景
	for (int i=0; i<2; ++i){
		FillConsoleOutputAttribute(CInput::getHout(), m_wTextAtt, MenuWidth, posText, NULL); 
		++posText.Y;
	}
	// 寫文本和邊框
	posText.X=m_coFirstPOS.X+2;
	posText.Y=m_coFirstPOS.Y+m_nMenuNum+1;
	WriteConsoleOutputCharacter(CInput::getHout(), strValue, nNum, posText, NULL);
	//++m_nMenuNum;
	m_nMenuNum = m_nMenuNum + 2;
}

//標出選中的菜單
void CInterface::DrawMenu(int nNewSEL,int nOldSEL)
{
	COORD posText = {m_coFirstPOS.X+2, m_coFirstPOS.Y+2*nNewSEL-1};
	FillConsoleOutputAttribute(CInput::getHout(), m_wSelectAtt, m_nMaxLength, posText, NULL);
	if (nNewSEL != nOldSEL)
	{
		posText.Y=m_coFirstPOS.Y+2*nOldSEL-1;
		FillConsoleOutputAttribute(CInput::getHout(), m_wTextAtt, m_nMaxLength, posText, NULL);
	}
}

//選擇菜單
int CInterface::SelectMenu()
{
	int nMaxCount = m_nMenuNum/2;
	int nKey;
	//SMALL_RECT rc={SCREENWIDTH/3+MenuWidth+1,SCREENHEIGHT/3+4,SCREENWIDTH/3+MenuWidth+22,SCREENHEIGHT/3+17};
	SMALL_RECT rc={SCREENWIDTH/3+MenuWidth+1,SCREENHEIGHT/3,SCREENWIDTH/3+MenuWidth+22,SCREENHEIGHT/3+17};
	while (1)
	{
		nKey = _getch();
		switch (nKey)
		{
		case 72://向上
			if (m_nSelect == 3 || m_nSelect == 2) DeleteRect(rc);
			if (m_nSelect != 1)
			{
				m_nSelect -= 1;
				DrawMenu(m_nSelect,m_nSelect+1);
			}
			break;
		case 80://向下
			if (m_nSelect == 3 || m_nSelect == 2) DeleteRect(rc);
			if (m_nSelect != nMaxCount)
			{
				m_nSelect += 1;
				DrawMenu(m_nSelect,m_nSelect-1);
			}
			break;
		case 13://確定--回車
			return m_nSelect;
		}
	}
}

//刪除矩形范圍內的內容
void CInterface::DeleteRect(SMALL_RECT& rc)
{
	CONSOLE_SCREEN_BUFFER_INFO bInfo;
	GetConsoleScreenBufferInfo(CInput::getHout(), &bInfo); 

	COORD home={rc.Left,rc.Top};
	DWORD size=rc.Right-rc.Left;
	int line=rc.Bottom-rc.Top;
	for(int i=0;i<line;++i)
	{
		FillConsoleOutputAttribute(CInput::getHout(), bInfo.wAttributes, size, home, NULL);
		FillConsoleOutputCharacter(CInput::getHout(), ' ', size, home, NULL);
		++home.Y;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产盗摄一区二区| 精品制服美女久久| 色综合天天视频在线观看| 亚洲精品日韩专区silk| 欧美男女性生活在线直播观看| 另类综合日韩欧美亚洲| 中文字幕不卡在线观看| 欧美影视一区二区三区| 国产在线乱码一区二区三区| 自拍偷在线精品自拍偷无码专区| 欧美主播一区二区三区美女| 国产一区二区日韩精品| 一区二区三区不卡视频| 国产三级精品视频| 91麻豆精品91久久久久久清纯| 国产不卡一区视频| 麻豆精品视频在线观看| 国产精品福利av| 欧美xxxxx裸体时装秀| 97se狠狠狠综合亚洲狠狠| 蜜桃免费网站一区二区三区| 日本在线不卡一区| 亚洲精品视频在线观看免费| 亚洲人成网站在线| 国产亚洲一区二区三区在线观看| 在线不卡a资源高清| 91免费观看国产| 成人免费精品视频| 精品一区二区三区欧美| 岛国av在线一区| 色先锋久久av资源部| 91精品国产入口| 欧美美女一区二区在线观看| 日韩三级免费观看| 日韩三区在线观看| 国产精品传媒入口麻豆| 亚洲午夜免费视频| 亚洲综合男人的天堂| 亚洲免费观看高清完整版在线观看 | 欧美色偷偷大香| 波多野结衣在线一区| 婷婷丁香久久五月婷婷| 亚洲精品成人悠悠色影视| 免费在线观看视频一区| 男女视频一区二区| 成人高清免费在线播放| 69久久夜色精品国产69蝌蚪网| 久久精品一区蜜桃臀影院| 亚洲一二三区在线观看| 国产成人8x视频一区二区| 欧美综合天天夜夜久久| 国产日韩欧美激情| 日韩国产在线观看一区| 麻豆一区二区三区| 日本韩国一区二区| 欧美日本在线观看| 国产精品国产三级国产a| 免费在线观看一区| 在线观看日韩电影| 久久精品一区二区三区不卡| 亚洲成av人在线观看| 日本三级亚洲精品| 一本一本大道香蕉久在线精品 | 在线精品视频免费播放| 亚洲精品在线网站| 国产精品每日更新| 亚洲一区二三区| 成人app网站| 国产丝袜欧美中文另类| 美女高潮久久久| 欧美一区二区三区白人| 亚洲第四色夜色| 日本久久一区二区三区| 国产精品网曝门| 国产成人av福利| 精品第一国产综合精品aⅴ| 亚洲午夜电影在线| 欧美性欧美巨大黑白大战| 亚洲女性喷水在线观看一区| 成人在线视频一区| 国产女同互慰高潮91漫画| 国产一区二区三区四区在线观看| 欧美大白屁股肥臀xxxxxx| 国产精品色哟哟| 成人免费看片app下载| 国产精品美女久久久久aⅴ| 国产成都精品91一区二区三| 欧美激情中文不卡| 91在线观看视频| 一区二区三区不卡视频 | 欧美剧情片在线观看| 亚洲成人午夜电影| 欧美一卡2卡3卡4卡| 美腿丝袜亚洲三区| 久久久久久久久97黄色工厂| 亚洲一线二线三线久久久| 欧美色欧美亚洲另类二区| 日本成人在线一区| 欧美精品一区二区久久婷婷| 福利电影一区二区三区| 亚洲日本在线看| 欧美精品国产精品| 精品一区二区三区影院在线午夜| 久久久91精品国产一区二区三区| caoporm超碰国产精品| 亚洲一区二区三区四区在线观看| 欧美一级在线观看| thepron国产精品| 亚洲一区二区三区视频在线| 日韩欧美一区在线| 不卡电影免费在线播放一区| 一区二区三区中文在线观看| 日韩视频一区二区三区在线播放| 国产成人精品免费在线| 亚洲一区二区综合| 国产亚洲成av人在线观看导航 | 欧美一区三区二区| k8久久久一区二区三区 | 亚洲人被黑人高潮完整版| 正在播放一区二区| 大尺度一区二区| 男男成人高潮片免费网站| 成人欧美一区二区三区在线播放| 国产成人精品在线看| 亚洲第一综合色| 国产精品视频九色porn| 欧美一二三区在线观看| 色网站国产精品| 风间由美一区二区三区在线观看| 亚洲成人手机在线| 亚洲人成人一区二区在线观看 | 国产91富婆露脸刺激对白| 亚洲成年人网站在线观看| 中文字幕二三区不卡| 欧美一区二区三区人| 欧美性生活一区| 99久久99久久久精品齐齐| 国产一区二区不卡在线| 人人狠狠综合久久亚洲| 亚洲免费观看高清| 亚洲欧洲韩国日本视频| 久久精品亚洲一区二区三区浴池| 91精品啪在线观看国产60岁| 日本精品视频一区二区三区| 成人综合婷婷国产精品久久蜜臀 | 久久精品视频一区二区三区| 91麻豆精品国产91久久久资源速度 | 中文字幕乱码一区二区免费| 日韩精品一区二区三区老鸭窝| 在线观看一区日韩| 色先锋资源久久综合| 99综合影院在线| 成人动漫精品一区二区| 国产精品538一区二区在线| 亚洲三级免费观看| 亚洲色图欧洲色图| 亚洲色图制服诱惑| 一区二区三区毛片| 亚洲制服丝袜av| 三级在线观看一区二区| 天天色图综合网| 美洲天堂一区二卡三卡四卡视频| 美女一区二区视频| 久久国产精品色婷婷| 国产一区二区女| www.亚洲免费av| 色网综合在线观看| 5566中文字幕一区二区电影| 3d动漫精品啪啪一区二区竹菊| 欧美一区二区女人| 日韩精品一区二区三区在线观看| 26uuu精品一区二区| 欧美日韩一区二区三区在线 | 麻豆成人91精品二区三区| 精品一区二区三区av| 国产美女久久久久| 成人妖精视频yjsp地址| 99热在这里有精品免费| 日本韩国一区二区三区视频| 日韩一区二区影院| 国产午夜精品久久久久久免费视| 亚洲三级免费电影| 日产国产高清一区二区三区| 韩国精品一区二区| 91亚洲资源网| 日韩三级伦理片妻子的秘密按摩| 亚洲国产精华液网站w| 亚洲另类色综合网站| 日韩激情一区二区| zzijzzij亚洲日本少妇熟睡| 欧美亚洲免费在线一区| 日韩欧美久久久| 最近中文字幕一区二区三区| 午夜欧美电影在线观看| 国产东北露脸精品视频| 欧美日韩国产免费一区二区| 久久精品夜色噜噜亚洲a∨| 婷婷久久综合九色综合绿巨人| 国产夫妻精品视频| 4hu四虎永久在线影院成人|