生化小游戏 v1220 (补全)
2025-12-17 22:13:00
发布于:浙江
这里是主体代码
上一个主题帖子内容炸了,字数太多,这里补全缺失的main函数
int main() {
#ifdef _WIN32
SetConsoleTitleW(L"丧尸末世生存 v1220");
ShowScrollBar(GetConsoleWindow(), SB_BOTH, FALSE);
system("reg add HKCU\\Console /v VirtualTerminalLevel /t REG_DWORD /d 1 /f > nul 2>&1");
#endif
cls();
loadGame();
print("===== 丧尸末世生存 =====");
print("@runId: 2147483647\n\
@language: C++\n\
@author: Hcode.allkilled\n\
@verson: v1220");
pressAnyKey();
// 游戏启动
while (true) {
cls();
vector<string> opts = {"1. 开始游戏", "2. 读取存档", "3. 结局图鉴", "4. 随机提示", "5. 退出游戏"};
int choice = option("===== 丧尸末世生存 =====", opts, false);
switch (choice) {
case 1:{ // 开始新游戏
cls();
// 通关后重新开始可领取特殊物品
if (gameClear && !specialItem) {
vector<string> opts = {"1. 领取", "2. 不领取"};
int getChoice = option("检测到你已通关基础剧情,是否领取特殊物品?", opts, false);
if (getChoice == 1) {
specialItem = true;
print("获得特殊物品:[未知碎片]");
pressAnyKey();
}
}
// 启动主线剧情
beginAdventure();
saveGame();
break;
}
case 2:{ // 读取存档
cls();
print("开发中...");// 退出/重开时自动保存,
pressAnyKey();
if(zombieKing){
print("为什么就不能保存?");
print("开发人员是**吗");
print("我下次一定和他决一死战!");
pressAnyKey();
badEnd_::KilledByWriter();
if(advanced){
print("但是......");
print("");
print("你猛然惊醒——眼前不是家,而是一个充满仪器的实验室");
print("一个穿着白大褂的人走进来:“存档模块快完成了”");
print("“我将进行最后一次调试...”");
print("白大褂的人按下了控制台的按钮,你失去了意识...");
print("再次醒来,你正分配初始物资,子弹和食物的总和却是18...");
print("“你的家中是一个较为安全的地方”");
print("“回家路上,你遇到一个女幸存者向你讨要物资”");
print("“你终于到达幸存者*****提出用子弹交换你的食物”");
print("“离开时,一个少年请求和你一起走”");
trueEnd_::LateDeath();
}
}
saveGame();
break;
}
case 3:{ // 结局图鉴
cls();
print("===== 结局图鉴 =====");
showBadEnds();
pressAnyKey();
showHappyEnds();
showTrueEnds();
pressAnyKey();
showClues();
showAdv();
pressAnyKey();
if (countUnlocked(happyEnd, 10) >= 2 && countUnlocked(badEnd, 30) >= 9 && !gameClear) {
print("相信你已经简单了解了这个游戏");
print("===== 游戏基础剧情通关 =====");
gameClear = true;
}
if (clueCount >= 9 && !advanced) {
print("===== 游戏进阶剧情通关 =====");
advanced = true;
}
if (clueCount >= 11 && countUnlocked(trueEnd, 10) >= 3 && zombieKing
&& advanced) trueEnd_::ServerShutdown();
if (deathCount >= 30 && !zombieKing){
print(color_::warn + "触发[尸王线]" + color_::back);
print("我怎么会死这么多次");
print("这个世界太奇怪了");
print(color_::warn + "我活着有什么劲啊" + color_::back);
zombieKing = true;
if(!specialItem) badEnd_::Mutate();
print("你成为了尸王,但脑海中不断闪过之前30次死亡的记忆...");
print("你终于意识到:这不是末世。");
if (!clue[7]) {
sleep(1000);
cluei(7);
}
}
saveGame();
break;
}
case 4:{
cls();
int r = rand(1, 26);
print("提示:");
boxPrint(vagueClues[r], color_::yellow);
pressAnyKey();
break;
}
case 5:{ // 退出游戏
cls();
print("“感谢游玩!”");
if(exitTry >= 48 && advanced){
print("既然你有如此的毅力与实力,我还是放你出去吧。——[ADMIN-01]");
sleep(1000);
// 揭示实验真相彩蛋?
adminLog ++;
cout << color_::yellow;
print("===== 管理员日志 =====");
string logText = "[LOG] 实验体3号:退出尝试48次,意志力达标\n真相:末世是虚拟场景...";
boxPrint(logText, color_::sky);
print("真相:末世是虚拟场景,1号(少年)和2号(妹子)是辅助测试体");
print("你的每一次死亡、每一个选择,都在被记录");
print("现在,你可以选择真正退出,或继续循环");
cout << color_::back;
if (!clue[6]) {
sleep(200);
cluei(6);
}
print("输入y退出:");
char e;
cin>>e;
if (e == 'y' || e == 'Y') {
print("实验体3号成功脱离测试");
exit(0);
}
break;
}
badEnd_::OutsideWorld();
exitTry++;
saveGame();
break;
}
}
}
}
感谢支持!!!!!!!!!
这里空空如也










有帮助,赞一个