//转自:https://www.luogu.com.cn/blog/Allstars-We1lessz/3-yue-18-ri
#include<bits/stdc++.h>
#include<windows.h>
#define cl system("cls")
#define qwq 150
#define awa 100
using namespace std;
int n;//选择
string k="human",s;//身份
bool flaghelper,helperfalse;
bool cdj1,zj1,cdj2,cdj3,nor;
bool success;//成功
void panding();
void false1();
void true1();
void normal();
void cd1();
void cd2();
void cd3();
void xh1();
void xh2();
void xh3();
void xh4();
void p(string s,int b1,int b2);
int main()
{
if (success) return 0;
p("[互动视频] 如果你被困在了3月18日",50,qwq);
p("这是一个带有B站特色互动的游戏",50,awa);
p("本游戏灵感来源:bilibili @GoldenEggs(思路)",50,qwq);
p("切记,此游戏不仅考验耐心,更考验心态!!!",50,qwq);cl;
p("进入正题",500,qwq);cl;
xh1();
return 0;
}
void p(string s,int b1,int b2)
{
for (int i=0;i<s.size();++i)
cout<<s[i],Sleep(b1/3);
cout<<endl;
Sleep(b2);
}
void xh1()
{
p1:while(k=="human")
{
p("第一循环",50,qwq),cl;
p("今天是3月18日,你如往常一般起了床,吃过不错的早餐",50,awa);
p("你准备出门了,哪知,门外的东西并不寻常。。。。。。",50,awa);
p("面前,是一块牌子,上面写着:千万不要回头!!!",50,awa);
p("此时,你选择:1、听牌子的话往前走。2、回头看看,我超勇的!",50,awa);
cin>>n;
if (n==2)
{
p("你一回头,一个恐怖的脸出现在你面前。。。。。。随后,那个人一剑砍下了你的头颅。",50,qwq);cl;
goto p1;
}
cl;
p("你跟随牌子继续向前,忽然间,看到一个黑影向你招手,手中还拿着一个蛋,仿佛在叫你过去。",50,awa);
p("你选择:1、跟过去。2、不跟过去",50,awa);
cin>>n;cl;
if (n==2)
{
p("你觉得这个人有些可疑,你选择:",50,awa);
p("1、不管他。2、杀掉他(20%成功率)",50,awa);
cin>>n;cl;
if (n==2)
{
srand(time(0));
int t=rand()%10;
if (t==3||t==7)
{
p("你成功杀掉了那个人",50,awa);
p("你的身份现在为:杀手",50,qwq);cl;
k="killer";
xh2();
}
else
{
p("你失败了,返回第一循环。",50,qwq);cl;
goto p1;
}
}else
{
p("你被那个人无情的杀死了.返回第一循环",50,qwq);cl;
goto p1;
}
}
p("你跟了过去,来到了一个奇怪的地方,你看了看指示牌,写着:生命之树",50,awa);
p("你看到那个神秘人利用生命之树周围旋转的楼梯爬了上去,于是,你也紧跟着",50,awa);
p("经过一段时间的攀爬,你来到了顶端,神秘人就在前方不远,你快步前行,来到他身边",50,awa);cl;
p("你对神秘人说:你是谁,在这里干什么?",50,awa);
p("神秘人的回答很简单:'救赎'",50,awa);
p("请选择:1、把它打下去,2、相信他。",50,qwq);
cin>>n;cl;
if (n==2)
{
p("你放走了那个神秘的人",50,awa);
p("你的身份现在为:守护者",50,qwq),cl;
k="guardian";
xh4();
}
p("你认为他的话不可信,于是你把它揍了下去。",50,awa);
p("随后,你猛地一回头,发现了一个传送门,你选择:",50,awa);
p("1、跳下去。2、有危险,还是别跳了吧。",50,awa);
cin>>n;cl;
if (n==2)
{
p("你回头,发现一个人站在你身后。你一个后空翻躲过他的攻击,随后夺走了他的武器。",50,awa);
p("你的身份现在为:杀手",50,qwq);cl;
k="killer";
xh2();
}
p("你跳了进去,一阵头晕目眩过后,看到了一张图,上面写着:记录",50,awa);
p("A不回头,C刺A失败,B杀C失败,C毒A失败,C射A失败,A杀C",50,awa);
p("现在,请选择:1、成为救兵(80%几率)。2、不成为救兵",50,awa);
cin>>n;cl;
if (n==2) goto p1;
srand(time(0));
int t=rand()%10;
if (t==2||t==8) flaghelper=false;
p("你的身份现在为:救兵",50,awa);
k="helper";
xh3();
}
return;
}
void xh2()
{
p2:while(k=="killer")
{
int kill=0,unkill=0;
p("第二循环",50,qwq);cl;
p("今天是3月18日,你如往常一般起了床,吃过不错的早餐",50,awa);
p("你准备出门了,哪知,门外的东西并不寻常。。。。。。",50,awa);cl;
p("面前,是一块牌子,上面写着:千万不要回头!!!",50,awa);
p("此时,你选择:1、听牌子的话往前走。2、回头看看,我超勇的!",50,awa);
cin>>n;cl;
if (n==2)
{
p("你回头,一个恐怖的脸出现在你面前。。。。。。",50,awa);
p("请选择:1、逃离,2、杀了他!",50,awa);
cin>>n;cl;
if (n==1) ++unkill;
if (n==2) ++kill;
}
p("你跟随牌子继续向前,忽然间,看到一个黑影向你招手,手中还拿着一个蛋,仿佛在叫你过去。",50,awa);
/*p("你选择:1、跟过去。2、不跟过去",50,awa);cin>>n;cl;
if (n==2)
{
p("你觉得这个人有些可疑,你选择:",50,awa); p("1、不管他。2、杀掉他(40%成功率)",50,awa);
cin>>n;cl;if (n==2)
{srand(time(0));if (t==3||t==7||t==1||t==5){
p("你成功杀掉了那个人",50,awa);
++kill;}
else{
p("你失败了,返回第二循环。",50,qwq);cl; goto p2; }
}else{
p("你被那个人无情的杀死了.返回第二循环",50,qwq);cl;goto p2;}
}*///剧情不合逻辑 于2020.3.23删除
p("你跟着他来到了一个奇怪的地方,你看了看指示牌,写着:生命之树",50,awa);
p("你看到那个神秘人利用生命之树周围旋转的楼梯爬了上去,于是,你也紧跟着",50,awa);
p("经过一段时间的攀爬,你来到了顶端,神秘人就在前方不远,你快步前行,来到他身边",50,qwq);cl;
p("你对神秘人说:你是谁,在这里干什么?",50,awa);
p("神秘人的回答很简单:'救赎'",50,awa);
p("你选择:1、把他打下去(70%成功率)。2、相信他",50,awa);
cin>>n;cl;
if (n==2)
{
p("你放过了他。",50,awa);
p("你的身份现在为:守卫杀手",50,qwq);
k="gkiller";
//xh6();
}
srand(time(NULL));
int t=rand()%10;
if (t==2||t==8||t==7)
{
p("你没能成功的杀掉他!",50,qwq);
goto p2;
}
++kill;
p("你认为他的话不可信,于是你把它揍了下去。",50,awa);
p("随后,你猛地一回头,发现了一个传送门,你选择:",50,awa);
p("1、跳下去。2、有危险,还是别跳了吧。",50,awa);
cin>>n;cl;
if (n==2)
{
p("你回头,却被飞来的箭射杀了",50,qwq);cl;
goto p2;
}
p("你跳了进去。",50,awa);
if (kill==2) cd1();
else
p("你感到内心开始颤抖,或许,你到底是不是杀手呢?",50,qwq);cl;
p("进入抉择阶段,10%概率回到人类,80%变成勇者,10%变成守卫",50,qwq);cl;
srand(time(NULL));
int t1=rand()%10;
if (t1==5)
{
p("事实证明,你其实还是一个人类!",50,awa);cl;
p("你的身份现在为:人类!",50,qwq);
k="human";
xh1();
}
if (t1==3)
{
p("实际上,你并不想杀人,相反,你还想去保护别人",50,awa);cl;
p("你的身份现在为:守卫",50,qwq);
k="guardian";
xh4();
}
p("看来,你确实能力非凡。。。。。。",50,awa);
p("你的身份现在为:暗杀者",50,qwq);
k="darkkiller";
//xh5();
}
return;
}
void cd1()
{
p("恭喜你,触发彩蛋结局!",50,qwq);cl;
p("你的最终身份为: 杀戮神!",50,qwq);
p("触发条件:在身份为杀手时杀掉所有的人!",50,qwq);
p("循环结束,你打破了循环。",50,qwq);
p("恭喜达成彩蛋结局1!",50,qwq);cl;
cdj1=true;
panding();
}
void xh3()
{
while(k=="helper")
{
p("第三循环",50,qwq);cl;
p("今天是3月18日,你如往常一般起了床,吃过不错的早餐",50,awa);
p("你准备出门了,哪知,门外的东西并不寻常。。。。。。",50,awa);
p("门口有一堆泥土,背后还传来了阵阵响声",50,awa);cl;
p("你赶忙躲到泥土后面,看到一个奇怪的身影向着一个熟睡的人跑了过去,并暗暗潜藏",50,awa);
p("于是,你决定:1、拯救那个人 2、置之不理",50,awa);
cin>>n;cl;
if (n==2)
{
p("你眼睁睁看着那个人起来,走出门外,感到奇怪的回头,死于神秘人的刀下",50,awa);
p("你的内心也遭到了打击。这种心情,促使你也加入了神秘人。。。。。。",50,awa);
p("你的身份现在为:杀手!",50,qwq);cl;
k="killer";
xh2();
}
p("你在土堆上放了一个告示牌,写上:“不要回头!!!”",50,awa);
p("随后,那人醒了,看到了这个告示牌,决定不回头,于是,你选择:",50,awa);
p("1、拿出一个蛋来勾引他。2、让他自生自灭吧,看他造化",50,awa);
cin>>n;cl;
if (n==2)
{
p("你被那个人跟过来,杀掉了",50,awa);
p("你的身份现在为:人类!",50,qwq);cl;
xh1();
}
if (flaghelper==false)
{
p("营救失败了!",50,awa);
p("你的身份现在为:人类!",50,qwq);cl;
xh1();
}
p("你继续勾引着,来到了一个奇怪的地方,你看了看指示牌,写着:生命之树",50,awa);
p("你利用生命之树周围旋转的楼梯爬了上去,于是,那个人也紧跟着",50,awa);
p("经过一段时间的攀爬,你来到了顶端,那个人就在后方不远,他快步前行,来到你身边",50,qwq);cl;
p("那个人对你说:你是谁,在这里干什么?",50,awa);
if (!helperfalse)
{
p("请选择:1、告诉。。。真相?",50,awa);
cin>>n;cl;
p("没想到,那个人不但不理会,还直接把你打了下去。。。。。。",50,qwq);cl;
false1();
}
else
{
p("请选择:1、告诉。。。真相?2、算了,跳下去!",50,qwq);
cin>>n;cl;
if (n==1)
{
p("没想到,那个人不但不理会,还直接把你打了下去。。。。。。",50,qwq);cl;
false1();
}
else
{
srand(time(NULL));
int t=rand()%100;
if (t==24) cd2();
true1();
}
}
}
}
void false1()
{
p("恭喜你,达成假结局!",50,awa);
p("请不要灰心,还有很多等着你去探索呢!",50,qwq);cl;
p("你的身份现在为:人类!",50,qwq);cl;
k="human";
helperfalse=true;
xh1();
}
void true1()
{
p("你毅然决然的跳了下去,但出乎你意料的是:底下有一片水塘!你不偏不倚的掉在水塘中。。。。。。",50,qwq);cl;
p("恭喜你,达成真结局!",50,qwq);cl;
p("你的身份为:救兵!",50,awa);cl;
zj1=true;
panding();
}
void cd2()
{
p("你掉了下去,可是,下面突然生成了一个虫洞!你被吸了进去。。。。。。",50,qwq);cl;
p("伴随一阵眩晕,你掉在了地上。",50,awa);
p("面前,是两个人在说话:",50,awa);cl;
p("A:不是,我就是个演员,就演一个人类都这么艰难= =",50,awa);
p("B:切,我当杀手的比你难多了啊!",50,awa);
p("你清醒了过来,接了一句:“我呢? ”",50,awa);
p("你们一起开心的笑了。",50,qwq);cl;
p("恭喜你,达成彩蛋结局,同时,这是完美的结局之一!",50,awa);
p("你的最终身份为:救世神!",50,qwq);
p("这个结局的达成方式:跳下去的时候1%的几率达成!",50,qwq);cl;
p("恭喜你,拥有欧皇气息!也恭喜你,达成彩蛋结局2!",50,qwq);cl;
panding();
}
void xh4()
{
int Guard=0;
while(k=="guardian")
{
p("今天是3月18日,你如往常一般起了床,吃过不错的早餐",50,awa);
p("你准备出门了,哪知,门外的东西并不寻常。。。。。。",50,awa);
p("你看到一个人正在被另一个人追杀,而前面又有一个人在吸引着。",50,qwq);cl;
p("你决定:1、守护被追杀的人。2、守护追杀的那个人",50,awa);
cin>>n;cl;
if (n==2)
{
++Guard;
if (Guard>=5)
{
srand(time(NULL));
int t=rand()%20;
if (t==17) cd3();
}
p("你将你的能力倾注于那个人身上,但是,有一股神秘的力量,将你的能力尽数反弹,使你失去了能力!",50,awa);
p("你的身份现在为:人类!",50,awa);
k="human";cl;
xh1();
}
p("你守护了被追杀的人。",50,awa);cl;
p("你看见他一步一步被一个神秘人带上了生命之树,于是,你决定",50,awa);
p("1、告诉。。。真相(你是守卫,可以通过心灵沟通)?2、算了,静观其变",50,awa);
cin>>n;cl;
if (n==1)
{
p("你告诉了他真相,于是他挥剑,将那个神秘人打落悬崖。",50,qwq);cl;
p("你的身份现在为:救兵!",50,awa);
k="helper";cl;
xh3();
}
normal();
}
}
void cd3()
{
p("你将你的能力倾注于那个人身上,但是,有一股神秘的力量,将你的能力尽数反弹",50,awa);
p("你被突如其来的变化震惊到了,随后被击倒在地。",50,awa);
p("过了很久。。。。。。",50,awa);
p("你:哇,头好晕,这里是哪里?",50,awa);
p("一个神秘的声音传来:红之秘境-无夜镇。",50,qwq);cl;
p("恭喜你,达成彩蛋结局:红之秘境-无夜镇!",50,awa);
p("这应该是最难达成的彩蛋结局了吧QAQ",50,awa);
p("达成方式:守卫守追杀者5次以上5%概率达成",50,awa);
p("能达成这个结局的人,真的是持之以恒呢",50,awa);
p("对了,悄悄告诉你,红之秘境是彩蛋中的彩蛋哦,具体是什么,嘿嘿嘿XD",50,qwq);cl;
p("你的最终身份是:守卫!",50,qwq);cl;
cdj3=true;
panding();
}
void normal()
{
p("那个人并没有将神秘人打落深渊,而是选择了放过他。这一切,被你尽收眼底。",50,qwq);cl;
p("恭喜达成:普通结局!",50,awa);
p("你的最终身份是:守卫!",50,qwq);
nor=true;
panding();
}
void panding()
{
if (cdj1&&zj1&&cdj2&&cdj3&&nor)
{
success=true;
p("你已经达成了所有的结局!",50,qwq);cl;
p("恭喜你打破了循环!",50,qwq);cl;
p("游戏结束!",50,100);cl;
Sleep(200);
p("哦吼,你居然还没走。",50,qwq);
p("那么。。。。。嘿嘿嘿",50,qwq);cl;
p("今天是3月19日,你如往常一般起了床,吃过不错的早餐",50,qwq);cl;
Sleep(350);
p("好了好了你居然还没有走。那么恭喜你,找到隐藏成就:耐心者!",50,qwq);
p("恭喜,你圆满完成了游戏!",50,qwq);cl;
for (int i=1;i<=100;++i)
{
Sleep(30);
s="\n";
if (i==30) s=" 如 果 你 永 远 被 困 在 了 3 月 1 8 日 \n";
if (i==40) s=" made by Gspxz \n";
if (i==50) s=" 原帖地址https://www.luogu.com.cn/blog/Allstars-We1lessz/3-yue-18-ri \n";
if (i==60) s=" 本游戏灵感来源:bilibili @GoldenEggs(思路) \n";
if (i==70) s=" 杜绝抄袭,支持原版,从我做起! \n";
if (i==85) s=" T H E E N D \n";
cout<<s;
}
main();
}
else
{
p("你还没有达成每个结局哦",50,awa);
p("将为您传送到第一循环",50,qwq);cl;
p("你的身份现在为:人类",50,qwq);cl;
k="human";
xh1();
}
return;
}