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

📄 person.cpp

📁 爱因斯坦谜题
💻 CPP
字号:
// Person.cpp: implementation of the CPerson class.
//
//////////////////////////////////////////////////////////////////////

#include "Person.h"
#include "input.h"

CPerson::CPerson()
{
	memset(this, 0, sizeof(CPerson));
}

void CPerson::Show()
{
	CString buf;
	Show(buf);
	printf("%s", buf);
}

void CPerson::Show(CString &buf)
{
	buf = "";
	for (int i=0; i<NUM_ATTR; i++) {
		CString n;
		n.Format("%s ", ATTR_NAME[i][m_attr[i]]);
		buf += n;
	}
	buf += "\n";
}

bool CPerson::IsEmpty()
{
	for (int i=0; i<NUM_ATTR; i++) {
		if (m_attr[i]) {
			return false;
		}
	}
	return true;
}

void CPerson::Set(const CHint &hint)
{
	m_attr[hint.v1.attr] = hint.v1.val;
	m_attr[hint.v2.attr] = hint.v2.val;
}

bool CPerson::ApplyHint(const CHint &hint)
{
	if (m_attr[hint.v1.attr]||m_attr[hint.v2.attr]) {
		return false;
	}
	Set(hint);
	return true;
}

int CPerson::GetAttr(int i) const
{
	return m_attr[i];
}

void CPerson::SetAttr(const CAttributeVal &attr_val)
{
	m_attr[attr_val.attr]=attr_val.val;
}

bool CPerson::HasAttrVal(const CAttributeVal &attr_val) const
{
	return (m_attr[attr_val.attr]==attr_val.val);
}

⌨️ 快捷键说明

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