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

📄 globalobject.cpp

📁 一个用C++写的文字类游戏
💻 CPP
字号:
#include "StdAfx.h"
#include ".\globalobject.h"
#include <windows.h> 


CGlobalObject::CGlobalObject(void)
{
	m_vecScenarioInfo.reserve(20);
	m_vecEquip.reserve(20);
	m_vecGoods.reserve(20);
	m_vecNpc.reserve(20);
	m_nGameStart = GS_MAP; 
}

CGlobalObject::~CGlobalObject(void)
{
	vector<SCENARIO_INFO>::iterator iterInfo;
	for(iterInfo = m_vecScenarioInfo.begin(); iterInfo != m_vecScenarioInfo.end(); iterInfo++) {
		delete [] iterInfo->strInfor;
	}
	m_vecScenarioInfo.clear();

	vector<ROLE_EQUIP>::iterator iterEquip;
	for(iterEquip = m_vecEquip.begin(); iterEquip != m_vecEquip.end(); iterEquip++) {
		delete [] iterEquip->strName;
	}
	m_vecEquip.clear();

	vector<ROLE_GOODS>::iterator iterGoods;
	for(iterGoods = m_vecGoods.begin(); iterGoods != m_vecGoods.end(); iterGoods++) {
		delete [] iterGoods->strName;
	}
	m_vecGoods.clear();
	
	m_vecNpc.clear();


}
void CGlobalObject::SetColor(unsigned short ForeColor,unsigned short BackGroundColor) 
{ 
     HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); 
     SetConsoleTextAttribute(hCon,ForeColor|BackGroundColor); 
};


void CGlobalObject::DrawSword()
{
	cout<<endl;
	cout<<"        _________________________________/\\                "<<endl;
	cout<<"       /                                 ||                 "<<endl;
	cout<<"      <==================================||||||||>          "<<endl;
	cout<<"       \\_________________________________||                 "<<endl;
	cout<<"                                         \\/                 "<<endl;

}

void CGlobalObject::HelpString(char * strFormer,char cName, char * strInfor)
{
	SetColor(FOREGROUND_RED|FOREGROUND_GREEN);
	cout<< strFormer;
	SetColor(COMMON_LVB_UNDERSCORE|FOREGROUND_BLUE|FOREGROUND_GREEN); 
	cout<<cName;
	SetColor(FOREGROUND_RED|FOREGROUND_GREEN);
	cout<< strInfor<<endl;
}

void CGlobalObject::PlayString(int nSleepTime, char * pString , int nStringLength)
{
	if (nStringLength <= 0)
		return ;
	SetColor();
	char * pTemp = new char[nStringLength*3];
	memset(pTemp, 0, nStringLength *3);
	int i;
	int nIndex = 0;
	for (i = 0; i< nStringLength; i++) {
		if (pString[i] <= 0 ) {
			pTemp[nIndex*3+0] = pString[i];
			pTemp[nIndex*3+1] = pString[++i];
		} else {
			pTemp[nIndex*3+0] = pString[i];
		}
		nIndex++;
	}
	char *pInfor;
	for (i = 0; i<nIndex; i++) {
		pInfor = &(pTemp[i*3]);
		cout<<pInfor;
		Sleep(nSleepTime);
	}
	cout<<endl;
	delete [] pTemp;
}

⌨️ 快捷键说明

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