暂存1
2025-10-04 17:55:59
发布于:上海
改编作品 请和“暂存2”一同食用
#include <bits/stdc++.h>//初学者游戏作品,过于粗糙,勿喷 原作者:Blown sand
using namespace std;
int money=500,cha=0;//钱数,所选英雄
int lifebottle=0,TNT=0,yinhe=0;//道具数量
int ucha[105]={1,1,1,1,1,1,1,1,1};//表示解锁的英雄,1表示解锁,0表示没解锁
int work[105]={1,2,3,4,5,6,7,8,9,10,11};//表示任务,每个数表示一种任务
int w_win=0,w_qing=0;//统计各项杂项
int wujin=0,past1=0,lifeup=0,choice[5],atk=0,upbls[15];//无尽专用变量
int b0,b2,b4,b5,b6,b7,b8,b9,b10,b12;//史诗祝颂
int bscho=0;//首领训练专用变量
int msc=0,mscho=0,mld=0;//终末协响
int unt=0,lifeunt=0,untwait=0,untkill=0,k[5],tta=35,ttb=30,frag=0,R=0;//戮力同心
int skillgot[105];
int prop[105];
//在此处定义变量,就算没有初始化值,它们的值也为0。这里给它们初始化值只是为了看起来直观
void living();//函数的声明
void dework(int n){//清除第n个任务
for(int i=n-1;i<100;i++){
work[i]=work[i+1];
}
}
void chacheck(int c){
if(c==1)cout<<"张斌老师";
else if(c==2)cout<<"大黄";
else if(c==3)cout<<"黄金矿工";
else if(c==4)cout<<"星辰";
else if(c==5)cout<<"张天境";
else if(c==6)cout<<"杨凡";
else if(c==7)cout<<"'骑士'";
else if(c==8)cout<<"渡尘";
else if(c==9)cout<<"莱因";
return;
}
void skillcheck(int it){
if(it==1)cout<<"一字斩 ";
if(it==2)cout<<"劈砍 ";
if(it==3)cout<<"气切 ";
if(it==4)cout<<"岩崩斩 ";
if(it==5)cout<<"双冲拳 ";
if(it==6)cout<<"迎头痛击 ";
if(it==7)cout<<"背身连打 ";
if(it==8)cout<<"心流拳 ";
if(it==9)cout<<"污泥波 ";
if(it==10)cout<<"毒菱 ";
if(it==11)cout<<"巫毒娃娃 ";
if(it==12)cout<<"噩兆 ";
if(it==13)cout<<"祷言 ";
if(it==14)cout<<"流星群 ";
if(it==15)cout<<"过载 ";
if(it==16)cout<<"导电 ";
if(it==17)cout<<"急速充能 ";
if(it==18)cout<<"增强拳 ";
if(it==19)cout<<"尘暴 ";
if(it==20)cout<<"海妖之歌 ";
if(it==21)cout<<"磷火 ";
if(it==22)cout<<"冰点射击 ";
if(it==23)cout<<"流沙地狱 ";
if(it==24)cout<<"精神剖析 ";
if(it==25)cout<<"血河 ";
if(it==26)cout<<"焚恶 ";
if(it==27)cout<<"低温压缩 ";
if(it==28)cout<<"热熔 ";
if(it==29)cout<<"戏法 ";
if(it==30)cout<<"搏命 ";
if(it==31)cout<<"霜灭斩 ";
if(it==32)cout<<"冰风 ";
if(it==33)cout<<"急速折返 ";
if(it==34)cout<<"峰电位 ";
if(it==35)cout<<"超负荷 ";
return;
}
void msccho(){
do{
cout<<"请选择角色专属共鸣载体:"<<endl;
if(cha==1){
cout<<"1.夸人宝典合订本(盗版)--技能1伤害随回合数增加"<<endl;
cout<<"2.训练专用三折叠跑道--技能2额外回复生命值与旋律值"<<endl;
cin>>mscho;
}else if(cha==2){
cout<<"1.三年几何五年线代--技能1使攻击额外提高"<<endl;
cout<<"2.量子叠加的荤素包子--技能2、3、4在偶数回合额外释放一次"<<endl;
cin>>mscho;
}else if(cha==3){
cout<<"1.爆炸乃是艺术--技能2不消耗金矿且使用后回复旋律值"<<endl;
cout<<"2.捡拾裂隙中的矿山--技能3消耗金矿数不小于4时获得本次消耗的一半金矿"<<endl;
cin>>mscho;
}else if(cha==4){
cout<<"1.星辉流掩天幕--技能1会使本回合减伤效果增强"<<endl;
cout<<"2.哲思漫如无底深潭-精神上限增加至12,技能1获取的精神增加"<<endl;
cin>>mscho;
}else if(cha==5){
cout<<"1.奇袭!--每回合结束时追加一次伤害减少的技能1"<<endl;
cout<<"2.猎人的鹰羽檐帽--绝技:徒手开火会消耗所有弱点并造成额外伤害"<<endl;
cin>>mscho;
}else if(cha==6){
cout<<"1.以解构,以真理--每回合自动进行推理,能使用'科学推理'时立即触发"<<endl;
cout<<"2.苦痛,献与平凡中的荆棘--每回合消耗当前生命的10%并造成伤害"<<endl;
cin>>mscho;
}else if(cha==7){
cout<<"1.虚无铸就的西洋剑--每回合结束时都会使技能1伤害提升,使用技能1后重置"<<endl;
cout<<"2.相位逆反的幻想乡--荣誉共鸣上限提升,进入战斗时自动使用1次技能3"<<endl;
cin>>mscho;
}else if(cha==8){
cout<<"1.青云出岫,镜里乾坤--[云岫]的持续回合增加,镜中境被打破的概率降低"<<endl;
cout<<"2.晓云破妄,地辟天开--[转圜]的反击伤害增加且变为无条件触发"<<endl;
cin>>mscho;
}else if(cha==9){
cout<<"1.至高之术--技能1会为敌人附加[流血]效果"<<endl;
cout<<"2.炼金师的特制酒曲--'亲启佳酿'的蓄力时间减少"<<endl;
cin>>mscho;
}
}while(mscho==0||mscho>2);
}
void upbless(){
cout<<"你的魂灵从躯壳中剥离,古老的史诗在眼前展开--"<<endl;
int beneson=0,plus=0;
srand(time(NULL));
beneson=rand()%13;
for(int bls=1;bls<=2;bls++){
cout<<bls<<".";
while(upbls[beneson]==1||choice[1]==beneson){
beneson+=5;
if(beneson>12)beneson-=13;
}
if(beneson==0){
cout<<"'以太神息'埃忒里俄斯--我方角色进行任意行动后造成逐次提高的伤害,回合开始后重置"<<endl;
choice[bls]=0;
}else if(beneson==1){
cout<<"'金口神谕'克吕索斯托弥亚--每回合结束时附加本回合角色造成伤害的40%"<<endl;
choice[bls]=1;
}else if(beneson==2){
cout<<"'狮之征服'莱昂达玛斯--获得一次免死效果,廊层切换后刷新"<<endl;
choice[bls]=2;
}else if(beneson==3){
cout<<"'满月深眸'塞莱诺珀--战斗开始时我方角色获得'月茧',每回合受到伤害固定减少30,持续4回合"<<endl;
choice[bls]=3;
}else if(beneson==4){
cout<<"'应运而生'彭忒俄斯--每回合开始时获得一个随机道具效果"<<endl;
choice[bls]=4;
}else if(beneson==5){
cout<<"'幽夜预言'尼克塔斯--每回合结束时累积固定值'预言','预言'高于敌人生命时触发斩杀"<<endl;
choice[bls]=5;
}else if(beneson==6){
cout<<"'永恒星辉'阿斯忒里俄斯--战斗开始后获得可抵御总计100伤害的护盾"<<endl;
choice[bls]=6;
}else if(beneson==7){
cout<<"'缪斯颂歌'卡利俄佩--颂歌每回合攻击次数+1"<<endl;
choice[bls]=7;
}else if(beneson==8){
cout<<"'白昼礼赞'赫利俄多洛斯--第4回合后进入'白昼',每回合回复25生命"<<endl;
choice[bls]=8;
}else if(beneson==9){
cout<<"'潮汐律法'欧律诺墨--为我方角色提供交替变化的生命回复/额外伤害"<<endl;
choice[bls]=9;
}else if(beneson==10){
cout<<"'震雷连枷'克劳诺斯--回合结束时造成1~3次固定伤害"<<endl;
choice[bls]=10;
}else if(beneson==11){
cout<<"'驭马征服'伊波塔斯--每2回合使我方角色连续行动1次"<<endl;
choice[bls]=11;
}else if(beneson==12){
cout<<"'酒神狂欢'阿伽薇--战斗开始时获得4层'醉意',回合结束时每拥有1层'醉意'附加本回合角色造成伤害的30%并使'醉意'-1"<<endl;
choice[bls]=12;
}
}
int xz=0;
do{
cin>>xz;
if(xz!=1&&xz!=2){
cout<<"请重新输入。"<<endl;
}
}while(xz!=1&&xz!=2);
if(choice[xz]==0)upbls[0]=1;
if(choice[xz]==1)upbls[1]=1;
if(choice[xz]==2)upbls[2]=1;
if(choice[xz]==3)upbls[3]=1;
if(choice[xz]==4)upbls[4]=1;
if(choice[xz]==5)upbls[5]=1;
if(choice[xz]==6)upbls[6]=1;
if(choice[xz]==7)upbls[7]=1;
if(choice[xz]==8)upbls[8]=1;
if(choice[xz]==9)upbls[9]=1;
if(choice[xz]==10)upbls[10]=1;
if(choice[xz]==11)upbls[11]=1;
if(choice[xz]==12)upbls[12]=1;
choice[1]=-1;
choice[2]=-1;
system("cls");
}
void blessing(){
if(wujin==5||wujin==10||wujin==13){
upbless();
return;
}
cout<<"廊中响起悠远的祝颂..."<<endl;
int beneson=0,plus=0;
srand(time(NULL));
beneson=rand()%8;
plus=(money+1)%7;
for(int bls=1;bls<=2;bls++){
cout<<bls<<".";
beneson+=plus;
if(beneson>7)beneson-=7;
if(beneson==0){
cout<<"胜利生命自动回复+10 ";
choice[bls]=0;
}else if(beneson==1){
cout<<"生命回复20 ";
choice[bls]=1;
}else if(beneson==2){
cout<<"生命回复30 ";
choice[bls]=2;
}else if(beneson==3){
cout<<"颂歌伤害+5 ";
choice[bls]=3;
}else if(beneson==4){
cout<<"额外获得50钱 ";
choice[bls]=4;
}else if(beneson==5){
cout<<"额外获得75钱 ";
choice[bls]=5;
}else if(beneson==6){
cout<<"生命回复40 ";
choice[bls]=6;
}else if(beneson==7){
cout<<"胜利生命自动回复+15 ";
choice[bls]=7;
}
}
cout<<endl;
int xz=0;
cin>>xz;
if(choice[xz]==0)lifeup+=10;
if(choice[xz]==1)past1+=20;
if(choice[xz]==2)past1+=30;
if(choice[xz]==3)atk+=5;
if(choice[xz]==4)money+=50;
if(choice[xz]==5)money+=75;
if(choice[xz]==6)past1+=40;
if(choice[xz]==7)lifeup+=15;
system("cls");
}
void account(int life1,int life2,int turn){
if(life2>0){
cout<<"你的意识渐渐消散,倒在了光明前的最后一级阶梯..."<<endl;
money+=100;
return;
}
cout<<"历经"<<turn<<"回合的鏖战,你终于迈向了光明..."<<endl<<"你的身侧,伫立着:"<<endl;
for(int i=0;i<13;i++){
if(upbls[i]==1&&i==0)cout<<"'以太神息'埃忒里俄斯"<<endl;
if(upbls[i]==1&&i==1)cout<<"'金口神谕'克吕索斯托弥亚"<<endl;
if(upbls[i]==1&&i==2)cout<<"'狮之征服'莱昂达玛斯"<<endl;
if(upbls[i]==1&&i==3)cout<<"'满月深眸'塞莱诺珀"<<endl;
if(upbls[i]==1&&i==4)cout<<"'应运而生'彭忒俄斯"<<endl;
if(upbls[i]==1&&i==5)cout<<"'幽夜预言'尼克塔斯"<<endl;
if(upbls[i]==1&&i==6)cout<<"'永恒星辉'阿斯忒里俄斯"<<endl;
if(upbls[i]==1&&i==7)cout<<"'缪斯颂歌'卡利俄佩"<<endl;
if(upbls[i]==1&&i==8)cout<<"'白昼礼赞'赫利俄多洛斯"<<endl;
if(upbls[i]==1&&i==9)cout<<"'潮汐律法'欧律诺墨"<<endl;
if(upbls[i]==1&&i==10)cout<<"'震雷连枷'克劳诺斯"<<endl;
if(upbls[i]==1&&i==11)cout<<"'驭马征服'伊波塔斯"<<endl;
if(upbls[i]==1&&i==12)cout<<"'酒神狂欢'阿伽薇"<<endl;
}
cout<<"带着祂们的意志,继续前行吧..."<<endl;
money+=200;
return;
}
void itemcho(){
int it=0;
srand(time(NULL));
it=rand()%2;
memset(k,0,sizeof(k));
int numb=1;
while(numb<=3){
cout<<numb<<".";
it++;
it%=2;
if(it==1){
it=rand()%tta;
it++;
while(skillgot[1]==it||skillgot[2]==it||skillgot[3]==it||skillgot[4]==it||it==k[1]||it==k[2]){
it+=rand()%tta;
it++;
if(it>tta)it-=tta;
}
k[numb]=it;
cout<<"[SK"<<it<<"]";
skillcheck(it);
}else{
it=rand()%ttb;
it++;
while(it<9&&prop[it]==1||it>12&&prop[it]==1||it==k[1]-100||it==k[2]-100){
it+=rand()%ttb;
it++;
if(it>ttb)it-=ttb;
}
k[numb]=it+100;
cout<<"[PR"<<it<<"]";
if(it==1)cout<<"城垣-后援出场时回复生命 ";
if(it==2)cout<<"盘曲号角-场上角色倒地时后援回复生命 ";
if(it==3)cout<<"深暗号角-场上角色倒地时造成伤害 ";
if(it==4)cout<<"锋锐之刃-切割类技能机伤害提高 ";
if(it==5)cout<<"钢制指虎-格斗类技能机伤害提高 ";
if(it==6)cout<<"腐蚀液-中毒持续回合增加 ";
if(it==7)cout<<"嫁接之手-后援受到的生命回复效果额外作用于场上角色 ";
if(it==8)cout<<"蔓生之手-后援每回合自动回复的生命增加 ";
if(it==9)cout<<"猎逐之证-初始物攻大幅提高 ";
if(it==10)cout<<"烈阳之证-初始特攻大幅提高 ";
if(it==11)cout<<"历战之证-初始物攻与特攻提高 ";
if(it==12)cout<<"远谋之证-造成的持续伤害大幅提高 ";
if(it==13)cout<<"扬沙机-战斗开始时制造[尘暴] ";
if(it==14)cout<<"定心石-初始物攻与特攻大幅提高且物攻与特攻在战斗开始后不会变化 ";
if(it==15)cout<<"影中刃-切割类技能机有概率附加[流血]状态 ";
if(it==16)cout<<"沙鳞-[尘暴]不会对场上角色造成伤害 ";
if(it==17)cout<<"破竹势-连击类技能达到最大命中次数时有概率令敌人畏缩 ";
if(it==18)cout<<"威压场-敌人畏缩的概率提高 ";
if(it==19)cout<<"狱门之手-场上角色生命降低时会触发后援的自动回复生命 ";
if(it==20)cout<<"冰髓-处于[冻结]状态的敌人每回合受到额外伤害 ";
if(it==21)cout<<"冬星矢-战斗开始时使敌人的冻结抗性降低 ";
if(it==22)cout<<"折钢号角-场上角色倒地时物攻提高且有概率造成畏缩 ";
if(it==23)cout<<"严霜号角-场上角色倒地时特攻提高且有概率造成冻结 ";
if(it==24)cout<<"藏锋-初始不带有附加效果的技能机伤害提高 ";
if(it==25)cout<<"深海蓝调-初始特攻大幅提高但场上角色倒地时特攻降低 ";
if(it==26)cout<<"荒原摇滚-初始物攻大幅提高但场上角色倒地时物攻降低 ";
if(it==27)cout<<"留声机-[深海蓝调]与[荒原摇滚]的增益提高且负面效果不再触发 ";
if(it==28)cout<<"焰色火花-[灼烧]伤害会受特攻影响 ";
if(it==29)cout<<"血宴金杯-场上角色生命上限提高 ";
if(it==30)cout<<"血宴灯盏-后援生命上限降低且溢出的生命回复效果会作用于场上角色 ";
}
cout<<endl;
numb++;
}
return;
}
void skillexchange(int skcho){
cout<<"请选择要替换的技能机:"<<endl;
int i=1;
for(i=1;i<=4;i++){
cout<<i<<".";
int it=skillgot[i];
skillcheck(it);
}
cout<<"5.放弃替换"<<endl;
do{
cin>>i;
if(i<1||i>5)cout<<"请重新输入。"<<endl;
}while(i<1||i>5);
if(i==5) return;
skillgot[i]=skcho;
return;
}
void shop(){
cout<<"生命回复:[20] 技能机:[30] 道具:[40]"<<endl;
for(int i=1;i<=3;i++){
cout<<"当前拟似碎片数:"<<frag<<endl;
cout<<"请选择购买物("<<i<<"/3):"<<endl;
itemcho();
cout<<"4.场上角色生命回复20点"<<endl<<"5.后援生命回复30点"<<endl<<"6.放弃购买"<<endl;
int itcho=0;
do{
cin>>itcho;
if(itcho==6)break;
if(itcho==4){
if(frag>=20){
cout<<"购买成功。"<<endl;
past1+=20;
frag-=20;
}else{
itcho=0;
}
}else if(itcho==5){
if(frag>=20){
cout<<"购买成功。"<<endl;
lifeunt+=30;
frag-=20;
}else{
itcho=0;
}
}else if(k[itcho]<=100){
if(frag>=30){
cout<<"购买成功。"<<endl;
frag-=30;
}else{
itcho=0;
}
}else{
if(frag>=40){
cout<<"购买成功。"<<endl;
frag-=40;
}
else{
itcho=0;
}
}
if(itcho==1||itcho==2||itcho==3){
if(k[itcho]<=100){
if(skillgot[4]==0){
skillgot[4]=k[itcho];
if(skillgot[3]==0){
skillgot[4]=0;
skillgot[3]=k[itcho];
if(skillgot[2]==0){
skillgot[3]=0;
skillgot[2]=k[itcho];
}
}
}
else{
skillexchange(k[itcho]);
}
}
else prop[k[itcho]-100]=1;
}
if(itcho<=0||itcho>6)cout<<"请重新输入。"<<endl;
}while(itcho<=0||itcho>6);
}
system("cls");
return;
}
void emgc(int p){
if(p==1){
int _in;
cout<<"[月圆之祭]";
cout<<endl<<"你听到那鼓声了吗?他们又在准备了...今夜月圆,别靠近后山的祭坛。";
cin>>_in;
cout<<endl<<"等等,你袖口怎么沾着祭坛的香灰?";
cin>>_in;
cout<<endl<<"嘘...它来了,快闭眼!无论听到什么都不能抬头!";
cout<<endl<<"1.紧闭双眼 2.悄悄睁开"<<endl;
do{
cin>>_in;
if(_in<1||_in>2)cout<<"请重新输入。"<<endl;
}while(_in<1||_in>2);
if(_in==1){
cout<<endl<<"天亮了...你居然没事?那、那明年月圆,要一起守夜吗?";
cin>>_in;
cout<<endl<<"(获得10拟似碎片)"<<endl;
frag+=10;
cin>>_in;
}else if(_in==2){
cout<<endl<<"澄澈的月光盈满祭坛,尽管它本不应在这里。你伸出手,试图触碰祭器...";
cin>>_in;
cout<<endl<<"(后援失去全部生命值 获得 血宴金杯 血宴灯盏)"<<endl;
lifeunt=0;
prop[29]=1;
prop[30]=1;
cin>>_in;
}
}
if(p==2){
int _in;
cout<<"[拾星客]";
cout<<endl<<"朋友,看见沙滩上那些亮晶晶的碎片没?都是昨夜流星雨落下的星屑。";
cin>>_in;
cout<<endl<<"挑有缘的收着吧,虽然不比月亮耀眼...";
cin>>_in;
cout<<endl<<"但放在枕边,或许能梦到云海上的银河。";
cout<<endl<<"1.收下 2.婉拒"<<endl;
do{
cin>>_in;
if(_in<1||_in>2)cout<<"请重新输入。"<<endl;
}while(_in<1||_in>2);
if(_in==1){
cout<<endl<<"(获得30拟似碎片)"<<endl;
frag+=30;
cin>>_in;
}else if(_in==2){
cout<<endl<<"好吧...那我们有缘再会。";
cin>>_in;
}
}
if(p==3){
int _in;
cout<<"[广告商]";
cout<<endl<<"你手一滑,点进了'代理商入驻'。";
cin>>_in;
cout<<endl<<"--等等,这保证金数字是不是少了个零?";
cin>>_in;
cout<<endl<<"那么,来都来了,你准备投放--";
cout<<endl<<"1.游戏广告 2.酒水广告 3.拟似碎片广告"<<endl;
do{
cin>>_in;
if(_in<1||_in>3)cout<<"请重新输入。"<<endl;
}while(_in<1||_in>3);
if(_in==1){
cout<<endl<<"你宣传的游戏不温不火...";
cin>>_in;
cout<<endl<<"(获得10拟似碎片)"<<endl;
frag+=10;
cin>>_in;
}else if(_in==2){
cout<<endl<<"很遗憾,你投放广告的地方...禁止饮酒。";
cin>>_in;
cout<<endl<<"你狠亏一笔,记得下次做好市场调研。";
cin>>_in;
cout<<endl<<"(失去所有拟似碎片)"<<endl;
frag=0;
cin>>_in;
}else if(_in==3){
cout<<endl<<"呃...你成为了拟似碎片的独家代理商,恭喜!";
cin>>_in;
cout<<endl<<"但是,真的有人会买这东西吗?";
cin>>_in;
cout<<endl<<"(获得50拟似碎片)"<<endl;
frag+=50;
cin>>_in;
}
}
system("cls");
return;
}
void game(){
if(wujin<=1&&untkill<1){//判断无尽
b5=0;
b6=0;
b12=0;
cha=0;
cout << "欢迎来到AC荣耀,请选择你的英雄。" << endl;
cout << "输入:1.张斌老师 2.大黄";
if(ucha[2]==1)cout << " 3.黄金矿工";
if(ucha[3]==1)cout << " 4.星辰";
if(ucha[4]==1)cout << " 5.张天境";
if(ucha[5]==1)cout << " 6.杨凡";
if(ucha[6]==1)cout << " 7.'骑士'";
if(ucha[7]==1)cout << " 8.渡尘";
if(ucha[8]==1)cout << " 9.莱茵";
cout << endl;
do{//这里的do-while循环是为了让玩家在输入错误时能够再次执行输入的代码,输入正确才继续。
int o1;
cin >> o1;
switch(o1){
case 1:cha=1;break;
case 2:cha=2;break;
case 3:if(ucha[2]==1){cha=3;}else{cha=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
case 4:if(ucha[3]==1){cha=4;}else{cha=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
case 5:if(ucha[4]==1){cha=5;}else{cha=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
case 6:if(ucha[5]==1){cha=6;}else{cha=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
case 7:if(ucha[6]==1){cha=7;}else{cha=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
case 8:if(ucha[7]==1){cha=8;}else{cha=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
case 9:if(ucha[8]==1){cha=9;}else{cha=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
default:cout << "你没有这个英雄。请重新输入。"<< endl;break;
}
}while(cha<1||cha>9);
if(unt==-1){
cout << "请选择你的后援。" << endl;
cout << "输入:1.张斌老师 2.大黄";
if(ucha[2]==1)cout << " 3.黄金矿工";
if(ucha[3]==1)cout << " 4.星辰";
if(ucha[4]==1)cout << " 5.张天境";
if(ucha[5]==1)cout << " 6.杨凡";
if(ucha[6]==1)cout << " 7.'骑士'";
if(ucha[7]==1)cout << " 8.渡尘";
if(ucha[8]==1)cout << " 9.莱茵";
cout << endl;
do{//这里的do-while循环是为了让玩家在输入错误时能够再次执行输入的代码,输入正确才继续。
int o1;
cin >> o1;
if(o1==cha){
o1=0;
}
switch(o1){
case 1:unt=1;break;
case 2:unt=2;break;
case 3:if(ucha[2]==1){unt=3;}else{unt=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
case 4:if(ucha[3]==1){unt=4;}else{unt=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
case 5:if(ucha[4]==1){unt=5;}else{unt=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
case 6:if(ucha[5]==1){unt=6;}else{unt=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
case 7:if(ucha[6]==1){unt=7;}else{unt=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
case 8:if(ucha[7]==1){unt=8;}else{unt=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
case 9:if(ucha[8]==1){unt=9;}else{unt=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
default:cout << "请重新输入。"<< endl;break;
}
}while(unt<1||unt>9);
cout<<"请选择[模拟]的时间:"<<endl;
cout<<"1.遗尘徘徊的往昔"<<endl;
cout<<"2.枷锁困囿的此刻"<<endl;
cout<<"3.前路迷离的未来"<<endl;
do{
int o1;
cin>>o1;
if(o1<1||o1>3)cout<<"请重新输入。"<<endl;
R=o1;
}while(R<1||R>3);
lifeunt=100;
if(unt==2)lifeunt=140;
if(unt==3)lifeunt=90;
if(unt==5||unt==7||unt==9)lifeunt=120;
skillgot[1]=1;
for(int i=1;i<=5-R;i++){
cout<<"请选择初始持有物("<<i<<"/"<<5-R<<"):"<<endl;
itemcho();
int itcho=0;
do{
cin>>itcho;
if(itcho==1||itcho==2||itcho==3){
if(k[itcho]<=100){
skillgot[3]=k[itcho];
if(skillgot[2]==0){
skillgot[3]=0;
skillgot[2]=k[itcho];
}
}
else prop[k[itcho]-100]=1;
}
else cout<<"请重新输入。"<<endl;
}while(itcho<=0||itcho>3);
}
}
system("cls");//这个东西是我从书上学的黑科技,它可以清除全屏
if(cha==1)cout << "你选择了张斌老师作为你的英雄,初始生命值为100。"<< endl;
else if(cha==2)cout << "你选择了大黄作为你的英雄,初始生命值为140。"<< endl;
else if(cha==3)cout << "你选择了黄金矿工作为你的英雄,初始生命值为90。"<< endl;
else if(cha==4)cout << "你选择了星辰作为你的英雄,初始生命值为100。"<< endl;
else if(cha==5)cout << "你选择了张天境作为你的英雄,初始生命值为120。"<< endl;
else if(cha==6)cout << "你选择了杨凡作为你的英雄,初始生命值为100。"<< endl;
else if(cha==7)cout << "你选择了'骑士'作为你的英雄,初始生命值为120。"<< endl;
else if(cha==8)cout << "你选择了渡尘作为你的英雄,初始生命值为100。"<< endl;
else if(cha==9)cout << "你选择了莱茵作为你的英雄,初始生命值为120。"<< endl;
}else if(wujin) cout<<"你踏入了第"<<wujin<<"道回廊。"<<endl;
else if(unt) cout<<"你们合力打开第"<<untkill+1<<"扇拟似之门。"<<endl;
if(untkill%10==9){
shop();
untkill++;
cout<<"你们合力打开第"<<untkill+1<<"扇拟似之门。"<<endl;
}
if(untkill%3==2){
int p3=0;
srand(time(NULL));
p3=rand()%3;
emgc(p3+1);
untkill++;
cout<<"你们合力打开第"<<untkill+1<<"扇拟似之门。"<<endl;
}
if(msc==1){
msccho();
}
if(upbls[2]==1)b2=1;//重置免死
if(upbls[5]==1)b5=1;//重置预言
if(upbls[6]==1)b6=100;//重置护盾
if(upbls[12]==1)b12=4;//重置醉意
cout << "对手的身影逐渐显现..." << endl;
int p2=0;
srand(time(NULL));
p2=rand()%8;
if(bscho==1||wujin==13){
p2=rand()%2;
p2+=100;//首领特判
}
if(msc==1){
p2=-1;//终末
}
if(p2==0)cout << "帷幕揭晓,你的对手是皮卡丘。" << endl;
else if(p2==1)cout << "帷幕揭晓,你的对手是@哥。" << endl;
else if(p2==2)cout << "帷幕揭晓,你的对手是美西螈。" << endl;
else if(p2==3)cout << "帷幕揭晓,你的对手是尉官。" << endl;
else if(p2==4)cout <<"帷幕揭晓,你的对手是神父。"<<endl;
else if(p2==5)cout <<"帷幕揭晓,你的对手是群生穴兽。"<<endl;
else if(p2==6)cout <<"帷幕揭晓,你的对手是灯影鸟。"<<endl;
else if(p2==7)cout <<"帷幕揭晓,你的对手是流浪猎手。"<<endl;
//普通敌人
if(p2==100){
cout<<endl<<"啊,罪恶之火,在塔尔塔罗斯的深渊中燃烧,"<<endl<<"你攥紧死亡的诏令,将凡魂拖入永宵。"<<endl;
cout<<"为渎神者的颅骨加冕灼热的荆棘,"<<endl<<"倪克斯的泪在坠落,冥翼掀起暗潮。"<<endl<<endl;
}else if(p2==101){
cout<<endl<<"愤怒是熔岩淬炼的烙印,于烬灭中灼烧天幕;"<<endl<<"悲伤如浸透月光的残梦,沉入骸骨铸就的幽谷。"<<endl;
cout<<"直到欢愉撕碎腐朽的蛛网——狂乱的竖琴迸发金芒!"<<endl<<"酒神的葡萄藤缠绕琴弦,光与笑在血泪之上绽放!"<<endl<<endl;
}
//首领敌人
if(p2==-1){
cout<<"二律背反的歌者从'终末'的回响中走出。"<<endl;
}
int event[200];
memset(event,0,sizeof(event));
int life1=100,life2=100,past2=0,fright=0,poison=0,lix=0,sand=0,fire=0,ice=0,weak_ice=prop[21],
atkp=prop[9]*2+prop[11]+prop[14]*2+prop[26]*2*(1+(prop[27]==1)),
atks=prop[10]*2+prop[11]+prop[14]*2+prop[25]*2*(1+(prop[27]==1)),
atkl=prop[12]*2,
atk1=100,//大黄
gold=0,boom=2,//黄金矿工
spirit=0,r_hrt=0,//星辰
bullet=0,weakness=0,death_battle=0,//张天境
heart=0,feel=0,y_hidden=0,//杨凡
xc=0,kill=10,gm=0,kpls=0,gmbl=0,//骑士
wait=0,
power9999=0,//美西螈
guard=0,harm=0,//尉官
mdyhv=1,//神父
plume=0,//灯影鸟
shot=0,//猎手
tem=0,//boss1
bs2=2,tiemu=0,//boss2
lun=1,m1=0,m2=0,m3=0,m4=0,m5=0,m6=0,//歌者
cld=0,wnd=0,mir=0,//渡尘
winea=-1,wineb=-1,//莱茵
xiang=0;//投降不会得到任何奖励
if(cha==7&&mscho==2)gm=1;
if(cha==2)life1=140;
if(cha==3)life1=90;
if(cha==5||cha==7||cha==9)life1=120;
if(p2==1||p2==3||p2==5)life2=120;
int turn=0;//这是一个计轮器
int allatk1,allatk2;//这是两个伤害记录
if(wujin>1){//生命继承
life1=past1+10+lifeup;
life2=(life2-10+10*wujin)*(1-0.1+0.1*wujin);
}
if(unt&&untkill){
life2+=(untkill+1)*(4+R*3);
}
if(unt&&untkill){//生命继承
life1=past1+20;
}
if(bscho==1||wujin==13)life2=618;
if(msc==1){
life1*=2;
life2=300;
}
past2=life2;
past1=life1;
if(cha==7)gmbl=int(life2/100);
if(prop[13])sand=3;
while(life1>0&&life2>0){//一直互殴直到有一方血量不大于0
if(atkp<-6)atkp=-6;
if(atks<-6)atks=-6;
if(weak_ice>4)weak_ice=4;
if(life1>200&&prop[29]==0)life1=200;
else if(life1>250)life1=250;
if(lifeunt>200&&prop[30]==0)lifeunt=200;
else if(lifeunt>150&&prop[30]==1){
life1+=(lifeunt-150);
lifeunt=150;
}
int o=0,wt=0;
if(wait==1)wt=1;
wait=0;
past1=life1;
if(upbls[4]==1&&wt==0){
b4=0;
srand(time(NULL));
b4=rand()%3;
if(b4==0){
cout << "'应运而生'使用1个血瓶,回复了20点生命值。" <<endl;life1+=20;past1+=20;
for(int i=1;i<=2;i++){
if(work[i-1]==2){
dework(i);
cout << endl << "您完成了任务:回光反照,奖励100钱。" << endl;
money+=100;
}
}
}else if(b4==1){
cout << "'应运而生'使用1个炸damn,对手受到了20点伤害。" <<endl;life2-=20;
}else if(b4==2){
cout<<"'应运而生'的银河幸运星~"<<endl;life1+=15;life2-=15;
}
}
do{
cout<<"当前是第"<<turn+1<<"回合 你的生命值为" << life1 << " " << "对手的生命值为" << life2;
if(msc==1){
cout<<" 你的旋律值为"<<mld;
}else if(unt){
if(untwait)untwait--;
else if(wait==0){
lifeunt+=10;
if(prop[8]){
lifeunt+=5;
if(prop[7]){
life1+=7;
}
}else if(prop[7]){
life1+=5;
}
}
cout<<" 后援的生命值为"<<lifeunt;
}
cout<<endl;
if(unt){
cout << "——————————————————————————————" << endl;
cout << "请选择你的行动。输入:1.技能 2.道具 3.投降 4.查看 5.切换后援 6.使用技能机" << endl;
cout << "——————————————————————————————" << endl;
}
else{
cout << "————————————————————————" << endl;
cout << "请选择你的行动。输入:1.技能 2.道具 3.投降 4.查看" << endl;
cout << "————————————————————————" << endl;
}
cin >> o;
if(o==2&&wt==1){
o=-1;
}
system("cls");
int cho2=0;
int o2=0;
switch(o){
case 1:cout << "使用哪个技能?" <<endl;break;
case 2:
cho2=0;
cout << "请输出要使用的道具编号。" << endl << "1.血瓶 2.炸弹 3.银河大乐透" << endl;
do{
cin >> o2;
switch(o2){
case 1:cho2=1;break;
case 2:cho2=2;break;
case 3:cho2=3;break;
default:cout << "你输入的数字应该是1或者2或者3才对。给我重输。"<< endl;break;
}
}while(cho2!=1&&cho2!=2&&cho2!=3);
if(cho2==1){
if(lifebottle>0){
cout << "你使用1个血瓶,回复了20点生命值。" <<endl;life1+=20;past1+=20;lifebottle--;wait=1;
for(int i=1;i<=2;i++){
if(work[i-1]==2){
dework(i);
cout << endl << "您完成了任务:回光反照,奖励100钱。" << endl;
money+=100;
}
}
}else{
cout << "你的血瓶不足,使用失败。" << endl;o=0;
}
}else if(cho2==2){
if(TNT>0){
cout << "你使用1个炸弹,对手受到了40点伤害。" <<endl;life2-=40;TNT--;wait=1;
}else{
cout << "你的炸弹不足,使用失败。" << endl;o=0;
}
}else if(cho2==3){
if(yinhe>0){
int letou1=0;
srand(time(NULL));
letou1=rand()%4;
if(letou1==2){
cout<<"银河大乐透砰地炸开,帮你跳过了这一回合~"<<endl;yinhe--;
}
else if(letou1<=1){
cout<<"银河大乐透里刮出了--99钱!"<<endl;yinhe--;wait=1;money+=99;
}
else if(letou1==3){
cout<<"大奖!!!又一位银河幸运星!"<<endl;yinhe--;wait=1;life1+=30;life2-=30;
}
}else{
cout << "你的银河大乐透不足,使用失败。" << endl;o=0;
}
}
break;
case 3:cout << "你投降了。" <<endl;life1=0;lifeunt=0;xiang=1;break;
case 4:
if(cha==1){
cout << "你的英雄是:张斌老师 ";
}else if(cha==2){
cout << "你的英雄是:大黄 ";
}else if(cha==3){
cout << "你的英雄是:黄金矿工 ";
}else if(cha==4){
cout << "你的英雄是:星辰 ";
}else if(cha==5){
cout << "你的英雄是:张天境 ";
}else if(cha==6){
cout << "你的英雄是:杨凡 ";
}else if(cha==7){
cout << "你的英雄是:'骑士' ";
}else if(cha==8){
cout << "你的英雄是:渡尘 ";
}else if(cha==9){
cout << "你的英雄是:莱茵 ";
}
if(p2==0){
cout << "对手的英雄是:皮卡丘" << endl;
}else if(p2==1){
cout << "对手的英雄是:@哥" << endl;
}else if(p2==2){
cout << "对手的英雄是:美西螈" << endl;
}else if(p2==3){
cout << "对手的英雄是:尉官" << endl;
}else if(p2==4){
cout<<"对手的英雄是:神父"<<endl;
}else if(p2==5){
cout<<"对手的英雄是:群生穴兽"<<endl;
}else if(p2==6){
cout<<"对手的英雄是:灯影鸟"<<endl;
}else if(p2==7){
cout<<"对手的英雄是:流浪猎手"<<endl;
}else if(p2==100){
cout<<"首领敌人是:炼狱,罪火,荆冠的僭主"<<endl;
}else if(p2==101){
cout<<"首领敌人是:覆面的愚人"<<endl;
}else if(p2==-1){
cout<<"首领敌人是:二律背反的歌者"<<endl;
}
cout << "你拥有的血瓶数量为" << lifebottle << endl;
cout << "你拥有的炸弹数量为" << TNT << endl;
cout << "你拥有的银河大乐透数量为" << yinhe << endl;
cout << "当前游戏轮数为" << turn+1 << endl;
break;
case(5):if(unt&&lifeunt>0){
if(prop[1])lifeunt+=10;
cout<<"后援已经上场。"<<endl;
int y=life1;
life1=lifeunt;
lifeunt=y;
untwait+=1;
int x=unt;
unt=cha;
cha=x;
}
else o=0;
break;
case(6):{
if(!unt)o=0;
break;
}
case(-1):cout<<"额外回合中不可使用道具。"<<endl;break;
default:cout << "你输入的数字应该是范围内的整数才对。"<< endl;break;
}
}while(o!=1&&o!=2&&o!=3&&o!=4&&o!=5&&o!=6);
if(o==3||o==4){
wait=2;//如果选择 投降 或者 查看 选项,就不会跳过这一回合。
}
if(o==1){
if(cha==1){
//张斌老师的技能
do{
cout << "输入:1.大喊一声老师真帅 2.跑一圈" <<endl;
cin >> o;
switch(o){
case 1:cout << "你:\"老师真帅\"对手被恶心到,失去了25点生命值。" <<endl;life2-=25;
if(mscho==1){
cout<<"通过对夸人宝典合订本(盗版)的研习,你对敌人额外造成了"<<turn*5+5<<"点伤害。"<<endl;
life2-=turn*5+5;
}
break;//秀一秀转义字符
case 2:cout << "你跑了一圈,";//这是这个游戏的一个笑点所在,绝对不能改(?)。
if(mscho==2){
cout<<"两圈,三圈...在不懈努力下,你回复了20点生命值与20点旋律值。"<<endl;
life1+=20;
mld+=20;
}else{
cout<<"但是没有任何用。"<<endl;
}
for(int i=1;i<=2;i++){
if(work[i-1]==5){
dework(i);
cout << endl << "您完成了任务:运动狂人,奖励道具<血瓶>*4。";
lifebottle+=4;
}
}
break;
default:cout << "你输入的数字应该是1或者2才对。给我重输。"<< endl;break;
}
}while(o!=1&&o!=2);
}else if(cha==2){
int times=0;
//大黄的技能
do{
cout << "输入:1.做题 2.放狗咬对面 3.撕扯 4.踩影" <<endl;
cin >> o;
switch(o){
case 1:if(mscho!=1){
cout << "你做了一道题,提升了大黄百分之30的攻击力。" <<endl;
atk1*=1.3;
}else{
cout << "你做了亿道题,提升了大黄百分之50的攻击力。" <<endl;
atk1*=1.5;
}
break;
case 2:cout << "冲刺,葱!对手受到了来自大黄" << (int)(atk1*0.21) << "点的伤害。" << endl;life2-=(int)(atk1*0.21);
if(mscho==2){
cout << "今天是肉包子!对手又一次受到了来自大黄" << (int)(atk1*0.21) << "点的伤害。" << endl;life2-=(int)(atk1*0.21);
}
for(int i=1;i<=2;i++){
if(work[i-1]==6&&(int)(atk1*0.21)>=60){
dework(i);
cout << endl << "您完成了任务:核爆大佬,奖励道具<炸弹>*2。";
TNT+=2;
}
}
break;
case 3:
srand(time(NULL));
times=rand()%5;
times++;
if(mscho!=2)cout << "大黄使用撕扯造成了" << (int)(atk1*0.07) << "点伤害,连续命中了" <<times<<"次!"<< endl;life2-=(int)(atk1*0.1*times);
if(mscho==2){
cout << "今天是肉包子,大黄的命中次数翻倍!撕扯造成了" << (int)(atk1*0.07) << "点伤害,连续命中了" <<times*2<<"次!"<< endl;life2-=(int)(atk1*0.1*times);
}
for(int i=1;i<=2;i++){
if(work[i-1]==6&&(int)(atk1*0.07*times)>=60){
dework(i);
cout << endl << "您完成了任务:核爆大佬,奖励道具<炸弹>*2。";
TNT+=2;
}
}
break;
case 4:
cout<<"大黄使用了踩影,造成了"<<(int)(atk1*0.1)<<"点伤害并回复了等额生命。"<<endl;
life2-=(int)(atk1*0.1);
life1+=(int)(atk1*0.1);
if(mscho==2){
cout << "今天是肉包子!大黄再次使用了踩影,造成了"<<(int)(atk1*0.1)<<"点伤害并回复了等额生命。"<<endl;
life2-=(int)(atk1*0.1);
life1+=(int)(atk1*0.1);
}
for(int i=1;i<=2;i++){
if(work[i-1]==6&&(int)(atk1*0.1)>=60){
dework(i);
cout << endl << "您完成了任务:核爆大佬,奖励道具<炸弹>*2。";
TNT+=2;
}
}
break;
default:cout << "你输入的数字应该是1~4才对。给我重输。"<< endl;break;
}
}while(o!=1&&o!=2&&o!=3&&o!=4);
}else if(cha==3){
//黄金矿工的技能
do{
cout << "输入:1.淘金 2.扔炸药 3.贿赂这个游戏" <<endl;
cin >> o;
switch(o){
case 1:gold+=2;cout << "你淘到2块金矿,你现在有" << gold << "块金矿,你的生命值增加了4点。" <<endl;life1+=4;past1+=4;break;
case 2:if(gold==0&&mscho!=1){
cout << "你没有金矿,用不了炸药。" << endl;o=0;
}else{
if(boom>0){
if(mscho==1){
cout << "你扔出1个炸药,对手被炸到受到了32点伤害,你沉醉于暴力美学,旋律值回复至100。" << endl;
boom--;
life2-=32;
mld=100;
}else{
cout << "你扔出1个炸药,炸掉了金矿,对手也被炸到,受到了32点伤害" << endl;
boom--;
gold--;
life2-=32;
}
}else{
cout << "你的炸药用完了,不能再扔炸药。" << endl;
o=0;
}
}
break;
case 3:if(gold>0){
cout << "你用所有的金矿贿赂了程序,程序对对手造成了" << gold * 9 << "点伤害,又回复了你" << gold * 5 << "点生命值" <<endl;
life2-=gold*9;
for(int i=1;i<=2;i++){
if(work[i-1]==7&&gold*9>=60){
dework(i);
cout << endl << "您完成了任务:顶级行贿,奖励300钱。";
money+=300;
}
}
life1+=gold*5;
past1+=gold*5;
if(gold>=4&&mscho==2){
gold/=2;
}else gold=0;
}else{
cout << "你没有金矿,不能贿赂。" << endl;
o=0;
}
break;
default:cout << "你输入的数字应该是1、2或者3才对。给我重输。"<< endl;break;
}
}while(o!=1&&o!=2&&o!=3);
}else if(cha==4){
if(r_hrt!=2)r_hrt=0;
//星辰的技能
do{
cout << "输入:1.集中精神 2.切!3.丹心" <<endl;
//星辰的二技能复刻我小时候写的小说,里面我第二个人格的大招名字是青云疾现切,这个大招可以快速挥刀很多次,实在是太帅了(
cin >> o;
switch(o){
case 1:if(turn%4!=3){
if(mscho==1){
mscho=3;
}
if(mscho!=2){
if(spirit<=5){
spirit+=5;
cout << "你成功集中了5点精神,你当前的精神力为" << spirit << "。" <<endl;
}else if(spirit==10){
cout << "当前精神力已达最大值10,不能再集中精神。" <<endl;
o=0;
}else{
cout << "你集中了5点精神,但是你的精神力达到了最大值,溢出的精神力已经丢失。你当前的精神力为10。" <<endl;
}
}else{
if(spirit<=6){
spirit+=6;
cout << "你成功集中了6点精神,你当前的精神力为" << spirit << "。" <<endl;
}else if(spirit==12){
cout << "当前精神力已达最大值12,不能再集中精神。" <<endl;
o=0;
}else{
cout << "你集中了6点精神,但是你的精神力达到了最大值,溢出的精神力已经丢失。你当前的精神力为12。" <<endl;
}
}
}else{
cout << "屑星辰不能在游戏的每四轮的最后一轮集中精神。当前轮数为" << turn+1 << "。" <<endl;
o=0;
}
break;
case 2:cout << "星辰凝聚精神在青龙匕首上,并使用其切断了对手的节奏线,对手受到了" << w_qing*4+17 << "点伤害。" << endl;life2-=spirit+15;
if(spirit>=3){
cout << "星辰通过散失3点精神力,停滞了时间,本回合星辰会再次行动。" << endl;spirit-=3;wait=1;
}
w_qing++;
for(int i=1;i<=2;i++){
if(work[i-1]==8&&w_qing>=4){
dework(i);
cout << endl << "您完成了任务:青云疾现切,奖励英雄<张天境>。";
ucha[4]=1;
}
}
break;
case 3:if(r_hrt==0){
cout<<"星辰凝神聚气,摆出了挺住的架势!"<<endl;
r_hrt=1;
}else{
cout<<"星辰气息稍有紊乱,无法使出丹心。"<<endl;
o=0;
}
break;
default:cout << "你输入的数字应该是1~3才对。给我重输。"<< endl;break;
}
}while(o!=1&&o!=2&&o!=3);
}else if(cha==5){
//张天境的技能
if(bullet==0){
if(death_battle){
cout<<"弹匣中子弹耗尽,死斗通缉结束。"<<endl;
death_battle=0;
}
cout << "输入:1.绝技:徒手开火 2.子弹装填" <<endl;
do{
cin >> o;
switch(o){
case 1:cout << "张天境在子弹中充入气息,使子弹从手中迸裂而出,烧焦的子弹对对手造成了15点伤害。" << endl;life2-=15;
if(weakness>=1){
cout << "对手被击中弱点,受到的伤害增加" << weakness*10 << ",为" << weakness*10+15 << "点。" << endl;
life2-=weakness*10;
}
if(mscho==2&&weakness>0){
cout<<"猎人的荣誉让张天境造成额外造成了"<<weakness*40<<"点伤害。"<<endl;
life2-=weakness*40;
weakness=0;
}
for(int i=1;i<=2;i++){
if(work[i-1]==9&&weakness*10>=20){
dework(i);
cout << endl << "您完成了任务:白虎爆炎破,奖励道具<炸弹>*2。";
TNT+=2;
}
}
break;
case 2:cout << "张天境在空的弹匣中流畅地连续填入2颗子弹,当前子弹数为2。" << endl;bullet+=2;break;
default:cout << "你输入的数字应该是1或者2才对。给我重输。"<< endl;break;
}
}while(o!=1&&o!=2);
}else{
cout << "输入:1.破! 2.子弹装填 3.死斗通缉" <<endl;
do{
cin >> o;
switch(o){
case 1:cout << "张天境举起浅蓝手枪瞄准对手,看准时机扣下扳机,对手被击中,受到了15点伤害。" << endl;life2-=15;bullet--;
if(death_battle){
cout<<"死斗通缉使张天境回复了20点生命。"<<endl;
life1+=20;
}
cout << "张天境从对手身上发现了新的弱点。" << endl;weakness++;break;
case 2:if(bullet<=4){
bullet++;
cout << "张天境填入1颗子弹,当前子弹数为" << bullet << "。" << endl;
}else if(bullet==5){
cout << "张天境填入1颗子弹,当前子弹数为6,无法再填入更多子弹。" << endl;bullet++;
}else{
cout << "无法再填入更多子弹。" << endl;o=0;
}
break;
case 3:{
if(death_battle==1){
cout<<"张天境已经发下死斗通缉,当前无法使用该技能。"<<endl;
o=0;
}else{
cout<<"张天境向对手发下了死斗通缉,弹匣中隐隐显出赤月的色彩..."<<endl;
death_battle=1;
}
break;
}
default:cout << "你输入的数字应该是1~3才对。给我重输。"<< endl;break;
}
}while(o!=1&&o!=2&&o!=3);
}
if(mscho==1){
if(bullet==0){
cout << "张天境在子弹中充入气息,使子弹从手中迸裂而出,烧焦的子弹对对手造成了15点伤害。" << endl;life2-=15;
if(weakness>=1){
cout << "对手被击中弱点,受到的伤害增加" << weakness*5 << ",为" << weakness*5+15 << "点。" << endl;
life2-=weakness*5;
}
}else{
cout << "张天境举起浅蓝手枪瞄准对手,看准时机扣下扳机,对手被击中,受到了15点伤害。" << endl;life2-=15;bullet--;
if(death_battle){
cout<<"死斗通缉使张天境回复了20点生命。"<<endl;
life1+=20;
}
cout << "张天境从对手身上发现了新的弱点。" << endl;weakness++;
}
}
}else if(cha==6){
//杨凡的技能
if(y_hidden==1){
cout<<"杨凡趁敌不备,从暗中跃出发动伏罪,造成了"<<int(life1/3)<<"点伤害。"<<endl;
life2-=int(life1/3);
y_hidden=0;
}
else{do{
cout << "输入:1.船桨打击 ";
if(heart<25){
cout << "2.稍作观察";
}else{
cout << "2.开始“科学推理";
}
cout<<" 3.匿踪";
cout << endl;
cin >> o;
srand(time(NULL));int R=rand()%2+1;
switch(o){
case 1:cout << "杨凡手持祖传多功能铲形船桨挥击对手,对手受到了15点钝器造成的伤害。" << endl;life2-=15;
cout << "凡人就是凡人,这一击似乎连什么特殊效果都没有。" << endl;break;
case 2:
if(heart<25){
cout << "杨凡试图对对手进行观察。" << endl;
if(R==1){
cout << "可惜他只是个普通人,并没有发现什么。" << endl;
cout << "不过,对于刚才那小小的失败,他似乎更加激动了。" << endl;heart+=5;
}else{
cout << "不小心被对手察觉到了。" << endl;
cout << "对手果断地打断了人如其名的杨凡的观察。杨凡受到了10点来自对手的伤害。" << endl;life1-=10;
cout << "不过,杨凡发现了对手刻意隐藏而又不小心显露的特质,他仍然更加激动了。" << endl;heart+=10;
}
if(heart>25)heart=25;
}else{
cout << "杨凡使用了科学推理,平静了自己的情绪,回复了10点生命值。对手心绪被扰乱,受到了20点伤害。"<<endl;life2-=20;life1+=10;past1+=10;feel+=10;heart-=10;
}break;
case 3:{
cout<<"杨凡试着隐匿自己的行踪..."<<endl;
y_hidden=1;
break;
}
default:cout << "你输入的数字应该是1或者2才对。给我重输。"<< endl;break;
}
}while(o!=1&&o!=2&&o!=3);}
if(mscho==1){
heart+=5;
if(heart>=25){
cout << "杨凡使用了科学推理,平静了自己的情绪,回复了10点生命值。对手心绪被扰乱,受到了20点伤害。"<<endl;
life2-=20;
life1+=10;
past1+=10;
feel+=10;
heart-=10;
}
}
if(mscho==2){
cout<<"杨凡用苦痛为敌人带去伤痕,消耗"<<int(life1*0.1)<<"点生命并造成了"<<int(life1*0.2)<<"点伤害。"<<endl;
life2-=int(life1*0.2);
life1-=int(life1*0.1);
}
if(heart>0){
if(heart>=10){
cout << "“有一股热血涌动着。”" << endl << "杨凡异常兴奋,回复了" << (heart+8)/2 << "点生命值。" << endl;
life1+=(heart+8)/2;
past1+=(heart+8)/2;
}else{
cout << "杨凡有种“推理”的欲望。" << endl;
}
}
}else if(cha==7){
if(mscho==1){
kill+=5;
kpls++;
}
//骑士的技能
do{
cout << "输入:1.战术同频:强攻 2.战术推演:相持 3.荣誉共鸣" <<endl;
cin >> o;
switch(o){
case 1:cout << "无论黑白的暴力美学--'骑士'以精湛的剑术造成了"<<kill<<"点伤害";life2-=kill;
if(xc>0){
cout<<";进攻中,自当舍弃一切退避之心";
xc=0;
}
kill-=kpls*5;
kpls=0;
cout<<"。"<<endl;
break;
case 2:cout << "有时,退避也不失为一计良策。";xc+=1;
if(xc>=3){
cout<<"然而,一味退避并非骑士的行径,对吧?";
o=0;
}
cout<<endl;
break;
case 3:if(gm<=1||mscho==2&&gm<=2){
cout << "这是同为战士的你我本就应有的共鸣--那么,请你为我奉献吧。" <<endl<<"'骑士'身侧的丝线若隐若现。"<<endl;
kill+=5;
gm++;
break;
}
else{
cout<<"丝线不堪更重的的负荷--体谅亦是骑士的美德,";
o=0;
}
default:cout << "再来一次吧,正确的路总会被寻得。"<< endl;break;
}
}while(o!=1&&o!=2&&o!=3);
}else if(cha==8){
//渡尘的技能
do{
cout << "输入:1.符·云生 2.箓·风涌 3.镜中境" ;
if(cld&&mir>0)cout<<"4.敕令·天倾";
cout<<endl;
cin >> o;
switch(o){
case(1):if(mscho==1){cout<<"渡尘使用了符·云生,使场地进入了4回合[云岫]状态。"<<endl;cld=4;break;}
else {cout<<"渡尘使用了符·云生,使场地进入了3回合[云岫]状态。"<<endl;cld=3;break;}
case(2):{cout<<"渡尘使用了箓·风涌,周身环绕起旋风,进入1回合[转圜]状态。"<<endl;wnd=1;break;}
case(3):if(mir==0){cout<<"渡尘展开仪盘,将敌人困入了镜中的世界。"<<endl;mir=1;break;}
else{
cout<<"仪盘目前无法使用,";
o=0;
break;
}
case(4):if(!cld||mir<=0){
o=0;
}else{
cout<<"渡尘于仪盘中敕令天君,风云变色,逆位的山峦自虚空倾落,造成了"<<life2/10+30<<"点伤害。"<<endl;
life2-=life2/10+30;
}
break;
default:cout<< "请重新输入。"<< endl;break;
}
}while(o!=1&&o!=2&&o!=3&&o!=4);
}else if(cha==9){
do{
cout<<"输入:1.炼金之牙 ";
if(winea==-1&&wineb==-1){
cout<<"2.迷醉威士忌 3.窖藏美梦";
}else if(winea==-1&&wineb==0){
cout<<"2.迷醉威士忌 3.亲启佳酿";
}else if(wineb==-1){
cout<<"2.窖藏美梦";
}else if(wineb==0){
cout<<"2.亲启佳酿";
}else if(winea==-1){
cout<<"2.迷醉威士忌";
}
cout<<endl;
cin>>o;
switch(o){
case(1):if(winea>=0){
cout<<"于迷醉的浪潮中,莱茵以更锐利的炼金之牙造成了30点伤害";
life2-=30;
}else{
cout<<"莱茵用炼金术创生造物以供驱使,造成了15点伤害";
life2-=15;
}
if(mscho==1){
cout<<"并附加了3回合[流血]效果。"<<endl;
lix=3;
} else cout<<"。"<<endl;
break;
case(2):if(winea==-1){
cout<<"莱茵痛饮下迷醉的威士忌,在接下来3回合中生命不会低于1且技能获得强化,该状态结束后莱茵的生命值将会归零。"<<endl;
winea=3;
}else if(wineb==-1){
cout<<"莱因将美梦封存进瓶中--谁知道以后会发生什么呢?"<<endl;
wineb=3;
if(mscho==2)wineb=2;
}else if(wineb==0){
cout<<"莱因将摇摇欲坠的迷梦淬炼成刀尖的告别,向敌人致以最盛大的谢幕,造成了70点伤害。"<<endl;
life2-=70;
wineb=-1;
}else{
o=0;
}
break;
case(3):if(winea==-1){
if(wineb==-1){
cout<<"莱因将美梦封存进瓶中--谁知道以后会发生什么呢?"<<endl;
wineb=3;
if(mscho==2)wineb=2;
}else if(wineb==0){
cout<<"莱因将醇美的梦境汇集成指尖的利爪,向敌人致以谢幕,造成了60点伤害。"<<endl;
life2-=60;
wineb=-1;
}else{
o=0;
}
}else{
o=0;
}
break;
default:cout<<"请重新输入。"<<endl;
}
}while(o!=1&&o!=2&&o!=3);
}
if(upbls[0]==1){
cout<<"'以太之息'的吹拂造成了"<<b0<<"点伤害。"<<endl;
life2-=b0;
}
if(upbls[11]==1&&wt==0&&turn%2==0){
cout<<"不止的寻征!"<<endl;
wait=1;
}
}
//技能机在这里!!!
if(o==6){
int skillcho=0;
cout<<"请选择要使用的技能机:"<<endl;
for(int j=1;j<=4;j++){
if(skillgot[j]){
int i=skillgot[j];
cout<<j<<".";
skillcheck(i);
}
}
do{
do{
cin>>skillcho;
if(skillgot[skillcho]==0)cout<<"请重新输入。"<<endl;
}while(skillgot[skillcho]==0);
skillcho=skillgot[skillcho];
switch(skillcho){
case 1:{
if(prop[15]){
int times;
srand(time(NULL));
times=rand()%3;
if(times==0){
cout<<"敌人[流血]了!"<<endl;
lix=3;
}
}
chacheck(cha);
cout<<"使用了一字斩,造成了"<<int((1+0.15*atkp)*(20+prop[4]*10+prop[24]*10))<<"点伤害。"<<endl;
life2-=int((1+0.15*atkp)*(20+prop[4]*10+prop[24]*10));
break;
}
case 2:{
if(prop[15]){
int times;
srand(time(NULL));
times=rand()%3;
if(times==0){
cout<<"敌人[流血]了!"<<endl;
lix=3;
}
}
chacheck(cha);
cout<<"使用了劈砍,造成了"<<int((1+0.15*atkp)*(25+prop[4]*10+prop[24]*10))<<"点伤害。"<<endl;
life2-=int((1+0.15*atkp)*(25+prop[4]*10+prop[24]*10));
break;
}
case 3:{
if(prop[15]){
int times;
srand(time(NULL));
times=rand()%3;
if(times==0){
cout<<"敌人[流血]了!"<<endl;
lix=3;
}
}
chacheck(cha);
cout<<"使用了气切,造成了"<<int((1+0.15*atkp)*(15+prop[4]*10))<<"点伤害。"<<endl;
life2-=int((1+0.15*atkp)*(15+prop[4]*10));
fright=1;
break;
}
case 4:{
if(prop[15]){
int times;
srand(time(NULL));
times=rand()%3;
if(times==0){
cout<<"敌人[流血]了!"<<endl;
lix=3;
}
}
chacheck(cha);
cout<<"使用了岩崩斩,造成了"<<int((1+0.15*atkp)*(30+prop[4]*10+prop[24]*10))<<"点伤害。"<<endl;
life2-=int((1+0.15*atkp)*(30+prop[4]*10+prop[24]*10));
if(sand)fright=1;
break;
}
case 5:{
chacheck(cha);
cout<<"使用了双冲拳,造成了"<<int((1+0.15*atkp)*(10+prop[5]*5+prop[24]*5))<<"点伤害,命中了2次!"<<endl;
life2-=int((1+0.15*atkp)*(10+prop[5]*5+prop[24]*5)*2);
if(prop[17])fright=1;
break;
}
case 6:{
chacheck(cha);
cout<<"使用了迎头痛击,造成了"<<int((1+0.15*atkp)*(20+prop[5]*5))<<"点伤害。"<<endl;
life2-=int((1+0.15*atkp)*(20+prop[5]*5));
fright=1;
break;
}
case 7:{
int times;
srand(time(NULL));
times=rand()%4;
times++;
chacheck(cha);
cout<<"使用了背身连打,造成了"<<int((1+0.15*atkp)*(10+prop[5]*5+prop[24]*5))<<"点伤害,命中了"<<times<<"次!"<<endl;
life2-=int((1+0.15*atkp)*(10+prop[5]*5+prop[24]*5)*times);
if(times==4&&prop[17])fright=1;
break;
}
case 8:{
int times;
srand(time(NULL));
times=rand()%4;
times+=2;
chacheck(cha);
cout<<"使用了心流拳,造成了"<<int((1+0.15*atkp)*(10+prop[5]*5+prop[24]*5))<<"点伤害,命中了"<<times<<"次!"<<endl;
if(times==5&&prop[17])fright=1;
chacheck(cha);
cout<<"受到了反作用力的伤害..."<<endl;
life2-=int((1+0.15*atkp)*(10+prop[5]*5+prop[24]*5)*times);
life1-=10;
break;
}
case 9:{
int times;
srand(time(NULL));
times=rand()%2;
chacheck(cha);
cout<<"使用了污泥波,造成了"<<int((1+0.15*atks)*(15))<<"点伤害。"<<endl;
if(times){
cout<<"敌人[中毒]了!"<<endl;
poison=1;
}
life2-=int((1+0.15*atks)*(15));
break;
}
case 10:{
chacheck(cha);
cout<<"使用了毒菱。"<<endl;
cout<<"敌人[中毒]了!"<<endl;
poison=1;
break;
}
case 11:{
int times;
srand(time(NULL));
times=rand()%3;
chacheck(cha);
cout<<"使用了巫毒娃娃。"<<endl;
if(times==0){
cout<<"敌人[中毒]了!"<<endl;
poison=1;
}
else if(times==1){
cout<<"敌人[流血]了!"<<endl;
lix=3;
}
else fright=1;
break;
}
case 12:{
chacheck(cha);
cout<<"使用了噩兆。"<<endl;
event[turn+2]=-1;
break;
}
case 13:{
chacheck(cha);
cout<<"使用了祷言。"<<endl;
event[turn+2]=1;
break;
}
case 14:{
chacheck(cha);
cout<<"使用了流星群,造成了"<<int((1+0.15*atkp)*(45))<<"点伤害。"<<endl;
life2-=int((1+0.15*atkp)*(45));
if(!prop[14]){
cout<<"物攻大幅降低了..."<<endl;
atkp-=2;
}
break;
}
case 15:{
chacheck(cha);
cout<<"使用了过载,造成了"<<int((1+0.15*atks)*(45))<<"点伤害。"<<endl;
life2-=int((1+0.15*atks)*(45));
if(!prop[14]){
cout<<"特攻大幅降低了..."<<endl;
atks-=2;
}
break;
}
case 16:{
chacheck(cha);
cout<<"使用了导电,造成了"<<int((1+0.15*atks)*(15))<<"点伤害。"<<endl;
life2-=int((1+0.15*atks)*(15));
if(!prop[14]){
cout<<"特攻提高了!"<<endl;
atks++;
}
break;
}
case 17:{
chacheck(cha);
cout<<"使用了急速充能,";
if(!prop[14]){
cout<<"特攻大幅提高了!"<<endl;
atks+=2;
}
else cout<<"但似乎没有作用..."<<endl;
break;
}
case 18:{
chacheck(cha);
cout<<"使用了增强拳,造成了"<<int((1+0.15*atkp)*(15+prop[5]*5))<<"点伤害。"<<endl;
life2-=int((1+0.15*atks)*(15+prop[5]*5));
if(!prop[14]){
cout<<"物攻提高了!"<<endl;
atkp++;
}
break;
}
case 19:{
chacheck(cha);
cout<<"使用了尘暴,使场上扬起了猛烈的风沙。"<<endl;
sand=1;
break;
}
case 20:{
chacheck(cha);
cout<<"使用了海妖之歌,使造成的持续伤害大幅提高了!"<<endl;
atkl+=2;
break;
}
case 21:{
chacheck(cha);
cout<<"使用了磷火,使敌人灼烧了!"<<endl;
if(fire==0){
atkl+=2;
}
fire=1;
break;
}
case 22:{
chacheck(cha);
cout<<"使用了冰点射击,造成了"<<int((1+0.15*atks)*(15))<<"点伤害。"<<endl;
life2-=int((1+0.15*atks)*(15));
ice=1;
break;
}
case 23:{
chacheck(cha);
cout<<"使用了流沙地狱,";
if(sand){
cout<<"造成了"<<int((1+0.15*atkp)*(25))<<"点伤害!"<<endl;
life2-=int((1+0.15*atkp)*(25));
}else{
cout<<"造成了"<<int((1+0.15*atkp)*(15))<<"点伤害。"<<endl;
life2-=int((1+0.15*atkp)*(15));
cout<<"场上扬起了风沙!"<<endl;
sand=3;
}
break;
}
case 24:{
chacheck(cha);
cout<<"使用了精神剖析,造成了"<<int((1+0.15*atks)*(10+prop[4]*10))<<"点伤害。"<<endl;
life2-=int((1+0.15*atks)*(10+prop[4]*10));
cout<<"敌人进入[流血]状态了!"<<endl;
lix=3;
break;
}
case 25:{
chacheck(cha);
cout<<"使用了血河,消耗一半生命值并造成了"<<int((1+0.15*atks)*(25+0.6*life1))<<"点伤害!"<<endl;
life2-=int((1+0.15*atks)*(25+0.6*life1));
life1*=0.5;
if(prop[19]&&untwait==0){
lifeunt+=10;
if(prop[8]){
lifeunt+=5;
if(prop[7]){
life1+=7;
}
}else if(prop[7]){
life1+=5;
}
}
break;
}
case 26:{
int times;
srand(time(NULL));
times=rand()%3;
times++;
chacheck(cha);
cout<<"使用了焚恶,造成了"<<int((1+0.15*atks)*(9))<<"点伤害,命中了"<<times<<"次!"<<endl;
if(times==3){
cout<<"敌人陷入[灼烧]了!"<<endl;
if(fire==0){
atkl+=2;
}
fire=1;
}
life2-=int((1+0.15*atks)*(9)*times);
if(times==3&&prop[17])fright=1;
break;
}
case 27:{
chacheck(cha);
cout<<"使用了低温压缩,造成了"<<int((1+0.15*atkp)*(20))<<"点伤害。"<<endl;
life2-=int((1+0.15*atkp)*(20));
ice=1;
break;
}
case 28:{
chacheck(cha);
cout<<"使用了热熔,造成了"<<int((1+0.15*atks)*(20+(ice>0)*25))<<"点伤害。"<<endl;
life2-=int((1+0.15*atks)*(20+(ice>0)*25));
if(ice){
cout<<"敌人的[冻结]解除了。"<<endl;
ice=0;
}
break;
}
case 29:{
chacheck(cha);
cout<<"使用了戏法,";
if(!prop[14]){
cout<<"调换了自己的物攻与特攻,并使其分别提高了!"<<endl;
int x=atkp;
atkp=atks+1;
atks=x+1;
}
else cout<<"但似乎没有作用..."<<endl;
break;
}
case 30:{
chacheck(cha);
int times=0.4*(120-life1);
if(times<8)times=8;
cout<<"使用了搏命,造成了"<<int((1+0.15*atkp)*(times))<<"点伤害并回复了"<<int(0.1*(200-life1))<<"点生命。"<<endl;
life2-=int((1+0.15*atkp)*(times));
life1+=int(0.1*(200-life1));
break;
}
case 31:{
int times;
srand(time(NULL));
times=rand()%5;
times++;
if(ice)times=5;
chacheck(cha);
cout<<"使用了霜灭斩,造成了"<<int((1+0.15*atkp)*(8+prop[4]*2+prop[24]*2))<<"点伤害,命中了"<<times<<"次!"<<endl;
life2-=int((1+0.15*atkp)*(8+prop[4]*2+prop[24]*2)*times);
if(times==5&&prop[17])fright=1;
if(prop[15]){
int times2;
srand(time(NULL));
times2=rand()%3;
if(times==0){
cout<<"敌人[流血]了!"<<endl;
lix=3;
}
}
break;
}
case 32:{
weak_ice++;
chacheck(cha);
cout<<"使用了冰风,掀起寒流并使敌人对[冻结]的抗性降低了!"<<endl;
ice=2;
break;
}
case 33:{
chacheck(cha);
cout<<"使用了急速折返,造成了"<<int((1+0.15*atkp)*(15))<<"点伤害。"<<endl;
life2-=int((1+0.15*atkp)*(15));
if(prop[1])lifeunt+=10;
if(lifeunt){
cout<<"后援已经上场。"<<endl;
int y=life1;
life1=lifeunt;
lifeunt=y;
untwait+=1;
int x=unt;
unt=cha;
cha=x;
}
break;
}
case 34:{
chacheck(cha);
cout<<"使用了峰电位,造成了"<<int((1+0.15*atks)*(15))<<"点伤害。"<<endl;
life2-=int((1+0.15*atks)*(15));
if(prop[1])lifeunt+=10;
if(lifeunt){
cout<<"后援已经上场。"<<endl;
int y=life1;
life1=lifeunt;
lifeunt=y;
untwait+=1;
int x=unt;
unt=cha;
cha=x;
}
break;
}
case 35:{
chacheck(cha);
cout<<"使用了超负荷,";
if(!prop[14]){
cout<<"使特攻急剧提高了!"<<endl;
atks+=4;
event[turn+2]=-2;
}
else cout<<"但似乎没有作用..."<<endl;
break;
}
default:cout<<"请重新输入。"<<endl;
}
}while(skillcho==0);
}
if(wait==1)b0+=4;
if(mir==-1)mir=0;
if(mir>0){
int brk=0;
srand(time(NULL));
brk=rand()%4;
if(mscho==1)brk=rand()%5;
if(mscho==1&&mir<=3)brk+=2;
if(mir==1)brk++;
if(brk<=mir){
cout<<"敌人从镜中的世界脱离,令仪盘受到了损伤。"<<endl;
mir=-1;
}
else{
cout<<"敌人被镜中境迷惑,无法脱离。"<<endl;
mir++;
wait=2;
turn++;
}
}
if(fright){
int brk=0;
srand(time(NULL));
brk=rand()%10;
if(brk<=2+3*prop[18]){
cout<<"敌人畏缩了!"<<endl;
wait=2;
turn++;
}
fright=0;
}
if(ice){
int brk=0;
srand(time(NULL));
brk=rand()%10;
brk-=weak_ice;
if(brk<=6-3*ice&&ice<=2){
ice++;
cout<<"敌人因[冻结]而无法行动。"<<endl;
wait=2;
turn++;
if(prop[20]){
cout<<"[冻结]使敌人受到"<<int((1+atkl*0.2)*15)<<"点伤害。"<<endl;
life2-=int((1+atkl*0.2)*15);
}
}
else{
ice=0;
}
}
if(wait==0){
if(msc==1){
mld+=20;
if(mld>=100){
cout<<"旋律值已满,群星的共鸣清除了不协和音,使歌者进入'谬误'状态。"<<endl;
lun-=2;
mld-=100;
}
}
b0=12;//以太之息
int v=0;//敌人攻击力
if(p2==0){
//皮卡丘的技能
if(turn%4==3||turn%6==1){
v=(200-life1)/10+20;
cout << "对手皮卡丘使用了铁尾,对你造成了" << v << "点伤害。" << endl;
life1-=v;
}else{
v=20;
cout << "对手皮卡丘使用了电球,对你造成了20点伤害。" <<endl;
life1-=v;
}
}else if(p2==1){
//@哥的技能
if(turn%4==2||turn%7==5){
v=23;
system("cls");
全部评论 1
nb,大佬
2025-06-07 来自 浙江
2可以去看看原作者awa 我只是闲着无聊加了点东西(
2025-06-08 来自 上海
0









有帮助,赞一个