#include<bits/stdc++.h>
#include<windows.h>
#include<time.h>
#include<conio.h>
using namespace std;
int blood=100,attack=3; 
string weapon;
string aaa[101];
int nnn=10,mmm=10,k,x=1,y=1,mercy=10;
struct monster
{
	int s,a,b;
	string name;
}hudie;
void sout(string s){
	for(int i=0;i<s.size();i++){
		cout<<s[i];
		Sleep(40);
	}
	cout<<"\n";
	Sleep(100);
}
void jiazai(){
	printf("正在检查网络...\n0");
	Sleep(150);
	system("cls");
	printf("正在连接服务器...\n▊15");
	Sleep(210);
	system("cls");
	printf("加载资源中...\n█▎25");
	Sleep(180);
	system("cls");
	printf("加载资源中...\n██▊55");
	Sleep(120);
	system("cls");
	printf("加载资源中...\n███▌70");
	Sleep(90);
	system("cls");
	printf("加载资源中...\n███▊75");
	Sleep(450);
	system("cls");
	printf("正在加载剧情...\n████▌90");
	Sleep(120);
	system("cls");
	printf("正在加载怪兽...\n█████100");
	Sleep(300);
	system("cls");
	printf("正在进入新章节...\n█████100");
	Sleep(900);
	system("cls"); 
}
void SlowDisplay(char *p)
{
	system("cls");
	while(1)
	{
		if(*p!=0)
			printf("%c",*p++);
		else
			break;
	}
	system ("pause>nul");
}
void texiao()
{
	for(int i=1; i<=10; i++)
	{
		system("color 2f");
		Sleep(10);
		system("color 0f");
		Sleep(10);
	}
}
void out()
{
	int i,j;
	for(i=1;i<=nnn;i++)
	{
		for(j=0;j<=mmm;j++)
		{
			cout<<aaa[i][j]<<" ";
		}
		cout<<endl;
	}
	return;
}
void fight(monster x)
{
	cout<<"突然,";
	cout<<x.name;
	cout<<"朝你冲了过来!!!\n";
	system("pause");
	cout<<"是否战斗? 1.是 2.否\n";
	int q;
	cin>>q;
	if(q==1)
	{
		mercy--;
		while(blood>=0&&x.b>=0)
		{
			{
				bool flag=false; 
				cout<<"你的血:"<<blood<<endl<<x.name<<"的血:"<<x.b<<endl; 
				cout<<"1.攻击 2.闪避 3.特殊技能(暂未开发,请勿选3,否则默认为2)\n";
				int q;
				cin>>q;
				if(q==1)
				{
					if(rand()%100<x.s)
						cout<<"敌人闪开了!!!\n";
					else
					{
						
						cout<<"敌人被打中。。。\n";
						x.b-=attack;  
					}}
				else
				{
					
					cout<<"猜一个从1~10的数,3次机会,猜对即可闪避2回合。。。";
					int xxx=rand()%10+1;
					int yyy,c=0;
					while(yyy!=xxx&&c<3)
					{
						
						cin>>yyy;
						if(yyy>xxx)
						{
							
							cout<<"大了!!!";
						}
						if(yyy<xxx)
						{
							
							cout<<"小了!!!";
						} 
						c++;
					}
					if(yyy==xxx)
					{
						
						cout<<"闪避成功!!!\n";
						flag=true;
					} 
					else
					{
						cout<<"闪避失败!!!\n";
					}
				} 
				if(flag!=true)
				{
					
					cout<<"轮到敌人啦!!!\n";
					if(q==1) 
						blood-=x.a*2;
					else
						blood-=x.a;
					cout<<"你被打中。。。\n";
				}
			} 
		}
		if(blood<=0)
		{
			cout<<"you died!!!"<<endl;
			return;
		} 
		else
		{
			cout<<"you won!!!"<<endl;
			return;
		}
	}
	else
	{
		mercy+=2;
		cout<<"you escape!!!\n";
	}
}
bool judge(int x,int y)
{
	if(x<1||y<0)return 0;
	if(x>10||y>10)return 0;
	if(aaa[x][y]=='*')return 0;
	return 1;
}
void hazz(){
	srand(time(NULL));
	hudie.s=10;
	hudie.a=1;
	hudie.b=20;
	hudie.name="BUTTfly(蝴蝶)";
	int t;
	while(t!=1)
	{
		printf("你好,欢迎来到暗黑诅咒游戏第二季Pavris的封印,如果你没玩第一季,赶紧去玩一下,要不然,你根本看不懂剧情!!!\n");
		cout<<"主菜单:"<<endl;
		cout<<"》1.开始游戏《"<<endl<<"2.查看人物介绍"<<endl<<"3.查看更新日志"<<endl<<"4.查看新手攻略"<<endl<<"5.查看目录"<<endl;
		cin>>t;
		if(t==1)
			system("cls");
		else if(t==3)
		{
			SlowDisplay("0.0.2 更完第一章和第二章一半\n");
			SlowDisplay("0.0.3 更完前两章\n");
		}                    
		else if(t==4)
		{
			SlowDisplay("合理打怪,跟着剧情走即可。。。\n");
		}    
		else if(t==2)
		{
			SlowDisplay("你:Frisk Black,Rick Black的儿子,18岁中二病青年,父母都死了,由爷爷,奶奶养,根本不知道自己其实是个法师。\n");
			SlowDisplay("Crish:强大法师,打败了德沃拉,并封印了他,现任ZO国国王\n");
			SlowDisplay("shiys:ZO国忠臣,预言家,法力也很强。\n");
			SlowDisplay("Sean Moster:有着奇怪姓氏,有着神秘身世,你的好伙伴,跟Ivy是对龙凤胎。\n");
			SlowDisplay("Ivy Moster:Sean他妹妹。\n");
			SlowDisplay("Oliver Moster:龙凤胎的爷爷,性格古怪。\n");
			SlowDisplay("德利特:你邻居,中年人,警察,他女儿被法师杀害,于是他热衷于捕杀法师,对法师有着深仇大恨。\n");
			SlowDisplay("梅林:德利特儿子,20岁。\n");
			SlowDisplay("佩刀杀人狂:杀人不眨眼的魔头。\n");
			
		} 
		else if(t==5) 
		{
			SlowDisplay("第一章 坠落\n");
			SlowDisplay("第二章 地下世界\n");
			SlowDisplay("第三章 国王\n");
			SlowDisplay("第四章 水晶国决斗场\n");
			SlowDisplay("第五章 竹子国遗迹\n");
			SlowDisplay("第六章 圣骷髅教堂和水晶球\n");
			SlowDisplay("第七章 鬼屋逃生\n");
			SlowDisplay("第八章 ???\n");
			SlowDisplay("第九章 营救\n");
			SlowDisplay("第十章 最后一刻\n");
		}
		else
		{
			cout<<"ByeBye~"<<endl; 
		}
	}
	printf("文字游戏:暗黑诅咒第二季(The Curse Of Darkness And The Seal Of Pavris Black)\n");
	Sleep(1000);
	printf("出品人:drzo(teacherga)\n");
	Sleep(1000);
	printf("版本:0.0.3\n");
	Sleep(1000);
	system("pause");
	system("cls");
	jiazai(); 
	texiao();
	cout<<"查看剧情输1,否则跳过。"<<endl; 
	int tt;
	cin>>tt;
	if(tt==1)
	{
		SlowDisplay("话说世界上分为两个人种,法师和人类,在中世纪两个人种就走上了不同的路,法师建立了法师地下世界,有竹子国,水晶国和ZO村,后来德沃拉出现,灭了竹子国,后来德沃拉被封印,ZO村变为了ZO国,而打败德沃拉的勇士Crish成为了ZO国国王。\n");
		SlowDisplay("暗黑诅咒第一季所有剧情都发生在法师地下王国,而我们这一季的主人公将是一个地上的普通人类,也就是你,Frisk Black。\n");
		system("pause"); 
	} 
	jiazai();
	int q1;
	cout<<"现在请选择个武器:1.牙签 2.小石子 3.haobo8\n";
	cin>>q1;
	if(q1==1)
		weapon="牙签"; 
	else if(q1==2)
		weapon="小石子"; 
	else
		weapon="haobo8"; 
	
	SlowDisplay("drzo:很好,你现在武器选好了,还等什么,开始游戏吧!!!\n");
	cout<<"祝你们游戏愉快,输入1开始\n";
	int a;
	cin>>a;
	if(a==1)
	{
		SlowDisplay("第一章 坠落\n");
		SlowDisplay("先介绍一下角色:\n");
		SlowDisplay("Sean Moster:有着奇怪姓氏,有着神秘身世,你的好伙伴,跟Ivy是对龙凤胎。\n");
		SlowDisplay("Ivy Moster:Sean他妹妹。\n");
		SlowDisplay("Oliver Moster:龙凤胎的爷爷,性格古怪。\n");
		SlowDisplay("德利特:你邻居,中年人,警察,他女儿被法师杀害,于是他热衷于捕杀法师,对法师有着深仇大恨。你还一直记着那恐怖的一天,你亲眼见到德利特女儿被一个无形的手扔起10米高,被摔死,据说是法师干的,但从未找到凶手。。。\n");
		SlowDisplay("梅林:德利特儿子,20岁。\n");
		SlowDisplay("而你——Frisk Black是个普通高中生,你父母5年前都去世了,你爸爸Rick Black是个神秘的人,你从来都没有见到过他,你母亲总安抚你说他会回来的,但是他永远都没回来,你恨他,他就是个无用之人,甚至不爱自己儿子,导致你一直没有父爱,直到5年前你父母都死了,你悲痛万分,只能由你爷爷奶奶抚养。\n");
		SlowDisplay("你觉着你很普通,但真的如此吗?\n");
		system("pause");
		system("cls");
		SlowDisplay("上午十点 图书馆 状态:良好 武器:");
		cout<<weapon<<endl;
		
		SlowDisplay("你:tmd,作业实在太多了,老师是都在搞笑吗,我就想知道20张卷子2天怎么做完?!!\n");
		
		SlowDisplay("Ivy抱着一堆书从个书架后走出,她说:我看你该认真学习。。。\n");
		SlowDisplay("你想:像往常一样热爱学习。。。难道她从来没休息过吗?!\n");
		SlowDisplay("你自己发着牢骚,一边寻找文献资料,你想:这图书馆真tm大,连本书都找不到。。。\n");
		
		SlowDisplay("adsw来行走,*是书架,@是你,#是个神奇的东西: 按任意键继续。。。\n");
		int i,j;
		aaa[1]="*@*********";
		aaa[2]="*         *";
		aaa[3]="* * * * * *";
		aaa[4]="* * * * * *";
		aaa[5]="*         *";
		aaa[6]="* * * * * *";
		aaa[7]="* * * * * *";
		aaa[8]="* * * * * *";
		aaa[9]="*         *";
		aaa[10]="*********#*";
		out();
		char c;
		for(;;)
		{
			c=getch();
			system("cls");
			if(c=='w')
			{
				if(judge(x-1,y))
				{
					swap(aaa[x-1][y],aaa[x][y]);
					x--;
				}
			}
			if(c=='a')
			{
				if(judge(x,y-1))
				{
					swap(aaa[x][y-1],aaa[x][y]);
					y--;
				}
			}
			if(c=='s')
			{
				if(judge(x+1,y))
				{
					swap(aaa[x+1][y],aaa[x][y]);
					x++;
				}
			}
			if(c=='d')
			{
				if(judge(x,y+1))
				{
					swap(aaa[x][y+1],aaa[x][y]);
					y++;
				}
			}
			out();
			if(x==10&&y==9)
			{
				system("cls");
				Sleep(2000);
				getch();
				break;
			}
		}
		
		SlowDisplay("你慢慢走一个闪闪发光的东西,你发现是个普通的日记本,陈旧无比,封面都快要掉留下来,沾满灰尘,你拂去灰尘,只见上面画着个佩刀的符号,周围写着一圈大字:B L A C K,你好奇地翻开这本书,突然你的眼前一片白光,你感到这书开始剧烈发烫,你的手一不小心把这书丢在地上,这书一下子把地毯给烧焦了,你眼前仍白光一片,大量的光亮让你感到都快失明了。\n");
		
		SlowDisplay("sean(Ivy哥哥)走了过来:你在干什么啊,你爷爷喊你快回家吃午饭!\n");
		
		SlowDisplay("你立马收起来了书,你把所有刚刚的事情都告诉了Ivy和Sean,你们决定一起去你家研究一下那本书。。。\n");
		SlowDisplay("你们到了你卧室里头,你再次打开了那本书,这次书变得更烫,热的迫使你松开手使书掉到了地板上,立马地板烧开了个大洞,而且洞越来越深,黑森森的看不清底。。。\n");
		SlowDisplay("你:什么情况?!!   你往洞里喊了几声没有任何响应,突然白光再次在你眼前出现,你的背后有一双手把你推了下去,几声尖叫和几声哐当,你们坠落到了洞的底部!\n");
		
		SlowDisplay("第一章 完\n");
		jiazai();
		SlowDisplay("第二章 国王\n");
		SlowDisplay("你和兄妹两个一起落入深渊,落到洞底,里面空无一人十分黑暗而寂静,你在地上慢慢爬起,但疼痛感使你被迫再次摔倒在潮湿的地上,突然你摸到了一个东西,你一看,竟然是个人的头骨!你被吓得惊声尖叫,Sean和Ivy也被吓了一跳,原来你们站着的地上铺满了尸骸。。。你们在一个墓地里!\n");
		fight(hudie);
		if(blood<=0)
		SlowDisplay("你:哎呀,原来就是个蝴蝶,虚惊一场。。。\n");
		SlowDisplay("Ivy:咱们赶紧离开这里吧。。。我好怕~\n");
		SlowDisplay("话音刚落,一把飞刀从你脸旁飞过,你吓得连忙躲开,一个1米8左右的戴着人骨面具的男子从阴影里走出。。。\n");
		SlowDisplay("你:你。。。你是谁!?\n");
		SlowDisplay("???:...\n");
		SlowDisplay("你:快说你名字,否则我就不客气了!\n");
		SlowDisplay("???:...\n");
		SlowDisplay("???:...\n");
		SlowDisplay("突然你背后的飞刀回旋了回来,你需要快速闪避!!!\n");
		
		cout<<"猜一个从1~10的数,3次机会,猜对即可闪避。。。";
		int xxx=rand()%10+1;
		int yyy,cc=0;
		while(yyy!=xxx&&cc<3)
		{
			
			cin>>yyy;
			if(yyy>xxx)
			{
				
				cout<<"大了!!!";
			}
			if(yyy<xxx)
			{
				
				cout<<"小了!!!";
			} 
			cc++;
		}
		if(yyy==xxx)
		{
			
			cout<<"闪避成功!!!\n";
		} 
		else
		{
			cout<<"闪避失败!!!你死了!!!\n"; 
		}
		
	}
	
	SlowDisplay("你:大家快跑!!!\n");
	SlowDisplay("但是已经晚了,手持佩刀的人朝你们扑了过来,只听他用沙哑的声音默念道:就差一个灵魂了,我就能无敌了。。。\n");
	SlowDisplay("突然你背后飞来那本日记本,正中面具男,把他砸晕在地,你们头也不回地跑掉了。。。\n");
	system("pause");
	
	SlowDisplay("下午五点 地下 状态:疲劳 武器:");
	cout<<weapon<<endl;
	SlowDisplay("你们不知跑了多长时间,直到你们跑到一条河旁。。。\n");
	SlowDisplay("你:让我理一下,首先我们在图书馆里拿到一本破日记本,然后在我卧室里烫了个洞直通地下,之后我们又不知为何掉了下去,就迎面遇上了个疯子杀人魔,最后我们发现这地下大得很,竟然地下连小溪都有,告诉我这一切都是梦。。。\n");
	SlowDisplay("Sean:我们现在应该想想怎么离开这里,快看!那边有人!!!\n");
	SlowDisplay("你:地下也有人?!\n");
	SlowDisplay("你想去跟那个人交流一下,问下路,但你发现那个人手持长刀,身穿盔甲,你想:这人怕是在演戏,这哪里是冷兵器时代?!\n");
	SlowDisplay("那人看到了你,眉头一皱,突然一条红光正射中你,你倒在地上无法动弹,之后你和Ivy和Sean都被绑了起来,扔进一个马车上,你自言自语道:莫非我穿越了?!怎么这个年代还有马车?!\n");
	SlowDisplay("Ivy哭着说:我明白了。。。\n");
	SlowDisplay("Sean害怕又焦急地问:你知道什么了?!!\n");
	SlowDisplay("Ivy:我们到了法师世界了,刚刚那个人就是法师,要不然他能把Frisk隔空打倒,而且我在书中读到,法师自从中世纪就消失不见,因为他们自己建了个世界自己生存,所以他们还保留中世纪习俗,而现在我们被一群法师抓走了!!!\n");
	SlowDisplay("第二章 完\n");
} 
int main(){
	int n=1; 
	string str,name;
	sout("工工工工工工工工工工工");
	sout("工    _     ______  工");
	sout("工   / \\    |_  _|  工");
	sout("工  / _ \\     ||    工"); 
	sout("工 / /_\\ \\    ||    工"); 
	sout("工/ /   \\ \\ |-  -|  工");
	sout("工工工工工工工工工工工");
	sout("欢迎来到AI智能对话!!!");
	cout<<"|------使用说明------|\n|    本AI十分智能    |\n|   原创:Xiatianyi   |\n|   改编:niuboran    |\n|    请加标点符号    |\n|   对话时请勿骂人   |\n|--------------------|\n";
	Sleep(500);
	sout("你叫什么名字?"); 
	cin>>name; 
	if(name.find("baron")!=-1||name.find("Baron")!=-1||name.find("夏添一")!=-1||name.find("xiatianyi")!=-1) {
		sout("你好主人,");
	}else{
		cout<<"你好,";
		sout(name);
	} 
	sout("请输入密码(本机密码默认666666,如有特殊密码请输入):");
	int mm;
	cin>>mm;
	if(mm==123456){
		sout("你是特工");
		sout("我是你的特工助理,你想问我什么?");
	}else{ 
		sout("我是AI自动聊天机器人,你想问我什么?");
	} 
	while(n<50){
		cin>>str;
		if(str.find("你好")!=-1){
			sout("你也好,");
			sout("除了咱俩谁都不好。");
			sout("不过你没有我好。(>_<)");
		}else if(str.find("伤心")!=-1||str.find("伤心!")!=-1){
			sout("我给你讲个笑话吧");
			cin>>str;
			if(str.find("好")!=-1||str.find("OK")!=-1||str.find("ok")!=-1){
				sout("你自己就是一个笑话!!!");
				n++;
			}else{
				sout("噢");
			}
		}else{
			if(str.find("代码")!=-1&&str.find("写")!=-1){
				sout("#include<bits/stdc++.h>");
				sout("using namespace std;");
				sout("int main(){");
				sout("    int n;");
				sout("    cin>>n;");
				cout<<"    cout<<\""<<str<<"\";\n";
				sout("    return 0;");
				sout("}");
				sout("以上为代码,仅供参考");
			}else if(str.find("你好")!=-1){
				sout("你也好,");
				sout("除了咱俩谁都不好。");
				sout("不过你没有我好。(>_<)");
			}else if(str.find("叫什么")!=-1||str.find("名字")!=-1){
				sout("你叫啥我就叫啥。");
				sout("什么?你没有名字?");
				sout("来认领无名氏啦!免费领养!"); 
			}else if(str.find("男的")!=-1||str.find("女的")!=-1||str.find("性别")!=-1){
				sout("偷偷告诉你,我是女的!");
				sout("让我猜猜你是男的女的,");
				sout("我知道了,你是沃尔玛塑料袋(没文化自己查去,当然也可以问我)"); 
			}else if(str.find("沃尔玛塑料袋")!=-1){
				sout("就不告诉你,就不告诉你!我有一个小秘密,就不告诉你,就不告诉你!(^_^)"); 
			}else if(str.find("会啥")!=-1){
				sout("我会很多东西,比如聊天、讲笑话、讲故事......");
			}else if(str.find("sb")!=-1||str.find("傻逼")!=-1){
				sout("就是你!!!");
			}else if(str.find("你妈")!=-1){
				sout("不准说脏话!!!");
			}else if(str.find("讲一个笑话")!=-1){
				sout("你自己就是一个笑话!!!");
			}else if(str.find("讲一个故事")!=-1){
				sout("从前有座山,山里有座庙,庙里有个老和尚,在讲故事,讲的什么呢?听:从前有座山,山里有座庙,庙里有个老和尚,在讲故事,......");                                                                             
			}else if(str.find("夏添一")!=-1&&str.find("大傻子")!=-1){
				sout("如果我说“是”,作者一定会把我给弄出bug!!!");                                                                             
			}else if(str.find("谢谢")!=-1&&str.find("你")!=-1){
				sout("也谢谢你,");
				sout("除了咱俩谁都不用谢。");
				sout("不过我不用谢谢你。(>_<)");
			}else if(str.find("1+1")!=-1&&str.find("=")!=-1){
				sout("思考中");
				sout("......");
				sout("你不会吗?");
				sout("还问我!!!");
			}else if(str.find("你是")!=-1&&str.find("人机")!=-1){
				sout("我只是人工智障");
				sout("可以说是人机的一部分");
			}else if(str.find("+")!=-1&&str.find("=?")!=-1){
				sout("就不告诉你,就不告诉你,我有一个小秘密,就不告诉你ψ(`?′)ψ");
			}else if(str.find("=?")!=-1){
				sout("就不告诉你,就不告诉你,我有一个小秘密,就不告诉你ψ(`?′)ψ");
			}else if(str.find("我们是什么关系")!=-1){
				sout("5 4 1 8 8");
			}else if(str.find("要玩黑暗诅咒第二季")!=-1){
				hazz();
			}else{
				sout("这个问题太难了,我不会!");
			}
		}
		sout("你还想问我什么?");
		n++; 
	}
	if(name=="baron"||name=="夏添一"||name.find("xiatianyi")!=-1||name.find("Baron")!=-1){
		sout("主人"); 
	}else{
		cout<<"@";
		sout(name); 
	}
	sout("我太累了等一下再聊天吧!");
	return 0;
}

0 条评论

目前还没有评论...

信息

ID
116
时间
1000ms
内存
256MiB
难度
8
标签
递交数
56
已通过
9
上传者