专栏文章

回忆(C++游戏)

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mjgrehmx
此快照首次捕获于
2025/12/22 14:12
3 个月前
此快照最后确认于
2025/12/22 14:12
3 个月前
查看原文

这是一个剧情类游戏

如果用Dev-C++运行,加载动画/结束动画建议使用废稿(做法:Ctrl+F搜索“loading”和“end”,把函数里面除“废稿”外的都注释掉,再把“废稿”取消注释就壳椅蝲!)

更新日志

  • 2025.12.15 完成代码,开始小范围内测
  • 2025.12.17 解决了因益州牧未通过而进入死循环的问题
  • 2025.12.18 小改动,增加趣味性
  • 2025.12.22 修改过渡剧情所属州牧,节约时间;优化了一些小bug;解决了一些显示问题
2025.12.22 开始公厕
CPP
//神秘C++小游戏(无需小熊猫)
//目前益州牧没有bug,二周目没有bug,三周目大概没有bug
//有存档,但如果把窗口关了就梅友喇!(详情见代码) 
//Yepi~ (~ ̄▽ ̄)~
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
using namespace std;
int n;
string s;
int sum=0,bgg[10];
int sm=0;//防止sm东西
bool yi=false,er=false,san=false;//是否通关益州牧/二周目/三周目 
bool underground_map=false,light=false,letter_hot=false;//是否解锁地下室地图;是否打开储藏室的灯;是否加热信 
bool fight=false,boom=false;//是否在试验室打斗过;基地是否即将自毁 
bool bag[20];
/*
背包编号:
-------------益州牧-------------
0=钥匙a(日记)    1=钥匙b(地下室) 
2=小刀           3=信
4=照片           5=密码纸条
6=手帕地图       7=RMB(10000)
-------------二周目-------------
8=没有用,多打了    9=试验室通行卡
10=U盘              11=钥匙c(箱子)
12=配方纸a(真解药)  13=配方纸b(假解药)
14=解药a(真)        15=解药b(假)
16=肾上腺素 
*/
bool achievement[10];
/*
成就编号:
0=tangb       触发:把RMB丢进水槽/微波炉/冰箱 
1=秘密        触发:在沙发里找到笔记本 
2=获得成就    触发:上厕所(第一次)
*/ 
//----------------------------------------------------------有用的函数(搬运)------------------------------------------------------------
/*
//DevC++专用调颜色(持续改进中) 
void RgbInit(){
HANDLE hIn=GetStdHandle(STD_INPUT_HANDLE);
HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
DWORD dwInMode,dwOutMode;
GetConsoleMode(hIn,&dwInMode);
GetConsoleMode(hOut,&dwOutMode);
dwInMode|=0x0200;
dwOutMode|=0x0004; 
SetConsoleMode(hIn,dwInMode);
SetConsoleMode(hOut,dwOutMode);
}
void Color(int r,int g,int b,int c=0){
r=min(r,255);
g=min(g,255);
b=min(b,255);
printf("\033[%d8;2;%d;%d;%dm",3+c,r,g,b);
}
*/
bool IsRunAsAdmin(){
	BOOL fIsRunAsAdmin=FALSE;
	PSID pAdministratorsGroup=NULL;
	SID_IDENTIFIER_AUTHORITY NtAuthority=SECURITY_NT_AUTHORITY;
	if(!AllocateAndInitializeSid(&NtAuthority,2,
								 SECURITY_BUILTIN_DOMAIN_RID,
								 DOMAIN_ALIAS_RID_ADMINS,
								 0,0,0,0,0,0,
								 &pAdministratorsGroup)) goto Cleanup;
	if(!CheckTokenMembership(NULL, pAdministratorsGroup, &fIsRunAsAdmin)){
		fIsRunAsAdmin=FALSE;
		goto Cleanup;
	}
	Cleanup:
	if(pAdministratorsGroup){
		FreeSid(pAdministratorsGroup);
		pAdministratorsGroup=NULL;
	}
	return (fIsRunAsAdmin!=FALSE);
}
void ElevateNow(){
	char szPath[MAX_PATH];
	if(GetModuleFileNameA(NULL,szPath,ARRAYSIZE(szPath))){
		SHELLEXECUTEINFOA sei={sizeof(sei)};
		sei.lpVerb="runas";
		sei.lpFile=szPath;
		sei.hwnd=NULL;
		sei.nShow=SW_NORMAL;
		if(!ShellExecuteExA(&sei)){
			DWORD dwError=GetLastError();
			if(dwError==ERROR_CANCELLED) cerr<<"用户拒绝了UAC提示";
		}
		else exit(0);
	}
	return;
}
void setConsoleSize(short x,short y)//调整控制台大小
{
	HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE);
	SMALL_RECT rect={0,0,x,y};//设置控制台大小 
	BOOL result=SetConsoleWindowInfo(hConsole,TRUE,&rect);
	COORD bufferSize={short(x+1),short(y+1)};//设置控制台缓冲区 
	result=SetConsoleScreenBufferSize(hConsole,bufferSize);
}
void setCenteredTitle(const string &title)//使标题居中
{
	CONSOLE_SCREEN_BUFFER_INFO csbi;
	GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),&csbi);
	int consoleWidth=csbi.srWindow.Right-csbi.srWindow.Left+1;
	int padding=(consoleWidth-title.length())/2;
	string centeredTitle(padding,' ');
	string centered;
	for(int i=1;i<int(centeredTitle.size()*1.8);i++) centered+=" ";
	centered+=title;
	SetConsoleTitleA(centered.c_str());//比system("title")更高效
}
void SetCharacterSize(SHORT x=9,SHORT y=18)//调整字体
{
	HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE);
	CONSOLE_FONT_INFOEX fontInfo={0};//CONSOLE_FONT_INFOEX部分编译器会报错,建议用Dev5.11或小熊猫
	fontInfo.cbSize=sizeof(fontInfo);
	fontInfo.dwFontSize.X=x/*宽*/,fontInfo.dwFontSize.Y=y/*高*/;
	fontInfo.FontWeight=FW_NORMAL;
	char fontName[]="仿宋";
	int len=MultiByteToWideChar(CP_ACP,0,fontName,-1,NULL,0);
	MultiByteToWideChar(CP_ACP,0,fontName,-1,fontInfo.FaceName,len);
	SetCurrentConsoleFontEx(hConsole,FALSE,&fontInfo);
	return;
}
void Color(int r,int g,int b,int c=0)//调颜色
{
	printf("\033[%d8;2;%d;%d;%dm",3+c,r,g,b);
}
void color_print(int r,int g,int b,char* s)//输出颜色
{
	Color(r,g,b);
	printf("%s",s);
}
void gotoxy(int y=0,int x=0){//移动输出文字的位置
	COORD pos;
	pos.X=x;
	pos.Y=y;
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
void HideCursor(){//隐藏控制台光标
	CONSOLE_CURSOR_INFO cursor_info={1,0}; // 设置光标信息,大小为1,隐藏光标
	SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info); // 设置控制台光标信息
}
//--------------------------------------------------------------重要的函数----------------------------------------------------------------
void Slowsay(string a,bool enter=true)//讲话(搬运+改动) 
{
	int l=a.size();
	for(int i=0;i<l;i++)
	{
		cout<<a[i];
		Sleep(10);
	}
	if(enter)getch();
	return;
}
int main();
//--------------------------------------------------------------剧情用函数----------------------------------------------------------------
void loading()//加载
{
	setCenteredTitle("记忆");
	
	/*
	//废稿(建议DevC++使用) 
	Slowsay("记忆");
	system("cls");
	system("color A");
	Slowsay("作者:dyomh\n");
	Slowsay("感谢@__sunshao321__ 提供技术支持\n");
	Slowsay("感谢@CS_profys、@Ender_pearl2333 提供实验品(试错)");
	*/
	
	//以下为小熊猫使用开头,更好的表现方式 
	for(int i=0;i<=255;i+=5){
		gotoxy();
		color_print(i,i,i,(char*)"记忆\n\n作者:");
		color_print(((i-173)>0? i-173:0),((i-59)>0? i-59:0),((i-229)>0? i-229:0),(char*)"dyomh\n\n");
		color_print(i,i,i,(char*)"转载请注明出处");
		Sleep(8);
	}
	Sleep(800);
	for(int i=255;i>=0;i-=5){
		gotoxy();
		color_print(i,i,i,(char*)"记忆\n\n作者:");
		color_print(((i-173)>0? i-173:0),((i-59)>0? i-59:0),((i-229)>0? i-229:0),(char*)"dyomh\n\n");
		color_print(i,i,i,(char*)"转载请注明出处");
		Sleep(8);
	}
	for(int i=0;i<=255;i+=5){
		gotoxy();
		color_print(i,i,i,(char*)"感谢");
		color_print(((i-173)>0? i-173:0),((i-59)>0? i-59:0),((i-229)>0? i-229:0),(char*)" @__sunshao321__ ");
		color_print(i,i,i,(char*)"提供技术支持\n\n");
		
		color_print(i,i,i,(char*)"感谢");
		color_print(((i-173)>0? i-173:0),((i-59)>0? i-59:0),((i-229)>0? i-229:0),(char*)" @CS_profys、@Ender_pearl2333 ");
		color_print(i,i,i,(char*)"提供实验品(试错)\n\n");
		//---------------------------- 
		Sleep(8);
	}
	Sleep(800);
	for(int i=255;i>=0;i-=5){
		gotoxy();
		color_print(i,i,i,(char*)"感谢");
		color_print(((i-173)>0? i-173:0),((i-59)>0? i-59:0),((i-229)>0? i-229:0),(char*)" @__sunshao321__ ");
		color_print(i,i,i,(char*)"提供技术支持\n\n");
		
		color_print(i,i,i,(char*)"感谢");
		color_print(((i-173)>0? i-173:0),((i-59)>0? i-59:0),((i-229)>0? i-229:0),(char*)" @CS_profys、@Ender_pearl2333 ");
		color_print(i,i,i,(char*)"提供实验品(试错)\n\n");
		Sleep(8);
	}
	Sleep(1000);
	
}
void end()//结束 
{
	/*
	//废稿(建议DevC++使用) 
	Slowsay("记忆");
	system("cls");
	system("color A");
	Slowsay("作者:dyomh\n");
	Slowsay("再次鸣谢@__sunshao321__ 提供技术支持\n");
	Slowsay("再次鸣谢@CS_profys、@Ender_pearl2333 提供实验品(试错)");
	Slowsay("喜欢的就私信 luogu dyomh(https://www.luogu.com.cn/user/1056231) 发\"zcdm\"八!反响好的话我会尽快更新下一部!");
	*/
	
	//以下为小熊猫使用结尾,更好的表现方式 
	for(int i=0;i<=255;i+=5){
		gotoxy();
		color_print(i,i,i,(char*)"记忆\n\n作者:");
		color_print(((i-173)>0? i-173:0),((i-59)>0? i-59:0),((i-229)>0? i-229:0),(char*)"dyomh\n\n");
		color_print(i,i,i,(char*)"转载请注明出处");
		Sleep(8);
	}
	Sleep(800);
	for(int i=255;i>=0;i-=5){
		gotoxy();
		color_print(i,i,i,(char*)"记忆\n\n作者:");
		color_print(((i-173)>0? i-173:0),((i-59)>0? i-59:0),((i-229)>0? i-229:0),(char*)"dyomh\n\n");
		color_print(i,i,i,(char*)"转载请注明出处");
		Sleep(8);
	}
	for(int i=0;i<=255;i+=5){
		gotoxy();
		color_print(i,i,i,(char*)"再次鸣谢");
		color_print(((i-173)>0? i-173:0),((i-59)>0? i-59:0),((i-229)>0? i-229:0),(char*)" @__sunshao321__ ");
		color_print(i,i,i,(char*)"提供技术支持\n\n");
		
		color_print(i,i,i,(char*)"再次鸣谢");
		color_print(((i-173)>0? i-173:0),((i-59)>0? i-59:0),((i-229)>0? i-229:0),(char*)" @CS_profys、@Ender_pearl2333 ");
		color_print(i,i,i,(char*)"提供实验品(试错)\n\n");
		//---------------------------- 
		Sleep(8);
	}
	Sleep(800);
	for(int i=255;i>=0;i-=5){
		gotoxy();
		color_print(i,i,i,(char*)"再次鸣谢");
		color_print(((i-173)>0? i-173:0),((i-59)>0? i-59:0),((i-229)>0? i-229:0),(char*)" @__sunshao321__ ");
		color_print(i,i,i,(char*)"提供技术支持\n\n");
		
		color_print(i,i,i,(char*)"再次鸣谢");
		color_print(((i-173)>0? i-173:0),((i-59)>0? i-59:0),((i-229)>0? i-229:0),(char*)" @CS_profys、@Ender_pearl2333 ");
		color_print(i,i,i,(char*)"提供实验品(试错)\n\n");
		Sleep(8);
	}
	for(int i=0;i<=255;i+=5){
		gotoxy();
		color_print(i,i,i,(char*)"喜欢的就私信 ");
		color_print(((i-173)>0? i-173:0),((i-59)>0? i-59:0),((i-229)>0? i-229:0),(char*)" luogu dyomh(https://www.luogu.com.cn/user/1056231) ");
		color_print(i,i,i,(char*)"发\"zcdm\",反响好的话我会尽快更新下一部!\n\n");
		Sleep(8);
	}
	Sleep(800);
	for(int i=255;i>=0;i-=5){
		gotoxy();
		color_print(i,i,i,(char*)"喜欢的就私信 ");
		color_print(((i-173)>0? i-173:0),((i-59)>0? i-59:0),((i-229)>0? i-229:0),(char*)" luogu dyomh(https://www.luogu.com.cn/user/1056231) ");
		color_print(i,i,i,(char*)"发\"zcdm\",反响好的话我会尽快更新下一部!\n\n");
		Sleep(8);
	}
	Sleep(1000);
	
	return;
}
void background()//背景 
{
	system("cls");
	Slowsay("\"唔...头好痛\"\n");
	Slowsay("\"我...是谁?\"\n");
	Slowsay("\"我这是在哪?\"\n");
	Slowsay("\"这里...好熟悉...\"");
	return;
}
void letter(bool hot)//信
{
	Slowsay("\"",false);
	if(hot)Slowsay("弟弟",false);
	else Slowsay("--",false);
	Slowsay(":\n",false);
	Slowsay("\"    你还好吗?\n",false);
	Slowsay("\"在",false);
	if(hot)Slowsay("局里",false);
	else Slowsay("--",false);
	Slowsay("工作了快10年了,也没回来看看。趁着国庆,我马上就赶了回来,差不多明天下午",false);
	if(hot)Slowsay("5:00",false);
	else Slowsay("----",false);
	Slowsay("就能到家。\n",false);
	Slowsay("\"    小心别让我发现你又在搞什么鬼哦...\"\n");
	if(hot)
	{
		Slowsay("						你的哥哥\n",false);
		Slowsay("						 9月30日");
	}
	else Slowsay("(署名和日期被涂掉了)\n");
	return;
}
void diary()//日记
{
	system("cls");
	Slowsay("9月20日\n",false);
	Slowsay("老爸又没回来。\n\n");
	Slowsay("9月21日\n",false);
	Slowsay("老爸买了一只鹦鹉回来,它叫了一天,于是起名叫炒饭(吵烦)\n\n");
	Slowsay("9月22日\n",false);
	Slowsay("老爸开始吸烟了,他第一次吸烟\n\n");
	Slowsay("9月23日\n",false);
	Slowsay("老爸又没回来\n\n");
	Slowsay("9月24日\n",false);
	Slowsay("老爸回来了,但一身酒气,炒饭头一次没有叫。\n\n");
	Slowsay("9月25日\n",false);
	Slowsay("晚上老爸带炒饭去打疫苗。\n\n");
	Slowsay("9月26日\n",false);
	Slowsay("我刚起床老爸就回来了,他说炒饭还要过几天才能回来,我问他为什么,他不回答。\n\n");
	Slowsay("9月27日\n",false);
	Slowsay("老爸今天又喝酒了,还打了我。\n\n");
	Slowsay("9月28日\n",false);
	Slowsay("不对劲!\n\n");
	return;
}
void notebook()//笔记本
{
	system("cls");
	Slowsay("(前面几页被撕掉了)\n");
	Slowsay("9月25日\n",false);
	Slowsay("实验体2号---------后--。\n");
	Slowsay("9月26日\n",false);
	Slowsay("无进展。\n");
	Slowsay("9月27日\n",false);
	Slowsay("无进展。\n");
	Slowsay("9月28日\n",false);
	Slowsay("无进展。\n");
	Slowsay("9月29日\n",false);
	Slowsay("无进展。\n");
	Slowsay("9月30日\n",false);
	Slowsay("实验体3号-----皮肤----\n");
	return; 
}
//--------------------------------------------------------------辅助用函数----------------------------------------------------------------
void check_cin(int left,int right,int smm=0)//检查输入 
{
	if(smm==10)
	{
		system("cls");
		system("color 70");
		Slowsay("甜蜜的爱玩不玩");
		exit(0);
	}
	string a;
	cin>>a;
	for(int i=left;i<=right;i++)
	{
		if(a.size()==1&&i==a[0]-'0')
		{
			n=a[0]-'0';
			return;
		}
	}
	system("color 4");
	Slowsay("输入错误!请重新输入!\n",false);
	Sleep(200);
	system("color 7");
	return check_cin(left,right,smm+1);
}
bool bag_empty()//检查背包是否为空
{
	for(int i=0;i<20;i++)
	{
		if(bag[i])return false;
	}
	return true;
}
void back()//重置
{
	sum=0;
	for(int i=0;i<10;i++)
	{
		bgg[i]=0;
	}
	return;
}
void check_bag()//查看背包
{
	system("cls");
	if(bag_empty())Slowsay("你什么都没有......",false);
	else
	{
		Slowsay("当前你拥有:\n",false);
		if(bag[0])Slowsay("钥匙a*1\n",false);
		if(bag[1])Slowsay("钥匙b*1\n",false);
		if(bag[2])Slowsay("小刀*1\n",false);
		if(bag[3])Slowsay("信*1\n",false);
		if(bag[4])Slowsay("照片*1\n",false);
		if(bag[5])Slowsay("纸条*1\n",false);
		if(bag[6])Slowsay("手帕*1\n",false);
		if(bag[7])Slowsay("RMB*10000\n",false);
		//bag[8]多打了,没用
		if(bag[9])Slowsay("通行卡*1\n",false);
		if(bag[10])Slowsay("U盘*1\n",false);
		if(bag[11])Slowsay("钥匙c*1\n",false);
		if(bag[12])Slowsay("配方纸a*1\n",false);
		if(bag[13])Slowsay("配方纸b*1\n",false);
		if(bag[14])Slowsay("解药a*1\n",false);
		if(bag[15])Slowsay("解药b*1\n",false);
		if(bag[16])Slowsay("肾上腺素*1\n",false);
		Slowsay("\n");
	}
	return;
}
void cout_putin()//放入 
{
	back();
	Slowsay("你要放入?\n",false);
	if(bag[0])
	{
		sum++;
		bgg[sum]=0;
		cout<<sum;
		Slowsay(".钥匙a ",false);
	}
	if(bag[1])
	{
		sum++;
		bgg[sum]=1;
		cout<<sum; 
		Slowsay(".钥匙b ",false);
	}
	if(bag[2])
	{
		sum++;
		bgg[sum]=2;
		cout<<sum; 
		Slowsay(".小刀 ",false);
	}
	if(bag[3])
	{
		sum++;
		bgg[sum]=3;
		cout<<sum; 
		Slowsay(".信 ",false);
	}
	if(bag[4])
	{
		sum++;
		bgg[sum]=4;
		cout<<sum; 
		Slowsay(".照片 ",false);
	}
	if(bag[5])
	{
		sum++;
		bgg[sum]=5;
		cout<<sum; 
		Slowsay(".纸条 ",false);
	}
	if(bag[6])
	{
		sum++;
		bgg[sum]=6;
		cout<<sum; 
		Slowsay(".手帕 ",false);
	}
	if(bag[7])
	{
		sum++;
		bgg[sum]=7;
		cout<<sum; 
		Slowsay(".RMB ",false);
	}
	Slowsay("\n",false);
	check_cin(1,sum);
	return;
}
void water(int nn)//水槽反馈 
{
	Slowsay("你将",false);
	if(bgg[nn]==0)
	{
		Slowsay("钥匙a丢了进去并放水,无事发生"); 
	}
	else if(bgg[nn]==1)
	{
		Slowsay("钥匙b丢了进去并放水,无事发生");
	}
	else if(bgg[nn]==2)
	{
		Slowsay("小刀丢了进去并放水,无事发生");
	}
	else if(bgg[nn]==3)
	{
		Slowsay("信丢了进去并放水,信被泡烂了。\n");
		Slowsay("是否撤销?\n",false);
		Slowsay("1.是 2.否\n",false);
		check_cin(1,2);
		if(n==1)
		{
			system("color 9");
			Slowsay("已撤销\n");
			system("color 7");
		}
		else if(n==2)
		{
			Slowsay("失去物品:信*1");
			bag[4]=false;
		}
	}
	else if(bgg[nn]==4)
	{
		Slowsay("照片丢了进去并放水,照片被泡烂了。\n");
		Slowsay("是否撤销?\n",false);
		Slowsay("1.是 2.否\n",false);
		check_cin(1,2);
		if(n==1)
		{
			system("color 9");
			Slowsay("已撤销\n");
			system("color 7");
		}
		else if(n==2)
		{
			Slowsay("失去物品:照片*1");
			bag[4]=false;
		}
	}
	else if(bgg[nn]==5)
	{
		Slowsay("纸条丢了进去并放水,纸条被泡烂了。\n");
		Slowsay("是否撤销?\n",false);
		Slowsay("1.是 2.否\n",false);
		check_cin(1,2);
		if(n==1)
		{
			system("color 9");
			Slowsay("已撤销\n");
			system("color 7");
		}
		else if(n==2)
		{
			Slowsay("失去物品:纸条*1");
			bag[5]=false;
		}
	}
	else if(bgg[nn]==6)
	{
		if(!underground_map)
		{
			Slowsay("手帕丢了进去并放水,上面开始浮现出一条条路径。\n(冷知识:棉线和布线吸水量不同)\n");
			Slowsay("获得物品:地下室地图*1");
			underground_map=true;
		}
		else Slowsay("手帕丢了进去并放水,无事发生");
	}
	else if(bgg[nn]==7)
	{
		Slowsay("RMB丢了进去并放水,无事发生。\n");
		if(!achievement[0])
		{
			Slowsay("获得成就:tangb");
			achievement[0]=true;
		}
    system("cls");
    cout<<"想洗钱?";
    Sleep(100);
    system("cls");
	}
	return;
}
void fire(int nn)//微波炉反馈
{
	Slowsay("你将",false);
	if(bgg[nn]==0)
	{
		Slowsay("钥匙a丢了进去并加热,无事发生"); 
	}
	else if(bgg[nn]==1)
	{
		Slowsay("钥匙b丢了进去并加热,无事发生");
	}
	else if(bgg[nn]==2)
	{
		Slowsay("小刀丢了进去并加热,无事发生");
	}
	else if(bgg[nn]==3)
	{
		Slowsay("信丢了进去并加热,信上被涂掉的字重新显现了出来。\n(冷知识:隐形墨水遇热会消失)\n");
		letter_hot=true;
		letter(true);
	}
	else if(bgg[nn]==4)
	{
		Slowsay("照片丢了进去并加热,无事发生\n");
	}
	else if(bgg[nn]==5)
	{
		Slowsay("纸条丢了进去并加热,无事发生\n");
	}
	else if(bgg[nn]==6)
	{
		Slowsay("手帕丢了进去并加热,无事发生\n");
	}
	else if(bgg[nn]==7)
	{
		Slowsay("RMB丢了进去并加热,无事发生\n");
		if(!achievement[0])
		{
			Slowsay("获得成就:tangb");
			achievement[0]=true;
		}
	}
	return;
}
void fridge(int nn)//微波炉 
{
	Slowsay("你将",false);
	if(bgg[nn]==0)
	{
		Slowsay("钥匙a丢了进去并冷冻,无事发生"); 
	}
	else if(bgg[nn]==1)
	{
		Slowsay("钥匙b丢了进去并冷冻,无事发生");
	}
	else if(bgg[nn]==2)
	{
		Slowsay("小刀丢了进去并冷冻,无事发生");
	}
	else if(bgg[nn]==3)
	{
		Slowsay("信丢了进去并冷冻,无事发生\n");
	}
	else if(bgg[nn]==4)
	{
		Slowsay("照片丢了进去并冷冻,照片的背面显出2个数字:35\n(冷知识:遇热消失的隐形墨水遇冷会再次显示)\n");
	}
	else if(bgg[nn]==5)
	{
		Slowsay("纸条丢了进去并冷冻,无事发生\n");
	}
	else if(bgg[nn]==6)
	{
		Slowsay("手帕丢了进去并冷冻,无事发生\n");
	}
	else if(bgg[nn]==7)
	{
		Slowsay("RMB丢了进去并冷冻,无事发生\n");
		if(!achievement[0])
		{
			Slowsay("获得成就:tangb");
			achievement[0]=true;
		}
	}
	return;
}
void clean_er()//清空二周目背包 
{
	for(int i=8;i<=16;i++)
	{
		bag[i]=false;
	}
}
//--------------------------------------------------------------------益州牧----------------------------------------------------------------------
void yii()
{
	while(1)
	{
		back();//重置
		system("cls");
		Slowsay("你要前往:\n",false);
		Slowsay("0.查看背包 1.客厅 2.卧室1 3.卧室2 4.厨房 5.卫生间 6.地下室\n",false);
		check_cin(0,6);
		system("cls");
		if(n==0)
		{
			check_bag();
			getch();
		}
		else if(n==1)//客厅 
		{
			Slowsay("客厅里有一张桌子、一张沙发、一个水杯",false);
			if(!bag[3])Slowsay("、一封信",false);
			Slowsay("\n");
			while(1)
			{
				Slowsay("你要查看:\n",false);
				Slowsay("0.离开 1.桌子 2.沙发 3.水杯",false);
				if(!bag[3])Slowsay(" 4.信",false);
				Slowsay("\n",false);
				if(!bag[3])check_cin(0,4);
				else check_cin(0,3);
				if(n==0)break;//退出
				else if(n==1)//桌子 
				{
					if(!bag[0])//未搜查
					{
						Slowsay("你查看了桌子,在桌子底下找到了一把钥匙\n");
						Slowsay("获得物品:钥匙a*1");
						bag[0]=true;
					}
					else Slowsay("你没有发现什么...");//已搜查 
				}
				else if(n==2)//沙发 
				{
					if(bag[2])//有小刀 
					{
						Slowsay("你割开了沙发,在里面找到了一个笔记本。");
						notebook();
						Slowsay("获得成就:秘密"); 
						achievement[1]=true;
					}
					else//无小刀 
					{
						Slowsay("沙发似乎已经被使用多年,沙发皮已经有些许脱落");
					}
				}
				else if(n==3)//水杯 
				{
					Slowsay("不知道为什么,水杯里的水有些浑浊");
				}
				else if(!bag[3]&&n==4)//信 
				{
					Slowsay("你拿起信仔细看了看,却发现信上的某些字被涂掉了\n");
					letter(false);
					Slowsay("获得物品:信*1");
					bag[3]=true;
				}
				system("cls");
			}
		}
		else if(n==2)//卧室1
		{
			Slowsay("卧室1里有一张双人床、一个床头柜。\n");
			while(1)
			{
				Slowsay("你要查看:\n",false);
				Slowsay("0.离开 1.双人床 2.床头柜\n",false);
				check_cin(0,3);
				if(n==0)break;//退出
				if(n==1)//双人床 
				{
					if(!bag[4])//未搜查 
					{
						Slowsay("你在枕头底下发现了一张照片。\n",false);
						Slowsay("照片上是一个女人,她的右边站着一个小孩,照片的更右端被撕掉了。\n");
						Slowsay("获得物品:残缺照片*1");
						bag[4]=true;
					}
					else Slowsay("你没有发现什么...");//已搜查 
				}
				else if(n==2)//床头柜 
				{
					if(!bag[1])//未打开  
					{
						Slowsay("床头柜上了锁,需要4位密码。\n");
						while(1) 
						{
							Slowsay("输入密码(输入0退出):",false);
							cin>>s;
							if(s=="0235")
							{
								system("color 2");
								Slowsay("\n密码正确!\n",false);
								Sleep(200);
								system("color 7");
								Slowsay("你在床头柜里找到了一把钥匙和1万元RMB。\n");
								Slowsay("获得物品;钥匙b*1、RMB*10000");
								bag[1]=true;
								bag[7]=true;
								break;
							}
							else if(s=="0")break;
							else
							{
								system("color 4");
								Slowsay("密码错误!\n",false);
								system("color 7");
								getch();
							}
						}
					}
					else Slowsay("床头柜里什么也没有...");//已打开 
				}
				system("cls");
			}
		}
		else if(n==3)//卧室2
		{
			Slowsay("卧室2里有一张单人床、一个书桌。\n");
			while(1)
			{
				Slowsay("你要查看:\n",false);
				Slowsay("0.离开 1.单人床 2.书桌\n",false);
				check_cin(0,2);
				if(n==0)break;
				if(n==1)//单人床 
				{
					if(!bag[5])//未搜查
					{
						Slowsay("你在被子底下发现了一张纸条,上面写着\"02\",纸条右端被撕掉了一点。\n");
						Slowsay("获得物品:纸条*1");
						bag[5]=true;
					}
					else Slowsay("你并没有发现什么...\n");//已搜查 
				}
				else if(n==2)
				{
					Slowsay("你要查看:\n",false);
					Slowsay("1.桌面 2.抽屉\n",false);
					check_cin(1,2);
					if(n==1)//桌面 
					{
						if(!bag[6])//未搜查 
						{
							Slowsay("你在桌面上找到了一张黄色手帕。\n");
							Slowsay("获得物品:手帕*1");
							bag[6]=true;
						}
						else//已搜查 
						{
							Slowsay("你并没有发现什么...\n");
						}
					}
					else if(n==2)//抽屉
					{
						Slowsay("抽屉里有一本日记本,但上了锁。\n");
						if(bag[0])
						{
							Slowsay("你用钥匙打开了日记本。是否查看?\n",false);
							Slowsay("1.是 2.否\n",false);
							check_cin(1,2);
							if(n==1)
							{
								diary();
							}
						}
						else
						{
							Slowsay("你没有钥匙。");
						}
					}
				}
				system("cls");
			}
		}
		else if(n==4)//厨房 
		{
			Slowsay("厨房里有一个灶台、一个水槽、一个微波炉、一个冰箱。\n");
			back();
			while(1)
			{
				Slowsay("你要使用:\n",false);
				Slowsay("0.离开 1.灶台 2.水槽 3.微波炉 4.冰箱\n",false);
				check_cin(0,4);
				if(n==0)break;//离开
				if(n==1)//灶台
				{
					Slowsay("灶台似乎没有接上煤气,无法点火。");
					if(!bag[2])
					{
						Slowsay("\n但是你在灶台附近发现了一把小刀。\n");
						Slowsay("获得物品:小刀*1");
						bag[2]=true;
					}
				}
				else if(n==2)//水槽 
				{
					if(bag_empty())
					{
						system("color 4");
						Slowsay("你没有东西可以放入!");
						system("color 7");
						continue;
					}
					cout_putin();
					water(n);
				}
				else if(n==3)//微波炉 
				{
					if(bag_empty())
					{
						system("color 4");
						Slowsay("你没有东西可以放入!");
						system("color 7");
						continue;
					}
					cout_putin();
					fire(n);
				}
				else if(n==4)//冰箱 
				{
					if(bag_empty())
					{
						system("color 4");
						Slowsay("你没有东西可以放入!");
						system("color 7");
						continue;
					}
					cout_putin();
					fridge(n);
				}
				system("cls");
			}
		}
		else if(n==5)//卫生间 
		{
			Slowsay("卫生间里有一个马桶、一个洗手池、一个通风管道。\n");
			while(1)
			{
				Slowsay("你要使用:\n",false);
				Slowsay("0.离开 1.马桶 2.洗手池 3.通风管道\n",false);
				check_cin(0,3);
				if(n==0)break;
				if(n==1)//马桶
				{
					if(!achievement[2])//没上
					{
						Slowsay("你上了个厕所,于是你感到自己上了个厕所\n");
						Slowsay("获得成就:获得成就");
						achievement[2]=true;
					}
					else//上了
					{
						if(sm==5)
						{
							cout<<"你虚脱了";
							exit(0);
						}
						else Slowsay("你已经上过厕所了,再上就虚脱了。");
					}
				}
				else if(n==2)//洗手池 
				{
					Slowsay("洗手池没有水。"); 
				}
				else if(n==3)//通风管道 
				{
					Slowsay("通风管道打不开。");//三周目才能打开
				}
				system("cls");
			}
		}
		else if(n==6)
		{
			if(!bag[1])Slowsay("地下室的门锁上了");
			else break;
		}
	}
	system("cls");
	Slowsay("地下室十分昏暗,你试着往前走了两步,突然身后的门砰的一声关上了。\n");
	Slowsay("你拧了拧门把手,却发现门锁死了。\n");
	Slowsay("你摸索到了开关,灯亮了,然而你的眼前出现了三条岔路。\n");
	srand(time(0));//初始化
	n=rand()%100;
	if(!underground_map)//没有地图 
	{
		Slowsay("你随便选了一条路走了进去,",false);
		if(n!=0)//运气不好逝世 
		{
			Slowsay("然而独自摸索了很久也没发现出去的路。");
			system("cls");
			system("color 4");
			Slowsay("你,被困死在了这里。\n");
			system("cls");
			system("color 7");
			system("cls");
			Slowsay("提示:尝试找找地图");
			return;
		}
		else//逆天运气存活 
		{
			Slowsay("独自摸索了很久,终于你来到了一扇门前。(话说1/100的概率能中也是神人)"); 
		} 
	}
	else Slowsay("你按照地图走了很久,终于来到了一扇门前。\n");
	yi=true;
	return;
}
//--------------------------------------------------------------------二周目----------------------------------------------------------------------
void err()
{
	Slowsay("门是虚掩着的,你轻轻推了推,映入眼帘的是一条走廊,走廊两旁是一扇扇门。\n");
	while(1)
	{
		system("cls");
		if(boom)break; 
		Slowsay("你要前往?\n",false);
		Slowsay("0.查看背包 1.总控室 2.化学实验室 3.试验室 4.储藏室 5.档案室\n",false);
		check_cin(0,5);
		system("cls");
		if(n==0)check_bag();
		else if(n==1)//总控室
		{
			Slowsay("总控室的门上了锁,需要6位密码。\n");
			while(1)
			{
				Slowsay("输入密码(输入0退出):",false);
				cin>>s;
				if(s=="141592")
				{
					system("color 2");
					Slowsay("\n密码正确!\n",false);
					Sleep(200);
					system("color 7");
					Slowsay("你打开了总控室的门,门里有一个巨大的屏幕,上面是各个房间各个角的监控画面;一旁是各个房间的电源总闸。\n");
					Slowsay("墙上挂着一个电子钟,上面显示:4:50:00\n");
					Slowsay("与此同时,一个机械音响起。\n");
					system("color 4");
					Slowsay("基地将于10分钟后自毁,请立即从洗手间内的通风管道撤离。\n");
					system("color 7");
					boom=true;
					break;
				}
				else if(s=="0")break;
				else
				{
					system("color 4");
					Slowsay("\n密码错误!\n",false);
					Sleep(200);
					system("color 7");
				}
			}
		}
		else if(n==2)//化学实验室
		{
			Slowsay("化学实验室里堆满了化学仪器,以及各种瓶瓶罐罐。\n");
			while(1)
			{
				Slowsay("你要查看/使用?\n",false);
				Slowsay("0.离开 1.配置药剂 2.烧杯瓶",false);
				if(!bag[16])Slowsay(" 3.药剂瓶",false);
				Slowsay("\n",false);
				if(!bag[16])check_cin(0,3);
				else check_cin(0,2);
				if(n==0)break;
				else if(n==1)//配置药剂
				{
					if(!bag[12]&&!bag[13])
					{
						Slowsay("你没有配方纸。\n");
						system("cls");
						continue;
					}
					while(1)
					{
						back();
						Slowsay("你要配置:\n",false);
						Slowsay("0.离开 ",false);
						if(bag[12])
						{
							sum++;
							bgg[sum]=1;
							cout<<sum;
							Slowsay(".解药a\n",false);
						}
						if(bag[13])
						{
							sum++;
							bgg[sum]=2;
							cout<<sum;
							Slowsay(".解药b\n",false);
						}
						check_cin(0,2);
						if(n==0)break;
						else if(bgg[n]==1)//配置解药a
						{
							if(!bag[14])//未配置过
							{
								Slowsay("你按照配方纸配置了一瓶药剂。\n");
								if(bag[15])//已有解药b
								{
									Slowsay("然而你身上已经有另一瓶解药了。\n");
									Slowsay("你选择保留:\n",false);
									Slowsay("1.解药a(当前配置) 2.解药b 3.都不保留\n",false);
									check_cin(1,3);
									{
										if(n==1)//保留解药a
										{
											Slowsay("你选择保留解药a。\n");
											Slowsay("获得物品:解药a*1\n");
											Slowsay("失去物品:解药b*1\n");
											bag[14]=true;
											bag[15]=false;
										}
										else if(n==2)//保留解药b
										{
											Slowsay("你选择保留解药b。\n");
										}
									}
								}
								else//没有解药b
								{
									Slowsay("获得物品:解药a*1\n");
									bag[14]=true;
								}
							}
							else Slowsay("你已经配置过该药液了。\n");//已配置
						}
						else if(bgg[n]==2)//配置解药b
						{
							if(!bag[15])//未配置过
							{
								Slowsay("你按照配方纸配置了一瓶药剂。\n");
								if(bag[14])//已有解药a
								{
									Slowsay("然而你身上已经有另一瓶解药了。\n");
									Slowsay("你选择保留:\n",false);
									Slowsay("1.解药a 2.解药b(当前配置) 3.都不保留\n",false);
									check_cin(1,3);
									{
										if(n==1)//保留解药a
										{
											Slowsay("你选择保留解药a。\n");
										}
										else if(n==2)//保留解药b
										{
											Slowsay("你选择保留解药b。\n");
											Slowsay("获得物品:解药b*1\n");
											Slowsay("失去物品:解药a*1\n");
											bag[15]=true;
											bag[14]=false;
										}
									}
								}
								else//没有解药b(假)
								{
									Slowsay("获得物品:解药b*1\n");
									bag[14]=true;
								}
							}
							else Slowsay("你已经配置过该药液了。\n");//已配置
						}
					}
				}
				else if(n==2)//烧杯
				{
					Slowsay("烧杯中的深紫色药剂发出一股刺鼻的臭味,你赶紧捂着鼻子把它放回了原位。\n");
				}
				else if(n==3)//肾上腺素
				{
					Slowsay("你拿起药剂瓶,瓶子上写着\"肾上腺素\"几个字\n");
					Slowsay("获得物品:肾上腺素*1");
					bag[16]=true;
				}
				system("cls");
			}
		}
		else if(n==3)//试验室
		{
			if(!bag[9])//没有通行卡
			{
				Slowsay("试验室的门锁住了,需要通行卡。\n");
			}
			else
			{
				if(!fight)
				{
					Slowsay("你使用通行卡打开了试验室的门。\n");
					Slowsay("试验室内有三个巨大的玻璃容器,容器内充满了淡蓝色的液体,各浸泡装着一个背上插满管子的生物。\n");
					Slowsay("第一个容器内是一个背生三只手的人形生物,它低着头,长发挡在脸前。\n");
					Slowsay("第二个容器相对较小,内是一个生着两只翅膀、背上羽毛锋利如刀的生物。\n");
					Slowsay("第三个容器内是一个皮肤上长满红色疙瘩、两只耳朵奇大的人型生物。\n");
					Slowsay("你依次凑近三个容器看了看,前两个容器内的生物死气沉沉。\n");
					Slowsay("当你凑到第三个容器前时,容器内的生物突然睁开眼,它用力拔下身上的管子,接着狠命敲打容器。\n");
					Slowsay("在它的一次次敲打下,玻璃容器被敲开,里面的液体流了出来,将你冲倒在地。\n");
					system("color 4");
					Slowsay("人形生物疯狂地朝你扑来,",false);
					if(!bag[2]&&!bag[14])//没有小刀、解药
					{
						Slowsay("尽管你奋力抵抗,然而它还是咬住了你的喉管。\n");
						Slowsay("你眼前的画面开始出现重影,意识逐渐模糊的你在最后一刻听到了它的一阵窃笑。\n");
						Slowsay("\"实验体四号...实验者...\"");
						system("cls");
						Slowsay("你,失去了知觉,变成了怪物。\n");
						system("cls");
						system("color 7");
						system("cls");
						Slowsay("提示:下次找找其他东西再来。\n");
						clean_er();
						return;
					}
					else if(bag[15])//有解药(假)
					{
						Slowsay("你赶忙掏出解药,对着它猛地一针扎下,它哀嚎一声,不住地后退着。\n");
						Slowsay("然而,仅仅过了10秒,它便又扑了上来,并咬住了你的喉管。\n");
						Slowsay("你在绝望中发出了最后一声悲叹。\n");
						Slowsay("\"这不是解药么...\"");
						system("cls");
						Slowsay("你,失去了知觉,变成了怪物。\n");
						system("color 7");
						system("cls");
						Slowsay("提示:有时候寻找过细也不是什么好事。\n");
						system("cls");
						cout<<"无情嘲笑";
						Sleep(100);
						system("cls");
						cout<<"提示:有时候寻找过细也不是什么好事。";
						clean_er();
						return;
					}
					else//有小刀/解药(真)
					{
						Slowsay("并咬向你的喉管。\n");
						system("color 7");
						if(bag[14])//有解药(真)
						{
							system("color 7");
							Slowsay("你赶忙掏出解药,对着它猛地一针扎下,它哀嚎一声,不住地后退着。\n");
							Slowsay("它原本庞大的身材开始以肉眼可见的速度缩小,皮肤上的疙瘩也逐渐消去,可两只耳朵却依旧没有变化。\n");
							Slowsay("它原本狰狞的脸逐渐转变为一张人的脸,它瘫倒在容器旁,双手下垂。");
							Slowsay("你小心翼翼地走上前去,它缓缓抬起头,看见你,它嘴唇张了张,然后头歪向一边,彻底没了呼吸。\n");
							Slowsay("你很疑惑,于是掏出配方纸看了看。\n");
							Slowsay("你发现图纸的背后写着一行小字:半成品,持续研发中。\n");
						}
						else//有小刀
						{
							Slowsay("关键时刻,你摸出了带着的小刀朝它狠命插去,终于,怪物倒了在地上,脖颈上流出了棕红色的血液。\n");
							Slowsay("你给它补了几刀,确认它死透了后才将它推开,并大口大口喘着粗气。\n");
						}
						Slowsay("突然,第二个容器内的生物也醒了过来,并开始疯狂撞击容器,似乎马上就要冲出来。\n");
						Slowsay("关键时刻,你看到了一旁的控制台,你飞奔过去,按下第二行第三个按钮。\n");
						Slowsay("撞击容器的声音越来越小,最后完全停止,你如释重负地躺在了地上。\n");
						Slowsay("你终于有时间可以环顾这个地方了。\n");
						system("cls");
						fight=true;
					}
				}
				Slowsay("试验室里有两个储物柜、一张办公桌、一个控制台\n");
				while(1)
				{
					Slowsay("你要查看:\n",false);
					Slowsay("0.离开 1.储物柜a 2.储物柜b 3.办公桌 4.控制台\n",false);
					check_cin(0,4);
					if(n==0)break;
					else if(n==1)//储物柜a
					{
						Slowsay("柜子里有一张纸条,上面歇着几组数。\n");
						Slowsay("(1,1)(4,5)(1,4)(10,5)(5,2)(3,1)(暗广作者主页)\n");
					}
					else if(n==2)//储物柜b
					{
						Slowsay("柜子里有一封信,信封上画着一朵曼陀罗花。\n");
						Slowsay("\"	你好。\n");
						Slowsay("\"	我们看了你的装置后认为你很有潜能,于是诚邀你与我们合作。我们将在10月2日与你面谈。\"\n");
						Slowsay("						  曼陀罗\n");
					}
					else if(n==3)//办公桌 
					{
						Slowsay("桌上放着一张纸条。\n");
						Slowsay("\"1061545641\n",false);
						Slowsay("\"2462485865\n",false);
						Slowsay("\"2412854218\n",false);
						Slowsay("\"5624496536\n",false);
						Slowsay("\"7918402543\n",false);
						Slowsay("\"6489415856\n",false);
						Slowsay("\"4683190576\n",false);
						Slowsay("\"0554359163\n",false);
						Slowsay("\"1718912351\n",false);
						Slowsay("\"5442585410\"\n");
					}
					else if(n==4)//控制台 
					{
						Slowsay("控制台上有一个屏幕,它的下方布满了摇杆、拉杆和按钮,以及一个键盘,屏幕上显示\"已停止营养液输送\"。\n");
					}
					system("cls");
				}
			}
		}
		else if(n==4)//储藏室
		{
			Slowsay("储藏室内堆满了各种杂物。\n");
			while(1)
			{
				Slowsay("你要查看:\n",false);
				Slowsay("0.离开 1.储物架a 2.储物架b 3.箱子\n",false);
				check_cin(0,3);
				if(n==0)break;
				else if(n==1)//储物架a
				{
					if(!bag[10])//未搜查
					{
						Slowsay("你在储物架a上找到了一个U盘。\n");
						Slowsay("获得物品:U盘*1");
						bag[10]=true;
					}
					else Slowsay("你并没有发现什么...\n");//已搜查
				}
				else if(n==2)//储物架b
				{
					if(!bag[12])//未搜查
					{
						Slowsay("你在储物架上找到了一张纸,貌似是一个配方。\n");
						Slowsay("获得物品:配方纸a*1\n");
						bag[12]=true;
					}
					else Slowsay("你并没有发现什么...\n");//已搜查
				}
				else if(n==3)
				{
					Slowsay("箱子上了锁。\n");
					if(bag[11])//有钥匙
					{
						if(!bag[13])//未搜查
						{
							Slowsay("你用钥匙打开了箱子,并在里面找到了一张卡,上面写着\"通行卡\";一张纸,貌似是个配方。\n");
							Slowsay("获得物品:通行卡*1、配方纸b*1\n");
							bag[9]=true; 
							bag[13]=true;
						}
						else Slowsay("你并没有发现什么...");
					}
					else Slowsay("你没有钥匙。\n");//没有钥匙
				}
				system("cls");
			}
		}
		else if(n==5)//档案室
		{
			Slowsay("档案室内陈列着两排书架,门边放着一张办公桌。\n");
			while(1)
			{
				Slowsay("你要查看/使用:\n",false);
				Slowsay("0.离开 1.书架a 2.书架b 3.办公桌\n",false);
				check_cin(0,3);
				if(n==0)break;
				else if(n==1)//书架a 
				{
					Slowsay("书架a上放满了文件夹,然而都很薄,你随便拿了一本看,发现是空的。\n");
				}
				else if(n==2)//书架b
				{
					Slowsay("书架b上的文件夹只放了两排。\n");
					if(!bag[11])
					{
						Slowsay("但你在书架上找到了一把钥匙。\n");
						Slowsay("获得物品:钥匙c*1\n");
						bag[11]=true;
					}
					if(achievement[1]&&bag[3]&&bag[10]&&letter_hot)
					{
						Slowsay("你突然看到地上放着一个文件夹,于是随手将它捡起,并放在了第二排书架的末尾,正好填满整排书架。\n");
						Slowsay("突然,书架旋转了90度,露出了底下的一个通道。\n");
						Slowsay("你选择:\n",false);
						Slowsay("1.下去 2.不下去\n",false);
						check_cin(1,2);
						if(n==1)
						{
							Slowsay("你顺着通道内伸出的梯子爬了下去,来到了一个昏暗的小房间中。\n");
							Slowsay("房间内有一台电脑,电脑屏幕上打开了一个文件夹,里面装着一个视频文件。\n");
							Slowsay("\"曼陀罗的各位,当你看到这个视频,我可能已经被杀。\n");
							Slowsay("\"我在9月30日得知消息,当警察的哥哥要回来了,然而地下基地已发展到如此规模,已无法隐瞒。\n");
							Slowsay("\"我在忏悔。我对不起我的哥哥、妻子和儿子。客厅桌上的水是一杯毒药。\n");
							Slowsay("\"旁边有一面镜子和一把手枪,已经上好子弹。\"\n");
							Slowsay("你往旁边看了一眼,借着电脑的光,你看见镜子里的自己和视频里的人长得一模一样。\n");
							n=rand()%2;
							Slowsay("你拿起了手枪。");
							system("cls");
							Slowsay("触发彩蛋:提前苏醒\n");
							clean_er();
							return;
						}
					}
				}
				else if(n==3)//办公桌
				{
					Slowsay("办公桌上有一台电脑,电脑是开着的,然而电脑里几乎什么都没有。\n");
					if(bag[10])//有U盘
					{
						Slowsay("你找出U盘并将它插到了电脑主机上,接着点开里面的文件夹,是一个视频文件。\n");
						Slowsay("一个女人被绑在一把椅子上,貌似已经晕厥。一个穿着白袍的人影往她手臂扎了一针,接着女人开始剧烈抽搐,背上长了出一只手。\n");
						Slowsay("然后,她头一歪,没了呼吸。\n");
						Slowsay("\"实验体1号发生剧烈反应,并死亡。\"一个声音说着。");
					}
				}
				system("cls");
			}
		}
	}
	Slowsay("你来不及思考就急忙冲出总控室,突然面前伸下一架梯子,你顺着梯子爬到了上方,发现自己竟然又来到了客厅中。\n");
	Slowsay("你下意识地推了推门,然而大门纹丝不动,只好奔至卫生间内。\n");
	Slowsay("通风管道不知何时已经打开,露出一个一人宽的管道,管道口不算高,你立马爬了上去。\n");
	Slowsay("艰难地移动了好一会,你终于从管道内爬出,拍了拍身上的尘土,你发现自己来到了一个小院内。\n");
	Slowsay("你环顾四周,周围种满了花,身后是一栋一层小房,不大不小。\n");
	Slowsay("突然,耳边传来一阵汽车声,你循声望去,一辆车在院门前停下,车上下来一个男人。\n");
	Slowsay("男人看到你立马招了招手,说:\"弟,你应该看到我的信了吧!\"");
	Slowsay("你愣了一下,随即想起了一切。\n");
	system("cls");
	system("color 70");
	Slowsay("我对不起我的哥哥、妻子和儿子...或许还有那只鸟。\n");
	Slowsay("亲人变成实验体...\n");
	Slowsay("但我已经没有退路了。\n");
	Slowsay("我只能投奔曼陀罗。\n");
	Slowsay("当务之急是先离开这里。\n");
	system("cls");
	system("color 7");
	Slowsay("突然,一个声音从四面八方传来:\"疗程结束,患者情况良好。\"\n");
	Slowsay("眼前景象一变,周围从小院变成了一间阴暗的房间,周围围了一群服装各异的人。\n");
	Slowsay("沉默了一会,你开了口:\"这是曼陀罗吗?\"\n");
	Slowsay("其中一人点了点头。\"你在离开家时被你的哥哥击晕,我们把你救了回来。\"\n");
	Slowsay("你慢慢点了点头。\"他现在在哪?\"\n");
	Slowsay("\"你家院子里。\"\n");
	Slowsay("\"那就好。\"\n");
	er=true;
	return;
}	
//--------------------------------------------------------------------三周目----------------------------------------------------------------------
void sann()
{
	Slowsay("刚刚那人点点头:\"由于我们怀疑你使用苦肉计,首先对你进行了一次测谎。你哥哥现在在旁边一个小房间里。你要不要先见见他?\"\n");
	Slowsay("旁边一人递出了一把手枪。\n");
	Slowsay("沉默了一会,你拿过了手枪。");
	system("cls");
	Slowsay("你选择:\n",false);
	Slowsay("1.去到隔壁 2.朝人从中开一枪 3.朝自己开一枪\n",false);
	check_cin(1,3);
	if(n==2)
	{
		Slowsay("你迅速举起了手枪,刚想扣下扳机,一颗冰凉的子弹突然贯穿了你的眉心。\n");
		Slowsay("\"Game Over!\"一个人举着正在冒烟的手枪说。");
		return;
	}
	else if(n==3)
	{
		Slowsay("你举起手枪对准了自己的太阳穴。\n");
		Slowsay("周围的人和之前一样看着你。\n");
		Slowsay("枪声回荡在房间内。");
		return;
	}
	Slowsay("你缓缓走下床,走到了隔壁。那些人没有跟过来。\n");
	Slowsay("你看了看地上昏迷着的哥哥,又看了看手中的枪\n");
	Slowsay("你决定:\n",false);
	Slowsay("1.朝哥哥开枪 2.朝自己开枪\n");
	system("color 4");
	Slowsay("3.");
	Slowsay("冒死拼杀,救出哥哥\n",false);
	system("color 7");
	int no1=0,no2=0;
	while(1)
	{
		check_cin(1,3);
		if(n==1)
		{
			if(no1==3)
			{
				Slowsay("好吧...\n");
				Slowsay("枪,响了。\n");
				Slowsay("你瘫坐在了地上。\n");
				Slowsay("一个声音从身后传来:\"现在,你正式加入了我们\"");
				system("cls");
				Slowsay("Bad End 1\n");
				Slowsay("是否尝试其他结局?\n",false);
				Slowsay("1.是 2.否\n",false);
				check_cin(1,2);
				if(n==2)san=true;
				return;
			}
			else
			{
				no1++;
				Slowsay("你真的要这样吗?\n",false);
			}
		}
		else if(n==2)
		{
			
			if(no2==3)
			{
				Slowsay("好吧...\n");
				Slowsay("枪,响了。\n");
				Slowsay("倒地前一秒,你看见一支手枪对准了哥哥。\n");
				system("cls");
				Slowsay("Bad End 2\n");
				Slowsay("是否尝试其他结局?\n",false);
				Slowsay("1.是 2.否\n",false);
				check_cin(1,2);
				if(n==2)san=true;
				return;
			}
			else
			{
				no2++;
				Slowsay("你真的要这样吗?\n",false);
			}
		}
		else if(n==3)
		{
			Slowsay("你轻轻拍了拍哥哥的脸。\n");
			Slowsay("哥哥缓缓醒了过来,你递过手枪,说:\"我们冲出去。\"\n");
			Slowsay("你拿着房间内的一把手枪,和哥哥突然冲出了房间,可奇怪的是周围一个人也没有。\n");
			Slowsay("你和哥哥顺利逃了出去。\n",false);
			Sleep(900);
			system("cls");
			Slowsay("Happy End",false);
			Sleep(900);
			system("cls");
			Slowsay("曼陀罗监控室内。\n");
			Slowsay("\"为什么要放过他?\"\n");
			Slowsay("\"他好像我...\""); 
			system("cls");
			Slowsay("是否尝试其他结局?\n",false);
			Slowsay("1.是 2.否\n",false);
			check_cin(1,2);
			if(n==2)san=true;
			return;
		}
	}
	return;
}
//--------------------------------------------------------------------初始化----------------------------------------------------------------------
int main()
{
	
	if(!IsRunAsAdmin()) ElevateNow();//如果没有管理员权限,则请求提升权限
	setConsoleSize(60,20);//调整控制台大小
	SetCharacterSize();//调整字体
	HideCursor();//隐藏控制台光标
	for(int i=0;i<20;i++)//清空背包(真背包)+成就记录  
	{
		bag[i]=false;
		if(i<10)achievement[i]=false;
	}
//------------------------------------------------------------------开头和剧情--------------------------------------------------------------------
	
	loading();
	system("cls");
	system("color 7");
	Slowsay("是否观看剧情?\n",false);
	Slowsay("1.是 2.否\n",false);
	check_cin(1,2);
	if(n==1)background();
	
//--------------------------------------------------------------------主程序----------------------------------------------------------------------
	yi=er=true;
	while(1)
	{
		system("cls");
		if(er)
		{
			sann();
			if(!san)
			{
				system("cls");
				system("color 2");
				Slowsay("已读档.");
				Sleep(900); 
				system("color 7");
			}
			else break;
		}
		else if(yi)
		{
			err();
			if(!er)
			{
				system("cls");
				system("color 2");
				Slowsay("已读档.");
				Sleep(900); 
				system("color 7");
			}
		}
		else yii();
	}
	system("cls");
	end();
	return 0;
}
/*
颜色代号:
0=黑色	  8=灰色
1=蓝色	  9=淡蓝色
2=绿色	  10=淡绿色
3=浅绿色  11=淡浅绿色
4=红色	  12=淡红色
5=紫色	  13=淡紫色
6=黄色 	  14=淡黄色
7=白色 	  15=亮白色
注:7为系统颜色
*/

评论

0 条评论,欢迎与作者交流。

正在加载评论...