drzo
2019-06-01 15:21:04
#include <iostream>
#include <ctime>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
#include <queue>
#include <iomanip>
#include <cstdio>
#include <cstdlib>
#include <vector>
#include <stack>
#include <set>
#include <map>
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
#include<string.h>
#include<windows.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 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;
}
int main()
{
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;
return 0;
}}
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)
return 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";
return 0;
}
}
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");
system("pause");
return 0;
}