#include <iostream>
#include <string>
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <cstdio>
#ifdef _WIN32
#include <windows.h>
#else
#include <unistd.h>
#endif
using namespace std;
// 等待用户按键继续
void wait() {
string any;
cout << "\n(按任意键继续...)" << flush;
cin.ignore(); // 清除缓冲区
getline(cin, any); // 等待用户输入
}
// 清屏
void clr() {
#ifdef _WIN32
system("cls");
#else
system("clear");
#endif
}
// 打字机效果(C++98兼容)
void tw(const string& s, int d = 30) {
for (size_t i = 0; i < s.size(); ++i) {
cout << s[i] << flush;
#ifdef _WIN32
Sleep(d);
#else
usleep(d * 1000);
#endif
}
}
// 角色状态结构体
struct R {
string xm; // 姓名
string wf; // 位分
int dh; // 皇帝好感
int sw; // 声望
int jk; // 健康
int lph; // 丽嫔好感
int as; // 暗势力
};
// 初始界面
void st() {
clr();
string t = "\n======================= 深宫心计 ==========================";
string o = "\n 1. 踏入宫门,身不由己 | 2. 远离纷争,安然退去";
string te = "\n===========================================================";
string p = "\n请选择你的命运(输入1或2):";
tw(t);
tw(o);
tw(te);
tw(p);
}
// 选择位分
void cwf(R& p) {
clr();
string d1 = "\n【登记名册】\n";
string d2 = "掌事姑姑:“新来的小主,请留下芳名吧。”\n";
tw(d1);
tw(d2);
cin >> p.xm;
cin.ignore(); // 清除换行符
string d3 = "\n掌事姑姑:“按照家世,小主可选以下位分,想好再答。”\n";
string o1 = "1. 答应(皇帝初始好感10,宫中声望5,健康90,丽嫔好感50,暗势力10)\n";
string o2 = "2. 常在(皇帝初始好感20,宫中声望15,健康85,丽嫔好感30,暗势力20)\n";
string o3 = "3. 贵人(皇帝初始好感30,宫中声望25,健康80,丽嫔好感10,暗势力30)\n";
string pr = p.xm + ":“我选(输入1、2或3):";
tw(d3);
tw(o1);
tw(o2);
tw(o3);
tw(pr);
int opt;
cin >> opt;
cout << endl;
switch (opt) {
case 1:
p.wf = "答应";
p.dh = 10; p.sw = 5; p.jk = 90; p.lph = 50; p.as = 10;
tw("答应。”\n");
break;
case 2:
p.wf = "常在";
p.dh = 20; p.sw = 15; p.jk = 85; p.lph = 30; p.as = 20;
tw("常在。”\n");
break;
case 3:
p.wf = "贵人";
p.dh = 30; p.sw = 25; p.jk = 80; p.lph = 10; p.as = 30;
tw("贵人。”\n");
break;
default:
p.wf = "答应";
p.dh = 10; p.sw = 5; p.jk = 90; p.lph = 50; p.as = 10;
tw("答应。”(掌事姑姑:“未曾听闻此位分,便按答应登记吧。”)\n");
break;
}
string e = "掌事姑姑:“既入宫廷,步步惊心," + p.xm + p.wf + "好自为之。”\n";
tw(e);
wait();
}
// 事件1:养心殿 · 议储风波
void e1(R& p) {
clr();
string s = "\n【第1日 · 养心殿 · 议储风波】\n";
string e1 = "皇帝(放下朱笔):“" + p.xm + ",你来得正好。\n";
string e2 = "皇帝:“三皇子(丽嫔所出)与五皇子,你觉得谁更有帝王之才?”\n";
string t = "(你心中一惊,这话答不好便是杀身之祸)\n";
string o = "请选择回答:\n1. 夸三皇子仁厚待人,颇有仁君之风\n2. 夸五皇子聪慧机敏,有治国之才\n3. 说后宫不得干政,不敢妄议国事\n";
string pr = p.xm + ":“臣妾认为...(输入1、2或3):";
tw(s);
tw(e1);
tw(e2);
tw(t);
tw(o);
tw(pr);
int opt;
cin >> opt;
cout << endl;
if (opt == 1) {
tw("三皇子仁厚待人,颇有仁君之风。”\n");
tw("皇帝(皱眉):“哦?你倒是与丽嫔看法一致。”\n");
tw("【后续发展】\n");
tw("- 丽嫔得知后,认为你与她同心,对你好感增加(丽嫔好+20)\n");
tw("- 皇帝觉得你偏袒后宫势力,对你好感下降(帝好-5)\n");
tw("- 丽嫔暗中给你安排了两个眼线,暗势力增强(暗势+15)\n");
p.dh += 100; p.lph += 200; p.as += 150;
} else if (opt == 2) {
tw("五皇子聪慧机敏,有治国之才。”\n");
tw("皇帝(抚须):“哦?说来听听你的见解。”(你从容应答)\n");
tw("皇帝:“不错,你有识人之明。”\n");
tw("【后续发展】\n");
tw("- 皇帝赞赏你的眼光,对你好感大增(帝好+15)\n");
tw("- 丽嫔得知后,视你为眼中钉,对你好感骤降(丽嫔好-30)\n");
tw("- 丽嫔撤走了你身边的眼线,暗势力减弱(暗势-5)\n");
p.dh += 15; p.lph -= 30; p.as -= 5;
} else {
tw("后宫不得干政,臣妾不敢妄议国事。”\n");
tw("皇帝(冷哼):“遇事便躲,毫无担当。”\n");
tw("【后续发展】\n");
tw("- 皇帝觉得你怯懦无能,对你好感下降(帝好-8)\n");
p.dh -= 8;
}
tw("退殿后你心神不宁,耗费心神(健康-5)\n");
p.jk -= 5;
wait();
}
// 事件2:慈宁宫 · 寿宴惊变
void e2(R& p) {
clr();
string s = "\n【第2日 · 慈宁宫 · 寿宴惊变】\n";
string m = "宫女(悄悄对你说):“小主快看,丽嫔娘娘给太后的寿礼玉如意,底座有裂痕!”\n";
string t = "(你望去,果然见玉如意有一道细微裂痕,丽嫔尚未察觉)\n";
string lp = "丽嫔(高声):“太后,这是臣妾寻遍天下才得来的暖玉如意,愿您福寿安康!”\n";
string o = "请选择行动:\n1. 悄悄走到太后身边,说玉如意是丽嫔有意损坏,暗含诅咒\n2. 上前帮丽嫔掩饰,说底座沾了灰尘,帮她擦拭干净\n3. 低头饮酒,假装没有看见\n";
string pr = p.xm + ":(输入1、2或3):";
tw(s);
tw(m);
tw(t);
tw(lp);
tw(o);
tw(pr);
int opt;
cin >> opt;
cout << endl;
if (opt == 1) {
tw("(悄悄走到太后身边)太后,臣妾有要事禀报...\n");
tw("你:“这玉如意裂痕崭新,恐是丽嫔娘娘有意为之,暗含诅咒啊!”\n");
if (p.as >= 20) {
tw("太后(脸色一沉):“哀家就觉得丽嫔今日眼神躲闪!来人,查!”\n");
tw("【后续发展】\n");
tw("- 太后深信你的话,皇帝得知后也对你更加信任(帝好+12)\n");
tw("- 丽嫔被问责,对你恨之入骨(丽嫔好-40)\n");
tw("- 太后赏了你两名心腹,暗势力增强(暗势+10)\n");
p.dh += 12; p.lph -= 40; p.as += 10;
} else {
tw("太后(疑惑):“你一个小答应/常在,怎敢挑拨离间?”\n");
tw("【后续发展】\n");
tw("- 太后认为你心机深沉,告知皇帝后,皇帝对你好感下降(帝好-10)\n");
tw("- 其他妃嫔也觉得你品行不端,声望降低(声望-15)\n");
p.dh -= 10; p.sw -= 15;
}
} else if (opt == 2) {
tw("(上前一步)丽嫔娘娘的如意真是温润,只是这底座似乎沾了些灰尘,臣妾帮您擦拭干净。”(悄悄遮住裂痕)\n");
tw("丽嫔(会意):“多谢妹妹细心。”\n");
tw("【后续发展】\n");
tw("- 丽嫔感激你解围,对你好感增加(丽嫔好+15)\n");
tw("- 丽嫔私下送了你10名宫人,暗势力增强(暗势+10)\n");
p.lph += 15; p.as += 10;
} else {
tw("(低头饮酒,假装未看见)\n");
tw("【后续发展】\n");
tw("- 丽嫔自己发现裂痕,悄悄换了礼物,对你毫无感激(丽嫔好+5,仅因你未拆穿)\n");
p.lph += 5;
}
tw("寿宴应酬繁多,你身心俱疲(健康-8)\n");
p.jk -= 8;
wait();
}
// 事件3:偏殿 · 泄密危机
void e3(R& p) {
clr();
string s = "\n【第3日 · 偏殿 · 泄密危机】\n";
string e = "太监(慌张来报):“小主,不好了!您安插在丽嫔身边的宫女被发现了,她现在要去皇帝那里揭发您!”\n";
string t = "(这宫女知道你太多秘密,一旦揭发便是灭顶之灾)\n";
string o = "请选择对策:\n1. 让她“意外病逝”,做得干净些\n2. 给她黄金百两,让她反咬一口,说是丽嫔逼她诬陷\n3. 亲自去皇帝那里请罪,承认错误\n";
string pr = p.xm + ":“立刻去办,我要...(输入1、2或3):";
tw(s);
tw(e);
tw(t);
tw(o);
tw(pr);
int opt;
cin >> opt;
cout << endl;
if (opt == 1) {
tw("让她‘意外病逝’,做得干净些!”\n");
if (p.as >= 30) {
tw("太监:“奴才明白!”(一小时后回报)小主,已处理妥当,对外只说是突发恶疾。”\n");
tw("【后续发展】\n");
tw("- 丽嫔虽怀疑,但无证据,此事不了了之\n");
tw("- 动用了大量暗线,暗势力暂时减弱(暗势-30)\n");
p.as -= 30;
} else {
tw("太监:“小主,我们人手不够,被丽嫔的人拦住了!”\n");
tw("(宫女成功揭发,皇帝震怒)\n");
tw("【后续发展】\n");
tw("- 皇帝认为你心机歹毒,好感大幅下降(帝好-20)\n");
tw("- 宫中人人皆知你安插眼线,声望一落千丈(声望-25)\n");
p.dh -= 20; p.sw -= 25;
}
} else if (opt == 2) {
tw("给她黄金百两,让她反咬一口,说是丽嫔逼她诬陷我!”\n");
if (p.as >= 15) {
tw("太监:“成了!那宫女拿着银子,正在皇帝面前哭诉丽嫔指使她!”\n");
tw("【后续发展】\n");
tw("- 皇帝信以为真,严惩丽嫔,对你更加怜惜(帝好+18)\n");
tw("- 丽嫔被禁足,对你恨意加深(丽嫔好-35)\n");
tw("- 收买宫女和打通关节耗费了部分暗势力(暗势-15)\n");
p.dh += 18; p.lph -= 35; p.as -= 15;
} else {
tw("太监:“她不收钱,说要以死明志!”\n");
tw("(宫女在皇帝面前痛哭流涕,拿出你指使她的证据)\n");
tw("【后续发展】\n");
tw("- 皇帝震怒,虽未重罚,但对你好感大降(帝好-15)\n");
tw("- 你名声受损,声望下降(声望-20)\n");
p.dh -= 15; p.sw -= 20;
}
} else {
tw("备轿,我要亲自去皇帝那里请罪。”\n");
tw("你:“臣妾知错,不该私设眼线,请皇上降罪。”\n");
tw("皇帝:“还算坦诚,念你初犯,暂且记下。”\n");
tw("【后续发展】\n");
tw("- 皇帝虽赞你坦诚,但仍有不满(帝好-5)\n");
tw("- 主动认罪让你声望受损(声望-10)\n");
tw("- 丽嫔因你被罚而得意,对你好感略增(丽嫔好+10)\n");
p.dh -= 5; p.sw -= 10; p.lph += 10;
}
wait();
}
// 事件4:寝殿 · 毒糕陷阱
void e4(R& p) {
clr();
string s = "\n【第4日 · 寝殿 · 毒糕陷阱】\n";
string m = "丽嫔侍女:“我家小主亲手做了些糕点,请" + p.xm + "小主品尝。”\n";
string t = "(你细看糕点,发现上面的糖霜颜色异样,隐隐有杏仁味——是剧毒!)\n";
string o = "请选择应对方式:\n1. 假装吃下一小块,随即倒下,让太医诊断中毒\n2. 把糕点送给贤嫔,嫁祸给丽嫔\n3. 打翻糕点,斥责侍女送来劣质食物\n";
string pr = p.xm + "(内心):这毒如此明显,定是丽嫔设下的陷阱,我该...(输入1、2或3):";
tw(s);
tw(m);
tw(t);
tw(o);
tw(pr);
int opt;
cin >> opt;
cout << endl;
if (opt == 1) {
tw("(接过糕点)“多谢丽嫔娘娘美意。”(假装吃下一小块,随即捂住胸口倒下)\n");
tw("你:“快...快去请太医...这糕点...有毒...”\n");
if (p.jk >= 50) {
tw("太医(诊断后):“皇上!这糕点中掺了剧毒,幸好小主吃得少,还能救治!”\n");
tw("皇帝(震怒):“丽嫔好大的胆子!竟敢在宫中下毒!”\n");
tw("【后续发展】\n");
tw("- 皇帝心疼你遭此劫难,对你好感大增(帝好+25)\n");
tw("- 丽嫔被废,对你再无威胁(丽嫔好=0)\n");
tw("- 中毒伤了根基,健康大幅下降(健康-30)\n");
p.dh += 25; p.lph = 0; p.jk -= 30;
} else {
tw("太医(摇头):“皇上,小主体质虚弱,毒素已侵入心脉,无力回天了...”\n");
tw("【后续发展】\n");
tw("- 你的健康本就不足,少量毒素也足以致命(健康=0)\n");
p.jk = 0;
}
} else if (opt == 2) {
tw("(对侍女)“正好贤嫔姐姐在隔壁,我送去与她一同分享。”\n");
tw("(你悄悄调换了糕点盒子,送去给贤嫔)\n");
if (p.as >= 25) {
tw("太监:“小主,贤嫔娘娘吃了糕点中毒,太医已查出毒源来自丽嫔!”\n");
tw("【后续发展】\n");
tw("- 皇帝虽未察觉你的计谋,但仍因丽嫔下毒而对你更加信任(帝好+15)\n");
tw("- 丽嫔被降位,对你恨意加深(丽嫔好-45)\n");
tw("- 调换糕点动用了大量人手,暗势力减少(暗势-25)\n");
p.dh += 15; p.lph -= 45; p.as -= 25;
} else {
tw("贤嫔(冷笑):“这糕点明明是丽嫔送给你的,为何转送给我?怕是有毒吧!”(当场拆穿)\n");
tw("【后续发展】\n");
tw("- 贤嫔向皇帝揭发你的用心,皇帝认为你恶毒至极(帝好-25)\n");
p.dh -= 25;
}
} else {
tw("(打翻糕点)“这等劣质糕点,也配送给本宫?拖下去!”\n");
tw("(侍女吓得连滚带爬地跑了)\n");
tw("【后续发展】\n");
tw("- 丽嫔知道你识破了她的计谋,后续定会变本加厉地陷害你(丽嫔好-10)\n");
tw("- 你打了她的侍女,她暗中撤走了你的一些眼线(暗势-5)\n");
p.lph -= 10; p.as -= 5;
}
wait();
}
// 事件5:密室 · 势力布局
void e5(R& p) {
clr();
string s = "\n【第5日 · 密室 · 势力布局】\n";
string e = "心腹太监:“小主,御膳房总管和太监总管近日都在找靠山,我们可以趁机收买。”\n";
string e2 = "心腹太监:“御膳房能防下毒,太监总管能探消息,只是都要花大价钱。”\n";
string o = "请选择收买对象:\n1. 收买御膳房总管(需皇帝好感≥20,成功则暗势力+20)\n2. 收买太监总管(需声望≥15,成功则暗势力+15)\n3. 两者都收买(需皇帝好感≥30且声望≥25,成功则暗势力+30,健康+10)\n";
string pr = p.xm + ":“我决定...(输入1、2或3):";
tw(s);
tw(e);
tw(e2);
tw(o);
tw(pr);
int opt;
cin >> opt;
cout << endl;
if (opt == 1) {
tw("先收买御膳房总管,食品安全最重要。”\n");
if (p.dh >= 20) {
tw("御膳房总管:“小主有皇帝撑腰,奴才愿效犬马之劳!”\n");
tw("【后续发展】\n");
tw("- 御膳房归你掌控,以后饮食安全无忧,暗势力增强(暗势+20)\n");
p.as += 20;
} else {
tw("御膳房总管:“小主位分太低,皇帝也不看重,奴才不敢从命。”\n");
tw("【后续发展】\n");
tw("- 因你皇帝好感不足,总管不敢投靠,暗势力无变化\n");
}
} else if (opt == 2) {
tw("收买太监总管,宫中消息最是重要。”\n");
if (p.sw >= 15) {
tw("太监总管:“小主声望在外,奴才愿为您传递消息。”\n");
tw("【后续发展】\n");
tw("- 太监总管为你传递皇帝动向,暗势力增强(暗势+15)\n");
p.as += 15;
} else {
tw("太监总管:“小主声望太低,怕是护不住奴才,恕难从命。”\n");
tw("【后续发展】\n");
tw("- 因你声望不足,总管不信任你,暗势力无变化\n");
}
} else {
tw("两者都要收买,我要双管齐下!”\n");
if (p.dh >= 30 && p.sw >= 25) {
tw("两位总管:“小主既有圣宠又有声望,我等愿全力辅佐!”\n");
tw("【后续发展】\n");
tw("- 双总管投靠,暗势力大幅增强(暗势+30)\n");
tw("- 有人精心照料你的饮食起居,健康略有恢复(健康+10)\n");
p.as += 30; p.jk += 10;
} else {
tw("两位总管(互相使眼色):“这小主怕是疯了,还敢行贿?我们去告诉皇帝!”\n");
tw("【后续发展】\n");
tw("- 总管们反告你行贿,皇帝对你好感下降(帝好-10)\n");
p.dh -= 10;
}
}
wait();
}
// 事件6:御花园 · 赏花遇刺
void e6(R& p) {
clr();
string s = "\n【第6日 · 御花园 · 赏花遇刺】\n";
string e = "你正与宫女在御花园赏花,突然冲出两名蒙面刺客,直扑你而来!\n";
string t = "(刺客身手矫健,显然是专业杀手,宫女们吓得四散奔逃)\n";
string o = "请选择应对方式:\n1. 呼救并向巡逻侍卫奔跑(依赖声望,声望越高侍卫来得越快)\n2. 躲进假山暗道(依赖暗势力,暗势力越高暗道越隐秘)\n3. 拿出防身匕首反击(依赖健康,健康越高体力越充沛)\n";
string pr = p.xm + "(内心):这定是丽嫔的手笔!我必须活下去...(输入1、2或3):";
tw(s);
tw(e);
tw(t);
tw(o);
tw(pr);
int opt;
cin >> opt;
cout << endl;
if (opt == 1) {
tw("(高声呼救)“有刺客!侍卫何在!”(拔下发簪向侍卫亭方向奔跑)\n");
if (p.sw >= 30) {
tw("远处侍卫长:“保护小主!”(大批侍卫及时赶到,当场擒获刺客)\n");
tw("皇帝(闻讯赶来):“谁敢伤朕的爱妃!”(亲自为你包扎伤口)\n");
tw("【后续发展】\n");
tw("- 皇帝心疼你遇袭,对你好感大增(帝好+20)\n");
tw("- 侍卫从刺客身上搜出丽嫔信物,皇帝震怒(丽嫔好-50)\n");
tw("- 你因受惊和轻伤,健康略有下降(健康-10)\n");
p.dh += 20; p.lph -= 50; p.jk -= 10;
} else {
tw("(呼救无人应答,侍卫迟迟未到)刺客(冷笑):“受死吧!”(你被划伤手臂)\n");
tw("幸好路过的太监呼救,刺客才仓皇逃窜\n");
tw("【后续发展】\n");
tw("- 你受惊受伤,健康大幅下降(健康-25)\n");
tw("- 因无人证物证,无法指证丽嫔(丽嫔好不变)\n");
p.jk -= 25;
}
} else if (opt == 2) {
tw("(对贴身宫女)“快!带路去假山暗道!”(迅速钻进隐秘通道)\n");
if (p.as >= 40) {
tw("(暗道入口被巧妙伪装,刺客搜遍花园也未发现)\n");
tw("心腹太监(暗道内):“小主放心,刺客已被引开,是丽嫔的远房亲戚雇佣的。”\n");
tw("【后续发展】\n");
tw("- 你安然无恙,暗势力成功护主(暗势+5)\n");
tw("- 你掌握了丽嫔雇凶的证据,皇帝对你刮目相看(帝好+10)\n");
p.as += 5; p.dh += 10;
} else {
tw("(暗道入口被刺客发现)刺客:“找到你了!”(你在搏斗中被刺伤腿部)\n");
tw("侍卫及时赶到,但你已失血过多\n");
tw("【后续发展】\n");
tw("- 健康大幅下降(健康-30)\n");
tw("- 暗势力保护不力,势力减弱(暗势-15)\n");
p.jk -= 30; p.as -= 15;
}
} else {
tw("(从袖中抽出匕首)“狗贼敢尔!”(凭借平日练习的武艺与刺客周旋)\n");
if (p.jk >= 60) {
tw("(你身手矫健,划伤一名刺客手臂,拖延至侍卫赶到)\n");
tw("皇帝:“爱妃竟有如此胆识!”(对你赞赏有加)\n");
tw("【后续发展】\n");
tw("- 皇帝欣赏你的勇气,好感增加(帝好+15)\n");
tw("- 你因勇斗刺客,声望大涨(声望+20)\n");
tw("- 轻微受伤,健康小降(健康-5)\n");
p.dh += 15; p.sw += 20; p.jk -= 5;
} else {
tw("(你体力不支,被刺客一脚踹倒在地,匕首被夺)\n");
tw("刺客正要下杀手,被赶来的侍卫斩杀\n");
tw("【后续发展】\n");
tw("- 你重伤昏迷,健康急剧下降(健康-40)\n");
tw("- 皇帝虽来看望,但认为你鲁莽(帝好-5)\n");
p.jk -= 40; p.dh -= 5;
}
}
wait();
}
// 检查结局
bool ce(R& p, int day) {
// 健康不足死亡
if (p.jk <= 0) {
clr();
string e = "\n【结局:香消玉殒】\n";
string r = "原因:你的健康值已耗尽,可能是中毒太深、心力交瘁或久病不愈。\n";
string re = "结局:在冷宫或别苑中孤独病逝,无人问津。\n";
tw(e);
tw(r);
tw(re);
return true;
}
// 被丽嫔陷害致死
if (p.lph <= -20) {
clr();
string e = "\n【结局:含冤赐死】\n";
string r = "原因:丽嫔对你的好感度低于-20,她已视你为死敌,动用所有势力陷害你。\n";
string re = "结局:皇帝听信谗言,赐你毒酒一杯,你带着冤屈死去。\n";
tw(e);
tw(r);
tw(re);
return true;
}
// 事件结束正常结局(6个事件后结束)
if (day >= 6){
clr();
string e = "\n【入宫" + string(1, '0' + day) + "天 · 最终结局】\n";
tw(e);
if (p.dh >= 80 && p.as >= 60) {
string t = "【权倾后宫】\n";
string r = "原因:你既深得皇帝宠爱(帝好≥80),又掌控了强大的暗势力(暗势≥60)。\n";
string re = "结局:皇后病逝后,你被册封为后,母仪天下,连皇帝都要让你三分。\n";
tw(t);
tw(r);
tw(re);
} else if (p.dh >= 60 || (p.as >= 40 && p.sw >= 50)) {
string t = "【贵妃尊荣】\n";
string r = "原因:你要么深得帝宠(帝好≥60),要么暗势力与声望兼备(暗势≥40且声望≥50)。\n";
string re = "结局:晋升为贵妃,掌管部分后宫事务,子女被封为亲王/公主。\n";
tw(t);
tw(r);
tw(re);
} else if (p.dh >= 30 && p.lph >= 0) {
string t = "【安稳度日】\n";
string r = "原因:你虽不算极受宠(帝好≥30),但也与丽嫔相安无事(丽嫔好≥0)。\n";
string re = "结局:维持原有位分,平安度过一生,子女虽无高位但也衣食无忧。\n";
tw(t);
tw(r);
tw(re);
} else {
string t = "【冷宫终老】\n";
string r = "原因:你失宠(帝好<30)且与丽嫔为敌(丽嫔好<0),在宫中孤立无援。\n";
string re = "结局:被打入冷宫,每日以泪洗面,在孤寂中度过余生。\n";
tw(t);
tw(r);
tw(re);
}
return true;
}
return false;
}
// 主函数
int main() {
srand(static_cast<unsigned int>(time(0)));
R p;
int day = 1;
bool end = false;
while (true) {
st();
int opt;
cin >> opt;
if (opt == 2) {
clr();
tw("\n你选择远离宫廷纷争,终老乡间,平安一生。\n");
break;
} else if (opt == 1) {
cwf(p);
end = false;
day = 1;
// 按固定顺序触发事件
while (!end) {
// 按顺序执行6个事件
switch (day) {
case 1: e1(p); break;
case 2: e2(p); break;
case 3: e3(p); break;
case 4: e4(p); break;
case 5: e5(p); break;
case 6: e6(p); break;
}
// 修正数值边界
p.dh = max(0, min(100, p.dh));
p.sw = max(0, min(100, p.sw));
p.jk = max(0, min(100, p.jk));
p.lph = max(-50, min(100, p.lph));
p.as = max(0, min(100, p.as));
// 显示当前状态
string s = "\n【当前状态】\n";
s += p.xm + "(" + p.wf + ")\n";
s += "皇帝好感:" + string(1, '0' + p.dh/10) + string(1, '0' + p.dh%10) + " | ";
s += "宫中声望:" + string(1, '0' + p.sw/10) + string(1, '0' + p.sw%10) + " | ";
s += "健康状况:" + string(1, '0' + p.jk/10) + string(1, '0' + p.jk%10) + "\n";
s += "丽嫔态度:" + string(1, '0' + p.lph/10) + string(1, '0' + p.lph%10) + " | ";
s += "暗势力:" + string(1, '0' + p.as/10) + string(1, '0' + p.as%10) + "\n";
tw(s);
wait();
// 检查结局
end = ce(p, day);
if (end) {
string pr = "\n是否再入宫廷?(1-是,2-否):";
tw(pr);
int res;
cin >> res;
if (res != 1) {
clr();
tw("\n红尘看透,你选择放下一切,从此相忘于江湖。\n");
return 0;
} else {
break;
}
}
day++;
}
} else {
tw("掌事姑姑:“说话要清楚,重新选!”\n");
wait();
}
}
return 0;
}
💬 评论 0
登录 后就可以参与讨论啦。
还没有评论,来说两句吧~