📄 input.cpp
字号:
#include "common.h"
enum Attribute {
NATION,
COLOR,
PET,
BEVERAGE,
CIGARETTE,
HOUSE,
};
enum Nation {
BRIT = 1,
SWEDE,
DANE,
NORWEGIAN,
GERMAN,
};
enum Color {
RED = 1,
YELLOW,
BLUE,
GREEN,
WHITE,
};
enum Pet {
DOG = 1,
BIRD,
CAT,
HORSE,
FISH,
};
enum Beverage {
TEA = 1,
COFFEE,
MILK,
BEER,
WATER,
};
enum Cigarette {
PALL_MALL = 1,
DUNHILL,
BLENDS,
BLUE_MASTER,
PRINCE,
};
// 对象内的约束
extern const CHint INIT_HINT[] =
{
{{NATION,BRIT},{COLOR,RED}}, //1、英国人住红色房子
{{NATION,SWEDE},{PET,DOG}}, //2、瑞典人养狗
{{NATION,DANE},{BEVERAGE,TEA}}, //3、丹麦人喝茶
{{NATION,GERMAN},{CIGARETTE,PRINCE}}, //13、德国人抽Prince香烟
{{NATION,NORWEGIAN},{HOUSE,1}}, //9、 挪威人住第一间房
};
extern const int INIT_HINT_CNT = ARRAY_ITEM_NUM(INIT_HINT);
extern const CHint SELF_HINT[] =
{
{{COLOR,GREEN},{BEVERAGE,COFFEE}}, //5、绿色房子主人喝咖啡
{{CIGARETTE,BLUE_MASTER},{BEVERAGE,BEER}}, //12、抽Blue Master的人喝啤酒
{{CIGARETTE,PALL_MALL},{PET,BIRD}}, //6、抽Pall Mall香烟的人养鸟
{{COLOR,YELLOW},{CIGARETTE,DUNHILL}}, //7、黄色房子主人抽Dunhill香烟
{{COLOR,BLUE},{HOUSE,2}}, //9+14、 挪威人住第一间房+挪威人住蓝色房子隔壁=第二间房是蓝色的
{{HOUSE,3},{BEVERAGE,MILK}}, //8、住在中间房子的人喝牛奶
};
extern const int SELF_HINT_CNT = ARRAY_ITEM_NUM(SELF_HINT);
//4、绿色房子在白色房子左面
extern const CHint ORDER_NEIGHBOR_HINT[] =
{
{{COLOR,GREEN},{COLOR,WHITE}},
};
extern const int ORDER_NEIGHBOR_HINT_CNT = ARRAY_ITEM_NUM(ORDER_NEIGHBOR_HINT);
extern const CHint NEIGHBOR_HINT[] =
{
{{CIGARETTE,BLENDS},{PET,CAT}}, //10、抽Blends香烟的人住在养猫的人隔壁
{{CIGARETTE,BLENDS},{BEVERAGE,WATER}}, //15、抽Blends香烟的人有一个喝水的邻居
{{CIGARETTE,DUNHILL},{PET,HORSE}}, //11、养马的人住抽Dunhill香烟的人隔壁
};
extern const int NEIGHBOR_HINT_CNT = ARRAY_ITEM_NUM(NEIGHBOR_HINT);
#ifdef SHOW
extern const char* HINTS_STR[] =
{
(const char*)"5、绿色房子主人喝咖啡",
(const char*)"12、抽Blue Master的人喝啤酒",
(const char*)"6、抽Pall Mall香烟的人养鸟",
(const char*)"7、黄色房子主人抽Dunhill香烟",
(const char*)"9+14、 挪威人住第一间房+挪威人住蓝色房子隔壁=第二间房是蓝色的",
(const char*)"8、住在中间房子的人喝牛奶",
(const char*)"4、绿色房子在白色房子左面 ",
(const char*)"10、抽Blends香烟的人住在养猫的人隔壁",
(const char*)"15、抽Blends香烟的人有一个喝水的邻居",
(const char*)"11、养马的人住抽Dunhill香烟的人隔壁",
};
#endif
static const char* NATION_STR[] =
{
(const char*)"未定",
(const char*)"英国",
(const char*)"瑞典",
(const char*)"丹麦",
(const char*)"挪威",
(const char*)"德国",
};
static const char* COLOR_STR[] =
{
(const char*)"未定",
(const char*)"红色",
(const char*)"黄色",
(const char*)"蓝色",
(const char*)"绿色",
(const char*)"白色",
};
static const char* PET_STR[] =
{
(const char*)"未定",
(const char*)"狗 ",
(const char*)"鸟 ",
(const char*)"猫 ",
(const char*)"马 ",
(const char*)"鱼 ",
};
static const char* BEVERAGE_STR[] =
{
(const char*)"未定",
(const char*)"茶 ",
(const char*)"咖啡",
(const char*)"牛奶",
(const char*)"啤酒",
(const char*)"水 ",
};
static const char* CIGARETTE_STR[] =
{
(const char*)"未定 ",
(const char*)"Pall Mall ",
(const char*)"Dunhill ",
(const char*)"Blends ",
(const char*)"Blue Master",
(const char*)"Prince ",
};
static const char* HOUSE_STR[] =
{
(const char*)"未定 ",
(const char*)"房间1",
(const char*)"房间2",
(const char*)"房间3",
(const char*)"房间4",
(const char*)"房间5",
};
extern const char** ATTR_NAME[] =
{
(const char**)NATION_STR,
(const char**)COLOR_STR,
(const char**)PET_STR,
(const char**)BEVERAGE_STR,
(const char**)CIGARETTE_STR,
(const char**)HOUSE_STR,
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -