名字竞技场
要把名字大作战尽量还原出来!
2022.10.7:做出了0.5版本!知识技能还没有添加,但可以进行普通攻击,暴击和防御
2022.10.10:0.7版本完工!添加了火系与水系的技能,两者已可以正常使用了。同时做了疗系的技能,但是没有加入
2022.10.16:1.0版本彻底完成!程序可以正常使用了,玩的开心!
2023.3.12:大更新!更新了zhouys,Lunionz,Dream三个Boss,输入名字就能体验!快去试试吧!
2023.3.14:大更新!更新了疯狂阿瓦达模式(所有角色血量50倍,且正常人物只会用满层阿瓦达) ,两个BOSS:George,slsyssy2658
2023.3.18:更新,修正了之前的名字拼写错误,修复了一部分BUG,加入了新的BOSS:l_d (即lazy_doghead)
2023.3.19:更新,加入了新的BOSS:杰哥
2023.5.26:大更!对于死亡显示做了调整,添加了新的技能:奥义,加入逆天BOSS:指挥官,以及一个正常BOSS:ice_girl
2023.6.17:大更!添加了闪避,还有全新的模式——无尽模式!你能打到第几关?
2023.8.27:更!添加了富兰克林、麦克、崔佛三个新的BOSS(GTA5狂喜)以及新的无尽模式机制,现在你们用zhouys打无尽就更顺畅了(好好好,早知道把BOSS设置为不可用了)
2023.8.29:更!添加了真正的BOSS战——与作者的战斗,其实这个Boss战只要角色选的好就可以几回合秒掉作者。且史诗级削弱了指挥官召唤的小怪(之前这东西可以一个手雷炸你三亿血)
2023.10.16:更!增加了(SB的)战术语音,调整了麦克和崔佛的技能,同时保留作者战
(无尽模式目前最高纪录:MithrilSword_XIV——13关
打破了纪录就截图发给我)
P.S.如果你想被做成BOSS,可以私信我,告诉我你的两个技能(别太变态)
#include<bits/stdc++.h>
#include<windows.h>
#include<stdio.h>
#include<conio.h>
#include<time.h>
using namespace std;
//rand()%a
//Lunionz
struct rw{
string name;//名字
int maxhp;// 最大生命值
int hp;// 生命
int atk;//攻击
int def;//防御
int ml;//魔力
int sx;//属性分为:1火,2水,3电,4地,5冰,6疗,7黑,8召
int team;//队伍
int zt;//状态
int cs;//阿瓦达层数
int oy;//奥义,出技能是有oy/10的概率触发,触发一次oy+1,并且伤害将是ratk*(oy+1)
bool flag;
}a[1005];
struct dw{
int protect;
int converge;
}b[1005];
int n,m,rs,chrs[1005],hhs=1;
string s,p;
string jnm[33][2]={{"火球术","火盾护身"},//高伤,防御+攻击
{/*2*/"潮涌核心","水牢"},//全场受伤,控制+掉血3~5回合
{/*3*/"闪电风暴","雷电传导"},//连劈同一单位4~6下(防不了???),攻击+弹射随机人物(可在自己身上弹射)5次
{/*4*/"地裂术","地动山摇"},//连击一单位3~5下(为什么还是防不了???),队伍伤害
{/*5*/" 冰冻咒"," 天降冰锥"},//第一下伤害接下来冻住3回合,高伤附加冻伤效果1回合(有10%再次冰冻)
{/*6*/"治疗","吸血"},//给队友或自己回血,吸血
{/*7*/"阿瓦达索命","神锋无影"},//叠3层秒杀(这玩意儿为什么也防不了???),攻击+弹射(每弹射一次伤害下降10%)3次
{/*8*/"召唤棋子","生化攻击"},//召唤一个100血的棋子(小兵),把一个阵亡的人变为队友
{/*9*/"黑魔王的威信","龙骨碎"},//召唤3个黑巫师,从第一个找到的人开始随机高伤一段最后一下更高伤
{/*10*/"阿瓦达狂潮","钻心剜骨"},//五个随机穿透阿瓦达,持续掉血但不影响行动
{/*11*/"TNT","下下-界界-合合-金金-斧斧---"},//全体伤害(无视防御???),高级高伤并且又一半概率翻倍(再次无视防御???)
{/*12*/"爬行者刷怪蛋","Dream的激励"},//召唤一个会自爆的爬行者,直接成为Dream
{/*13*/"自爆","自爆"},//1000的伤害!三炸秒zhouys
{/*14*/"海洋之敌","海洋之友"},//对每个敌人造成1~100%的最大生命值伤害,对每个友军给予1~50%的最大生命值恢复
{/*15*/"奇偶判定","硬币定生死"},//随机是奇数自己扣血否则敌人扣血,随机在50以下自己死,否则让敌人的50%的人死
{/*16*/"啤酒","让我看看"},//各项指数全面上升,maxhp*50% + a[i].atk的伤害,有30%的概率闪避
{/*17*/"狙击枪","请求支援"},//对目标造成1/7的伤害,召唤8个士兵
{/*18*/"刺刀","步枪"},//流血+高伤,射出一梭子子弹
{/*19*/"手雷","喷子"},//随机炸一半敌人,maxhp*3的高伤+减防御
{/*20*/"扫射","手雷"},//射出一百发子弹并且减少防御,随机炸一半敌人
{/*21*/"生命之轮","鸦群之潮"},//与对方血量最高者交换血量,高伤+减防御(正常/2,小于10就-30)
{/*22*/"子弹时间","呼叫队友"},//多次攻击,富兰克林呼叫麦克和崔佛(((
{/*23*/"子弹时间","重型狙击枪"},//多次攻击,麦克的“但是它很好用”的狙
{/*24*/"无敌时间","火神机枪"},//在ml/10个回合内防御增加到离谱,崔佛的超级火神机枪
{/*25*/"",""},
{/*26*/"",""},
{/*27*/"",""},
{/*28*/"",""},
{/*29*/"",""},
{/*30*/"",""},
{/*31*/"",""},
{/*32*/"",""},
{/*33*/"召唤手下","88反一切炮"}//(正常模式用不了的角色)召唤属性为1~24的手下,必杀炮(毕竟反一切)
};
int jncxgl[33][2]={{70,85},
{90,60},
{70,70},
{75,85},
{70,80},
{50,75},
{65,65},
{70,85},
{60,60},
{60,60},
{40,0},
{50,75},
{0,0},
{55,55},
{40,65},
{45,60},
{50,50},
{50,50},
{50,65},
{55,50},
{70,50},
{50,80},
{50,80},
{65,80},
{0,0},
{0,0},
{0,0},
{0,0},
{0,0},
{0,0},
{0,0},
{0,0},
{40,40}
};
void Color(int a){//白蓝绿紫红靛黄灰
if(a==0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
if(a==1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
if(a==2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
if(a==3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
if(a==4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
if(a==5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
if(a==6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
if(a==7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY);
}
bool checkwin(){
memset(chrs,0,sizeof(chrs));
for(int i=1;i<rs;i++){
if(a[i].hp>=1){
chrs[a[i].team]++;
}
}
int cnt=0;
for(int i=1;i<=n;i++){
if(chrs[i]!=0){
cnt++;
}
if(cnt>1){
return false;
}
}
return true;
}
int checklivings(int x){
int cnt=0;
for(int i=1;i<=rs;i++){
if(a[i].hp>=1 && a[i].team!=a[x].team){
cnt++;
}
}
return cnt;
}
void attack(int ater,int beat,int atks){
int defs=a[beat].def,ratk=rand()%50+atks-20;
int hurts=ratk-defs;
if(rand()%20000 >=13000){
if(rand()%10000 >= 9000){
cout<<endl<<" "<<a[ater].name<<":我要上了!各位搭把手集火"<<a[beat].name<<"!"<<endl;
b[a[ater].team].converge=beat;
Sleep(1000);
}
else if(rand()%10000 >= 8000){
cout<<endl<<" "<<a[ater].name<<":配合我一下!集火"<<a[beat].name<<"!到时候没得吃亏!"<<endl;
b[a[ater].team].converge=beat;
Sleep(1000);
}
else if(rand()%10000 >= 7000){
cout<<endl<<" "<<a[ater].name<<":我想你们需要集火"<<a[beat].name<<"以达到最佳战术效果。"<<endl;
b[a[ater].team].converge=beat;
Sleep(1000);
}
else if(rand()%10000 >= 6000){
cout<<endl<<" "<<a[ater].name<<":我要上了!各位掩护我!"<<endl;
b[a[ater].team].protect=ater;
Sleep(1000);
}
else if(rand()%10000 >= 5000){
cout<<endl<<" "<<a[ater].name<<":你们最好掩护我一下,除非想输掉这场战斗。"<<endl;
b[a[ater].team].protect=ater;
Sleep(1000);
}
else if(rand()%10000 >= 4000){
cout<<endl<<" "<<a[ater].name<<":如果你们不想看着我死在这儿,就掩护我,白痴!"<<endl;
b[a[ater].team].protect=ater;
Sleep(1000);
}
}
if(rand()%1000 >= 900 && a[beat].zt<1){
cout<<"但是"<<a[beat].name<<"闪开了"<<endl;
Sleep(500);
return ;
}
if(a[ater].flag==true){
hurts*=a[ater].oy;
}
if(rand()%7==3){
hurts*=2;
cout<<"打出了暴击,";
}
if(hurts<1){
cout<<a[beat].name<<"防御了"<<endl;
}
else{
a[beat].hp-=hurts;
cout<<a[beat].name<<"掉了"<<hurts<<"点血"<<endl;
if(a[beat].hp<=0){
if(a[beat].hp<=-500){
cout<<" "<<a[beat].name<<"在一道伴着巨响的强光中消失了"<<endl;
}
else if(a[beat].hp<=-200){
cout<<" "<<a[beat].name<<"化为尘埃"<<endl;
}
else if(hhs==1){
cout<<" "<<a[beat].name<<"被秒杀了"<<endl;
}
else if(a[beat].hp<=-50){
cout<<" "<<a[beat].name<<"重伤身亡"<<endl;
}
else{
cout<<" "<<a[beat].name<<"倒地了"<<endl;
}
Sleep(400);
}
if(a[beat].hp>0&&rand()%20000 >=13000){
if(a[beat].hp<30 && rand()%10000 >=7000){
cout<<" "<<a[beat].name<<":我要倒了!掩护我!"<<endl;
b[a[ater].team].protect=ater;
Sleep(1000);
}
else if(hurts>=a[beat].maxhp/8 && rand()%10000 >=7000){
cout<<" "<<a[beat].name<<":天哪,这下可真够疼的!"<<endl;
Sleep(1000);
}
if(rand()%10000 >=9000){
cout<<" "<<a[beat].name<<":反击啊,你们这群废物!集火那个"<<a[ater].name<<"!"<<endl;;
b[a[beat].team].converge=ater;
Sleep(1000);
}
}
if(rand()%20000 >=13000){
if(rand()%10000 >=7000){
cout<<" "<<a[ater].name<<":到你们了!干掉这个家伙!"<<endl;
b[a[ater].team].converge=beat;
Sleep(1000);
}
else if(rand()%10000 >=7000){
cout<<" "<<a[ater].name<<":完成!接下来交给你们!"<<endl;
Sleep(1000);
}
else if(rand()%10000 >=7000){
cout<<" "<<a[ater].name<<":漂亮!各位集火这家伙!"<<endl;
b[a[ater].team].converge=beat;
Sleep(1000);
}
}
}
}
void cljn(int ater,int jnbh,int beat){
int ms=a[ater].sx,mlz=a[ater].ml,ratk,cnt;
a[ater].flag=false;
if(rand()%1000<a[ater].oy*100){
a[ater].flag=true;
a[ater].oy++;
}
cout<<a[ater].name<<"使用了";
if(a[ater].flag==true){
cout<<" 奥义·";
}
cout<<jnm[ms-1][jnbh]<<",";
if(ms==1){
Color(4);
if(jnbh==0){
ratk=mlz*2+rand()%40-20;
attack(ater,beat,ratk);
}
if(jnbh==1){
cnt=0;
for(int i=1;i<rs;i++){
Color(4);
if(a[i].hp<1){
continue;
}
if(a[i].team==a[ater].team){
if(cnt!=0){
cout<<" ";
}
cnt++;
Color(2);
a[i].hp+=mlz;
cout<<"回复了"<<a[i].name<<"的"<<mlz<<"点血"<<endl;
Sleep(300);
continue;
}
if(rand()%30+1 > 20){
ratk=mlz+rand()%30-10;
if(cnt!=0){
cout<<" ";
}
cnt++;
attack(ater,i,ratk);
Sleep(300);
}
}
if(cnt==0){
cout<<"但是没有命中一个人"<<endl;
}
}
}
if(ms==2){
Color(1);
if(jnbh==0){
cnt=0;
for(int i=1;i<rs;i++){
if(a[i].hp<1){
continue;
}
if(a[i].team==a[ater].team){
continue;
}
if(rand()%100+1 > 5){
ratk=a[i].def+mlz/2+rand()%15;
if(cnt!=0){
cout<<" ";
}
cnt++;
attack(ater,i,ratk);
Sleep(300);
}
}
if(cnt==0){
cout<<"但是没有命中一个人"<<endl;
}
}
if(jnbh==1){
ratk=mlz/2-rand()%10;
a[beat].zt=1;
cout<<"将"<<a[beat].name<<"卷进水牢,扣血时";
attack(ater,beat,ratk);
Sleep(700);
}
}
if(ms==3){
Color(5);
if(jnbh==0){
cnt=4+rand()%2;
for(int i=1;i<=cnt;i++){
if(a[beat].hp<1){
break;
}
ratk=a[beat].def+mlz;
if(i!=1){
cout<<" ";
}
attack(ater,beat,ratk);
Sleep(125);
}
}
if(jnbh==1){
int bekn,num=0;
for(int i=1;i<=5;i++){
if(a[beat].hp<1){
continue;
}
ratk=a[beat].def+30;
if(i!=1){
cout<<" ";
}
attack(ater,beat,ratk);
while(num<4){
bekn=rand()%(rs-1)+1;
if(a[bekn].hp>0 && a[bekn].team!=a[ater].team){
beat=bekn;
break;
}
num++;
}
Sleep(300);
}
}
}
if(ms==4){
Color(6);
if(jnbh==0){
cnt=3+rand()%2;
for(int i=1;i<=cnt;i++){
if(a[beat].hp<1){
break;
}
ratk=a[beat].def+mlz+10;
if(i!=1){
cout<<" ";
}
attack(ater,beat,ratk);
Sleep(200);
}
}
if(jnbh==1){
cnt=0;
for(int i=1;i<rs;i++){
if(a[i].hp<1){
continue;
}
if(a[i].team==a[beat].team){
ratk=a[beat].def+mlz+15;
if(cnt!=0){
cout<<" ";
}
attack(ater,i,ratk);
Sleep(250);
cnt++;
}
}
}
}
if(ms==5){
if(jnbh==0){
ratk=mlz+rand()%65-15;
attack(ater,beat,ratk);
Sleep(350);
if(a[beat].hp>0){
cout<<" "<<a[beat].name<<"被冻住了"<<endl;
a[beat].zt=8;
}
Sleep(500);
}
if(jnbh==1){
ratk=mlz*2+rand()%50-20;
attack(ater,beat,ratk);
Sleep(350);
if(a[beat].hp>0){
cout<<" "<<a[beat].name<<"被给予'冻伤'状态"<<endl;
a[beat].zt=12;
}
Sleep(500);
}
}
if(ms==6){
if(jnbh==0){
int minn=1000;
for(int i=1;i<rs;i++){
if(a[i].hp<1){
continue;
}
if(a[i].team!=a[ater].team){
continue;
}
if(a[i].hp<=minn){
beat=i;
}
}
if(rand()%100 >=30&& a[b[a[ater].team].protect].hp>0){
beat=b[a[ater].team].protect;
}
Color(2);
a[beat].hp+=mlz;
cout<<"回复了"<<a[beat].name<<"的"<<mlz<<"点血"<<endl;
Sleep(700);
}
if(jnbh==1){
int maxn=-1000;
for(int i=1;i<rs;i++){
if(a[i].hp<1){
continue;
}
if(a[i].team==a[ater].team){
continue;
}
if(a[i].hp>=maxn){
beat=i;
}
}
ratk=mlz-rand()%30;
attack(ater,beat,ratk);
Sleep(350);
a[ater].hp+=ratk-10;
Color(2);
cout<<" 回复了自己的"<<ratk-10<<"点血"<<endl;
Sleep(350);
}
}
if(ms==7){
int minn=1000,bebeat,maxn=-100;
Color(3);
if(jnbh==0){
for(int i=1;i<rs;i++){
if(a[i].hp<1){
continue;
}
if(a[i].team==a[ater].team){
continue;
}
if(a[i].hp<=minn){
minn=a[i].hp;
beat=i;
}
if(a[i].hp>=maxn){
maxn=a[i].hp;
bebeat=i;
}
}
if(a[ater].cs<4){
ratk=100*a[ater].cs+a[beat].def;
cout<<"他的魔咒射向了"<<a[beat].name<<",";
attack(ater,beat,ratk);
if(a[beat].hp<1){
Sleep(500);
cout<<a[beat].name<<"的死给"<<a[ater].name<<"的阿瓦达索命叠加了层数"<<endl;
a[ater].cs++;
if(a[ater].cs>3){
cout<<a[ater].name<<"的阿瓦达索命已经满层,接下来将秒杀一切"<<endl;
}
}
Sleep(700);
}
else{
ratk=rand()%5000+5000;
cout<<"由于层数叠满,直接秒杀"<<endl;
attack(ater,bebeat,ratk);
Sleep(700);
}
}
if(jnbh==1){
int bekn,num=0;
ratk=mlz*2+rand()%60;
for(int i=1;i<=3;i++){
if(a[beat].hp<1){
continue;
}
if(i!=1){
cout<<" ";
}
attack(ater,beat,ratk);
while(num<3){
bekn=rand()%(rs-1)+1;
if(a[bekn].hp>0 && a[bekn].team!=a[ater].team){
beat=bekn;
break;
}
num++;
}
if(beat!=bekn){
return ;
}
ratk/=10;
ratk*=9;
Sleep(500);
}
}
}
if(ms==8){
if(jnbh==0){
cout<<"场上出现了一个棋子"<<endl;
a[rs].name="棋子";
a[rs].hp=100;
a[rs].atk=50;
a[rs].def=50;
a[rs].ml=0;
a[rs].zt=0;
a[rs].sx=0;
a[rs].cs=0;
a[rs].team=a[ater].team;
rs++;
if(a[ater].flag==true){
a[rs].hp*=a[ater].oy;
a[rs].atk*=a[ater].oy;
a[rs].def*=a[ater].oy;
}
a[rs].maxhp=a[rs].hp;
Sleep(700);
}
if(jnbh==1){
int minn=1000;
beat=-1;
for(int i=1;i<rs;i++){
if(a[i].hp>0){
continue;
}
if(a[i].hp<=minn){
beat=i;
}
}
if(beat==-1){
cout<<"但是失败了"<<endl;
Sleep(700);
return ;
}
cout<<"把死去的"<<a[beat].name<<"变成了一只丧尸"<<endl;
a[rs].name="丧尸";
a[rs].hp=rand()%100 + 150;
a[rs].atk=rand()%85;
a[rs].def=rand()%30 + 20;
a[rs].ml=0;
a[rs].zt=0;
a[rs].sx=0;
a[rs].cs=0;
a[rs].team=a[ater].team;
rs++;
if(a[ater].flag==true){
a[rs].hp*=a[ater].oy;
a[rs].atk*=a[ater].oy;
a[rs].def*=a[ater].oy;
}
if(rand()%100>69){
int xxxxx=rs-1;
Color(3);
cout<<"丧尸 黑化 了,变成了一只黑魔法丧尸"<<endl;
a[xxxxx].name="黑魔法丧尸";
a[xxxxx].sx=7;
Sleep(500);
}
a[rs].maxhp=a[rs].hp;
Sleep(700);
}
}
if(ms==9){
Color(3);
if(jnbh==0){
cout<<"召唤了三个黑巫师!"<<endl;
for(int i=1;i<=3;i++){
a[rs].name="黑巫师";
a[rs].hp=rand()%250 + 150;
a[rs].atk=rand()%50 + 50;
a[rs].def=rand()%30 + 20;
a[rs].ml=rand()%80+20;
if(a[ater].flag==true){
a[rs].hp*=a[ater].oy;
a[rs].atk*=a[ater].oy;
a[rs].def*=a[ater].oy;
a[rs].ml*=a[ater].oy;
}
a[rs].zt=0;
a[rs].sx=7;
a[rs].cs=1;
a[rs].team=a[ater].team;
a[rs].maxhp=a[rs].hp;
rs++;
}
}
if(jnbh==1){
cnt=rand()%checklivings(ater)+1;
if(cnt==1 || checklivings(ater)==1){
cout<<"zhouys用龙骨碎全力劈砍下去..."<<endl;
attack(ater,beat,3*a[ater].atk);
Sleep(700);
}
else{
cout<<"龙骨碎裂开,然后朝着敌人飞散出去..."<<endl;
for(int i=1;i<=cnt-1;i++){
if(a[i].team==a[ater].team || a[i].hp<1){
cnt++;
continue;
}
if(i==rs-1){
return ;
}
cout<<"碎片贯穿了"<<a[i].name<<"的身体..."<<endl;
attack(ater,i,a[ater].atk/3*2);
Sleep(400);
}
cout<<"zhouys收起龙骨碎,然后朝着"<<a[cnt].name<<"砍了下去..."<<endl;
attack(ater,cnt,2*a[ater].atk);
Sleep(700);
}
}
}
if(ms==10){
cnt=0;
Color(3);
if(jnbh==0){
cout<<"放出了五个穿透性的阿瓦达!"<<endl;
for(int x=1;x<=5;x++){
cout<<"他放出了第"<<x<<"个阿瓦达..."<<endl;
for(int i=1;i<rs;i++){
if(a[i].hp<1 || a[i].team==a[ater].team){
continue;
}
if(rand()%50+1 > 25){
cout<<"阿瓦达贯穿了"<<a[i].name<<".."<<endl;
ratk=a[ater].atk*2+a[ater].ml*3;
cnt++;
attack(ater,i,ratk);
Sleep(300);
}
}
if(cnt==0){
cout<<"但是没有命中一个人"<<endl;
}
cout<<endl;
Sleep(800);
}
}
if(jnbh==1){
cout<<"钻心咒击中了"<<a[beat].name<<"!"<<endl;
attack(ater,beat,a[ater].def*2);
a[beat].zt=15;
}
}
if(ms==11){
Color(2);
if(jnbh==0){
cout<<"往人群中心丢出了一个TNT!"<<endl;
for(int i=1;i<rs;i++){
if(a[i].hp<1){
continue;
}
if(a[i].team==a[ater].team){
attack(ater,i,50+a[i].def);
}
else{
attack(ater,i,a[i].def+a[i].atk);
}
Sleep(50);
}
cout<<endl;
Sleep(800);
}
if(jnbh==1){
cout<<"他举起了下界合金斧..."<<endl;
if(rand()%100 >49){
cout<<"嘣!下界合金斧多了一层锋利!"<<endl;
Sleep(300);
cout<<a[ater].name<<"的攻击力提升了!"<<endl;
Sleep(300);
a[ater].atk*=3;
a[ater].atk/=2;
}
ratk=a[ater].atk*2;
attack(ater,beat,ratk+a[beat].def);
}
}
if(ms==12){
Color(1);
if(jnbh==0){
cout<<"召唤了一个爬行者!"<<endl;
a[rs].maxhp=a[rs].hp;
a[rs].name="爬行者";
a[rs].sx=13;
a[rs].hp=300;
a[rs].maxhp=300;
if(a[ater].flag==true){
a[rs].hp*=a[ater].oy;
}
a[rs].team=a[ater].team;
rs++;
Sleep(500);
}
if(jnbh==1){
cout<<"他学会了Dream的所有技能!"<<endl;
a[ater].sx=11;
Sleep(500);
}
}
if(ms==13){
Color(2);
cout<<"它爬到了"<<a[beat].name<<"的身旁..."<<endl;
cout<<"轰!!!"<<endl;
attack(ater,beat,1000);
a[ater].hp=-1;
cout<<"爬行者化为尘埃..."<<endl;
Sleep(500);
}
if(ms==14){
Color(1);
if(jnbh==0){
cout<<"释放出了海洋之力!"<<endl;
for(int i=1;i<rs;i++){
if(a[i].hp<1){
continue;
}
if(a[i].team==a[ater].team){
continue;
}
cnt=rand()%100+1;
cout<<"扣除了"<<a[i].name<<"的"<<a[i].maxhp<<'*'<<cnt<<"%点血"<<endl;
cout<<"实际伤害:"<<a[i].maxhp*cnt/100<<'-'<<a[i].def<<'='<<a[i].maxhp*cnt/100-a[i].def<<endl;
attack(ater,i,a[i].maxhp*cnt/100);
Sleep(200);
}
}
if(jnbh==1){
cout<<"释放出了海洋之力!"<<endl;
for(int i=1;i<rs;i++){
if(a[i].hp<1){
continue;
}
if(a[i].team!=a[ater].team){
continue;
}
cnt=rand()%50+1;
cout<<"回复了"<<a[i].name<<"的"<<a[i].maxhp<<'*'<<cnt<<"%点血"<<endl;
cout<<"实际恢复:"<<a[i].maxhp*cnt/100<<endl;
a[i].hp+=a[i].maxhp*cnt/100;
Sleep(150);
}
}
}
if(ms==15){
Color(5);
if(jnbh==0){
cout<<"他从数据库中随机抽取了一个数..."<<endl;
Sleep(100);
cnt=rand();
cout<<"他抽出了"<<cnt<<"!"<<endl;
if(cnt%2==0){
cout<<"是偶数,"<<a[beat].name<<"扣除血量!"<<endl;
attack(ater,beat,a[beat].def+a[beat].atk);
}
else{
cout<<"是奇数,自己扣血!"<<endl;
attack(ater,ater,a[ater].atk);
}
Sleep(300);
}
if(jnbh==1){
cout<<"他掷出一枚决定生死的硬币..."<<endl;
Sleep(500);
cout<<"硬币落地..."<<endl;
Sleep(400);
cnt=rand()%10000;
if(cnt>=5000){
cout<<"正面"<<endl;
Sleep(500);
attack(ater,ater,a[ater].maxhp*10000);
}
else{
cout<<"反面"<<endl;
Sleep(500);
cnt=checklivings(ater);
int xxx=cnt/2;
if(cnt%2!=0){
xxx++;
}
int i=1;
while(xxx>0){
if(a[i].team==a[ater].team || a[i].hp<1){
i++;
continue;
}
if(rand()%100<50){
attack(ater,i,a[i].maxhp*10000);
cout<<endl;
xxx--;
}
i++;
if(i>=rs){
i=1;
}
if(checkwin()){
break;
}
}
}
}
}
if(ms==16){
Color(6);
if(jnbh==0){
cout<<"他仰头干了一罐啤酒..."<<endl;
Sleep(700);
cout<<"杰哥的各项能力上升了!"<<endl;
a[ater].atk*=3;
a[ater].atk/=2;
a[ater].def*=3;
a[ater].def/=2;
a[ater].hp*=4;
a[ater].hp/=3;
a[ater].maxhp*=3;
a[ater].maxhp/=2;
a[ater].ml+=50;
Sleep(500);
cout<<"杰哥挥着拳头打出一击..."<<endl;
attack(ater,beat,a[ater].atk+a[beat].def);
if(a[beat].hp<1){
cout<<"杰哥感到一阵亢奋!"<<endl;
Sleep(600);
cout<<"杰哥的各项属性再次提升!"<<endl;
a[ater].atk*=4;
a[ater].atk/=3;
a[ater].def*=4;
a[ater].def/=3;
a[ater].hp*=5;
a[ater].hp/=4;
a[ater].maxhp*=4;
a[ater].maxhp/=3;
a[ater].ml+=25;
}
Sleep(500);
}
if(jnbh==1){
cout<<"他冲着"<<a[beat].name<<"扑了过去..."<<endl;
if(rand()%1000>=700){
cout<<a[beat].name<<"闪开了"<<endl;
}
else{
attack(ater,beat,a[beat].maxhp*50/100+a[ater].atk+a[beat].def);
}
Sleep(650);
}
}
if(ms==17){
Color(7);
if(jnbh==0){
cout<<"指挥官找到一个高地趴下..."<<endl;
Sleep(600);
if(rand()%100>=80){
cout<<a[beat].name<<"发现了指挥官并退出了他的视线..."<<endl;
Sleep(500);
return ;
}
cout<<"瞄准镜套住了"<<a[beat].name<<"..."<<endl;
Sleep(600);
if(rand()%100>=80){
cout<<a[beat].name<<"发现了指挥官并退出了他的视线..."<<endl;
Sleep(500);
return ;
}
cout<<"食指已轻触扳机..."<<endl;
Sleep(600);
if(rand()%100>=80){
cout<<a[beat].name<<"发现了指挥官并退出了他的视线..."<<endl;
Sleep(500);
return ;
}
cout<<"指挥官扣动扳机!"<<endl<<"砰!"<<endl;
Sleep(500);
cout<<a[beat].name<<"直接被爆头了!"<<endl;
attack(ater,beat,a[beat].hp/7);
Sleep(600);
}
if(jnbh==1){
cout<<"一队8人的战斗小队随即到达!"<<endl;
for(int i=1;i<=8;i++){
a[rs].name="士兵";
a[rs].team=a[ater].team;
a[rs].hp=rand()%250 + 150;
a[rs].atk=rand()%50 + 50;
a[rs].def=rand()%30 + 20;
a[rs].ml=rand()%80+20;
a[rs].zt=0;
a[rs].sx=rand()%3+18;
if(a[ater].flag==true){
a[rs].hp*=a[ater].oy;
a[rs].atk*=a[ater].oy;
a[rs].def*=a[ater].oy;
a[rs].ml*=a[ater].oy;
}
a[rs].maxhp=a[rs].hp;
rs++;
}
Sleep(700);
}
}
if(ms==18){
Color(7);
if(jnbh==0){
cout<<"他向"<<a[beat].name<<"刺出了一刀!"<<endl<<a[beat].name<<"流血了!"<<endl;
attack(ater,beat,a[beat].atk*2+a[beat].def);
a[beat].zt=16;
Sleep(600);
}
if(jnbh==1){
cout<<"他对着"<<a[beat].name<<"射出了一梭子子弹!"<<endl;
Sleep(450);
for(int i=1;i<=30;i++){
if(a[beat].hp<1){
break;
}
cout<<" ";
attack(ater,beat,a[ater].atk*3+a[beat].def);
Sleep(50);
}
Sleep(600);
}
}
if(ms==19){
Color(7);
if(jnbh==0){
cout<<"向人群中间丢出了一颗手雷!"<<endl;
cnt=0;
for(int i=1;i<rs;i++){
if(a[i].hp<1 || a[i].team==a[ater].team){
continue;
}
if(rand()%100<50){
attack(ater,i,a[i].atk+a[ater].atk);
cnt++;
Sleep(100);
}
}
if(cnt==0){
cout<<"但是没有命中一个人"<<endl;
}
Sleep(600);
}
if(jnbh==1){
cout<<"拉动枪栓,射出了一发子弹!"<<endl;
attack(ater,beat,a[ater].atk*3+a[beat].maxhp/7);
if(a[beat].def>0 && rand()%100<50){
cout<<" "<<a[beat].name<<"的防御减少了!"<<endl;
a[beat].def/=3;
a[beat].def*=2;
Sleep(50);
}
Sleep(600);
}
}
if(ms==20){
Color(7);
if(jnbh==0){
cout<<"重机枪疯狂地喷射出子弹!"<<endl;
Sleep(600);
int minx=-100;
for(int j=1;j<rs;j++){
if(a[j].team==a[ater].team){
continue;
}
if(a[j].hp<1){
continue;
}
if(a[j].hp>minx){
minx=a[j].hp;
beat=j;
}
}
if(rand()%100>=30 && a[b[a[ater].team].converge].hp>0){
beat=b[a[ater].team].converge;
}
for(int i=1;i<=50;i++){
if(a[beat].hp<1){
break;
}
cout<<" ";
attack(ater,beat,a[ater].atk*2);
if(a[beat].def>0 && rand()%100<50){
cout<<" "<<a[beat].name<<"的防御减少了!"<<endl;
a[beat].def--;
Sleep(50);
}
Sleep(10);
}
Sleep(700);
}
if(jnbh==1){
cout<<"向人群中间丢出了一颗手雷!"<<endl;
cnt=0;
for(int i=1;i<rs;i++){
if(a[i].hp<1 || a[i].team==a[ater].team){
continue;
}
if(rand()%100<50){
attack(ater,i,a[i].atk+a[ater].atk);
cnt++;
Sleep(100);
}
}
if(cnt==0){
cout<<"但是没有命中一个人"<<endl;
}
Sleep(600);
}
}
if(ms==21){
Color(7);
if(jnbh==0){
cnt=0;
int maxn=a[ater].hp;
for(int i=1;i<rs;i++){
if(a[i].hp<1 || a[i].team==a[ater].team){
continue;
}
if(a[i].hp>a[ater].hp){
maxn=a[i].hp;
cnt=i;
}
}
if(cnt==0){
cout<<"但是失败了"<<endl;
}
else{
cout<<"互换了自己和"<<a[cnt].name<<"的血量!"<<endl;
swap(a[ater].hp,a[cnt].hp);
}
Sleep(700);
}
if(jnbh==1){
cout<<"乌鸦如同潮水般涌出!"<<endl;
Sleep(300);
if(a[beat].def<=10){
cnt=30;
}
else{
cnt=a[beat].def/2;
}
cout<<a[beat].name<<"的防御减少了"<<cnt<<endl;
a[beat].def-=cnt;
Sleep(300);
attack(ater,beat,a[beat].maxhp/(2+rand()%2));
Sleep(700);
}
}
if(ms==22){
Color(2);
if(jnbh==0){
cout<<"抬起枪开始扫射!"<<endl;
Sleep(300);
for(int i=1;i<=a[ater].ml/10;i++){
if(a[beat].hp<1){
break;
}
attack(ater,beat,a[ater].atk*3+a[beat].atk);
Sleep(300);
}
}
if(jnbh==1){
cout<<"麦克和崔佛到达战场!"<<endl;
a[rs].name="麦克";
a[rs].team=a[ater].team;
a[rs].hp=rand()%100 + 400;
a[rs].atk=rand()%50 + 100;
a[rs].def=rand()%50 + 60;
a[rs].ml=rand()%50+50;
a[rs].sx=23;
a[rs].zt=0;
a[rs].maxhp=a[rs].hp;
a[rs].oy=1;
a[rs].flag=false;
rs++;
a[rs].name="崔佛";
a[rs].team=a[ater].team;
a[rs].hp=rand()%100 + 400;
a[rs].atk=rand()%50 + 100;
a[rs].def=rand()%50 + 60;
a[rs].ml=rand()%50+50;
a[rs].sx=24;
a[rs].zt=0;
a[rs].maxhp=a[rs].hp;
a[rs].oy=1;
a[rs].flag=false;
rs++;
}
}
if(ms==23){
Color(1);
if(jnbh==0){
cout<<"抬起枪开始扫射!"<<endl;
Sleep(300);
for(int i=1;i<=a[ater].ml/10;i++){
if(a[beat].hp<1){
break;
}
attack(ater,beat,a[ater].atk*2+a[beat].atk);
Sleep(300);
}
}
if(jnbh==1){
cout<<"抬起了一把反器材狙击步枪!"<<endl;
Sleep(1000);
attack(ater,beat,10000+rand()%(a[beat].maxhp/10*2));
}
}
if(ms==24){
Color(1);
if(jnbh==0){
cout<<"接下来的"<<a[ater].ml/10<<"个回合他将获得超高防御力!"<<endl;
a[ater].zt=22;
a[ater].def=INT_MAX;
Sleep(500);
}
if(jnbh==1){
cout<<"抬起了备弹充足的火神机枪!"<<endl;
Sleep(1000);
for(int i=1;i<rs;i++){
if(a[i].hp<1 || a[i].team==a[ater].team){
continue;
}
if(rand()%1000<950){
attack(ater,beat,a[ater].atk*5+a[beat].def);
}
Sleep(75);
}
}
}
if(ms==33){
Color(rand()%8);
if(jnbh==0){
cnt=rand()%24+1;
cout<<"叫来了一个属性为"<<cnt<<"的敌人!"<<endl;
a[rs].name="敌人";
a[rs].team=a[ater].team;
a[rs].hp=400;
a[rs].atk=100;
a[rs].def=70;
a[rs].ml=80;
a[rs].zt=0;
a[rs].sx=cnt;
if(a[ater].flag==true){
a[rs].hp*=a[ater].oy;
a[rs].atk*=a[ater].oy;
a[rs].def*=a[ater].oy;
a[rs].ml*=a[ater].oy;
}
a[rs].maxhp=a[rs].hp;
rs++;
Sleep(500);
}
if(jnbh==1){
cout<<"将炮口对准了"<<a[beat].name<<"...";
Sleep(1000);
a[beat].zt=10;
attack(ater,beat,a[beat].hp+a[beat].def+525);
Sleep(500);
}
}
a[ater].flag=false;
}
void game(){
int ater,beat,minx,knx,jn;
while(true){
Color(0);
if(checkwin()==true){
return ;
}
for(int i=1;i<rs;i++){
Color(0);
if(a[i].hp<1){
continue;
}
if(a[i].sx==33){
Color(rand()%8);
a[i].zt=0;
}
if(a[i].zt>0 && a[i].zt<7){
a[i].zt++;
if(a[i].zt>=rand()%3+3){
cout<<a[i].name<<"从";
Color(1);
cout<<"水牢";
Color(0);
cout<<"中挣脱出来"<<endl;
a[i].zt=0;
Sleep(500);
}
else{
cout<<a[i].name<<"在";
Color(1);
cout<<"水牢";
Color(0);
cout<<"里挣扎,但是扣血,";
attack(ater,i,a[i].def+25);
Sleep(500);
continue;
}
}
if(a[i].zt>7 && a[i].zt<12){
a[i].zt++;
if(a[i].zt==11){
cout<<a[i].name<<"所处的冰块融化了"<<endl;
a[i].zt=0;
Sleep(600);
}
else{
cout<<a[i].name<<"在冰块里无法动弹"<<endl;
Sleep(700);
continue;
}
}
if(a[i].zt==12){
if(rand()%100>=20){
cout<<a[i].name<<"从冻伤中恢复过来"<<endl;
a[i].zt=0;
}
else{
cout<<a[i].name<<"冻伤发作,他又冻住了"<<endl;
a[i].zt=8;
}
}
if(a[i].zt>12 && a[i].zt<16){
a[i].zt--;
cout<<a[i].name<<"因为钻心受到伤害…"<<endl;
int xxx=a[i].def*(16-a[i].zt);
attack(ater,i,xxx);
}
if(a[i].zt>15 && a[i].zt<20){
a[i].zt++;
cout<<a[i].name<<"因为流血受到伤害…"<<endl;
attack(ater,i,a[i].def+a[i].maxhp/20);
}
if(a[i].zt>21 && a[i].zt<22+a[i].ml/10){
a[i].zt++;
if(a[i].zt==22+a[i].ml/10){
cout<<a[i].name<<"的无敌时间已过!"<<endl;
a[i].hp=a[i].maxhp;
a[i].def=rand()%50 + 70;
}
else{
cout<<a[i].name<<"的防御高到离谱!"<<endl;
a[i].def=INT_MAX;
}
}
ater=i;
knx=rand()%4;
if(knx==0){
minx=1000;
for(int j=1;j<rs;j++){
if(a[j].team==a[i].team){
continue;
}
if(a[j].hp<1){
continue;
}
if(a[j].hp<minx){
minx=a[j].hp;
beat=j;
}
}
}
else if(knx==2){
minx=-100;
for(int j=1;j<rs;j++){
if(a[j].team==a[i].team){
continue;
}
if(a[j].hp<1){
continue;
}
if(a[j].hp>minx){
minx=a[j].hp;
beat=j;
}
if(a[j].sx==7){
beat=j;
}
}
}
else if(knx==1){
minx=-100;
for(int j=1;j<rs;j++){
if(a[j].team==a[i].team){
continue;
}
if(a[j].hp<1){
continue;
}
if(a[j].atk>minx){
minx=a[j].hp;
beat=j;
}
}
}
else{
minx=-100;
for(int j=1;j<rs;j++){
if(a[j].team==a[i].team){
continue;
}
if(a[j].hp<1){
continue;
}
if(a[j].def>minx){
minx=a[j].hp;
beat=j;
}
}
}
if(rand()%100>=30 && a[b[a[i].team].converge].hp>0){
beat=b[a[i].team].converge;
}
if(a[i].sx!=0){
jn=rand()%100+1;
if(jn>=jncxgl[a[i].sx-1][0]){
cljn(ater,0,beat);
Sleep(700);
continue;
}
jn=rand()%100+1;
if(jn>=jncxgl[a[i].sx-1][1]){
cljn(ater,1,beat);
Sleep(700);
continue;
}
}
cout<<a[ater].name<<"发动攻击,";
attack(ater,beat,a[i].atk);
Sleep(700);
Color(0);
if(checkwin()==true){
return ;
}
}
Color(0);
if(checkwin()==true){
return ;
}
cout<<"回合结束,目前血量:";
for(int i=1;i<rs;i++){
cout<<a[i].hp<<' ';
}
hhs++;
Sleep(1000);
cout<<endl;
Sleep(500);
Color(0);
n=rs-1;
}
}
int main(){
srand(time(NULL));
cout<<"欢迎来到名字竞技场!请按下任意键继续。";
getch();
system("cls");
cout<<"你要玩那个模式?输入1或2或3 "<<endl<<"1.正常模式 2.疯狂阿瓦达模式 3.无尽模式"<<endl<<"4.(限时开放)与作者的战斗"<<endl;
int mmmsss;
cin>>mmmsss;
rs=1;
if(mmmsss==1 || mmmsss==2){
system("cls");
cout<<"请输入队伍总数(可以一人一队但绝对不可以空队):";
cin>>n;
cout<<"接下来输入每队的人物名字(P.S不可以重名哦)"<<endl;
for(int i=1;i<=n;i++){
cout<<"现在请输入第"<<i<<"队的人物名字,名字之间用英文输入法的/隔开,结尾不用输/"<<endl;
cin>>s;
for(int cl=0;cl<s.size();cl++){
if(s[cl]=='/'){
a[rs].name=p;
a[rs].team=i;
p="";
a[rs].hp=rand()%250 + 150;
a[rs].atk=rand()%50 + 50;
a[rs].def=rand()%30 + 20;
a[rs].ml=rand()%80+20;
a[rs].zt=0;
a[rs].sx=rand()%8+1;//rand()%8+1
a[rs].cs=1;
if(mmmsss==2){
a[rs].sx=7;
a[rs].cs=4;
}
if(a[rs].name=="zhouys"){
a[rs].hp=rand()%1000 + 2000;
a[rs].atk=rand()%100 + 200;
a[rs].def=rand()%100 + 100;
a[rs].ml=rand()%120 + 40;
a[rs].sx=9;
}
if(a[rs].name=="Lunionz"){
a[rs].hp=rand()%1000 + 2000;
a[rs].atk=rand()%100 + 200;
a[rs].def=rand()%100 + 100;
a[rs].ml=rand()%120 + 40;
a[rs].sx=10;
}
if(a[rs].name=="Dream"){
a[rs].hp*=2;
a[rs].atk*=3;
a[rs].atk/=2;
a[rs].def*=2;
a[rs].sx=11;
}
if(a[rs].name=="George"){
a[rs].hp*=3;
a[rs].hp/=2;
a[rs].atk*=5;
a[rs].atk/=4;
a[rs].def*=3;
a[rs].def/=2;
a[rs].sx=12;
}
if(a[rs].name=="slsyssy2658"){
a[rs].hp*=4;
a[rs].hp/=3;
a[rs].atk*=4;
a[rs].atk/=3;
a[rs].def*=4;
a[rs].def/=3;
a[rs].sx=14;
}
if(a[rs].name=="l_d"){
a[rs].hp*=4;
a[rs].hp/=3;
a[rs].atk*=4;
a[rs].atk/=3;
a[rs].def*=4;
a[rs].def/=3;
a[rs].sx=15;
}
if(a[rs].name=="杰哥"){
a[rs].hp*=2;
a[rs].atk*=3;
a[rs].atk/=2;
a[rs].def*=3;
a[rs].def/=2;
a[rs].sx=16;
}
if(a[rs].name=="指挥官"){
a[rs].sx=17;
}
if(a[rs].name=="ice_girl"){
a[rs].hp*=3;
a[rs].hp/=2;
a[rs].atk*=4;
a[rs].atk/=3;
a[rs].def*=4;
a[rs].def/=3;
a[rs].sx=21;
}
if(a[rs].name=="富兰克林"){
a[rs].hp=rand()%100 + 400;
a[rs].atk=rand()%50 + 100;
a[rs].def=rand()%50 + 60;
a[rs].ml=rand()%50+50;
a[rs].sx=22;
}
if(a[rs].name=="麦克"){
a[rs].hp=rand()%100 + 400;
a[rs].atk=rand()%50 + 100;
a[rs].def=rand()%50 + 60;
a[rs].ml=rand()%50+50;
a[rs].sx=23;
}
if(a[rs].name=="崔佛"){
a[rs].hp=rand()%100 + 400;
a[rs].atk=rand()%50 + 100;
a[rs].def=rand()%50 + 60;
a[rs].ml=rand()%50+50;
a[rs].sx=24;
}
a[rs].maxhp=a[rs].hp;
a[rs].oy=1;
a[rs].flag=false;
rs++;
}
else{
p+=s[cl];
}
}
a[rs].name=p;
a[rs].team=i;
p="";
a[rs].hp=rand()%250 + 150;
a[rs].atk=rand()%50 + 50;
a[rs].def=rand()%30 + 20;
a[rs].ml=rand()%80+20;
a[rs].zt=0;
a[rs].sx=rand()%8+1;
a[rs].cs=1;
if(mmmsss==2){
a[rs].sx=7;
a[rs].cs=4;
}
if(a[rs].name=="zhouys"){
a[rs].hp=rand()%1000 + 2000;
a[rs].atk=rand()%100 + 200;
a[rs].def=rand()%150 + 100;
a[rs].ml=rand()%120 + 40;
a[rs].sx=9;
}
if(a[rs].name=="Lunionz"){
a[rs].hp=rand()%750 + 1500;
a[rs].atk=rand()%100 + 100;
a[rs].def=rand()%75 + 60;
a[rs].ml=rand()%90 + 30;
a[rs].sx=10;
}
if(a[rs].name=="Dream"){
a[rs].hp*=2;
a[rs].atk*=3;
a[rs].atk/=2;
a[rs].def*=3;
a[rs].def/=2;
a[rs].sx=11;
}
if(a[rs].name=="George"){
a[rs].hp*=3;
a[rs].hp/=2;
a[rs].atk*=5;
a[rs].atk/=4;
a[rs].def*=3;
a[rs].def/=2;
a[rs].sx=12;
}
if(a[rs].name=="slsyssy2658"){
a[rs].hp*=4;
a[rs].hp/=3;
a[rs].atk*=4;
a[rs].atk/=3;
a[rs].def*=4;
a[rs].def/=3;
a[rs].sx=14;
}
if(a[rs].name=="l_d"){
a[rs].hp*=4;
a[rs].hp/=3;
a[rs].atk*=4;
a[rs].atk/=3;
a[rs].def*=4;
a[rs].def/=3;
a[rs].sx=15;
}
if(a[rs].name=="杰哥"){
a[rs].hp*=2;
a[rs].atk*=3;
a[rs].atk/=2;
a[rs].def*=3;
a[rs].def/=2;
a[rs].sx=16;
}
if(a[rs].name=="指挥官"){
a[rs].sx=17;
}
if(a[rs].name=="ice_girl"){
a[rs].hp*=3;
a[rs].hp/=2;
a[rs].atk*=4;
a[rs].atk/=3;
a[rs].def*=4;
a[rs].def/=3;
a[rs].sx=21;
}
if(a[rs].name=="富兰克林"){
a[rs].hp=rand()%100 + 400;
a[rs].atk=rand()%50 + 100;
a[rs].def=rand()%50 + 60;
a[rs].ml=rand()%50+50;
a[rs].sx=22;
}
if(a[rs].name=="麦克"){
a[rs].hp=rand()%100 + 400;
a[rs].atk=rand()%50 + 100;
a[rs].def=rand()%50 + 60;
a[rs].ml=rand()%50+50;
a[rs].sx=23;
}
if(a[rs].name=="崔佛"){
a[rs].hp=rand()%100 + 400;
a[rs].atk=rand()%50 + 100;
a[rs].def=rand()%50 + 60;
a[rs].ml=rand()%50+50;
a[rs].sx=24;
}
a[rs].maxhp=a[rs].hp;
a[rs].oy=1;
a[rs].flag=false;
rs++;
}
if(mmmsss==2){
for(int i=1;i<rs;i++){
a[i].hp*=50;
a[i].maxhp*=50;
a[i].cs=4;
}
jncxgl[6][0]=0;
jncxgl[6][1]=100;
}
cout<<"下面的数值分别代表名字,血量,攻击,防御,魔力,属性,队伍"<<endl;
for(int i=1;i<rs;i++){
cout<<a[i].name<<' '<<a[i].hp<<' '<<a[i].atk<<' '<<a[i].def<<' '<<a[i].ml<<' '<<a[i].sx<<' '<<a[i].team<<endl;
Sleep(50);
}
Sleep(500);
cout<<endl;
Sleep(500);
cout<<"战斗开始"<<endl;
Sleep(1000);
game();
Sleep(500);
cout<<"游戏结束!"<<endl;
Sleep(500);
cout<<"目前血量:";
for(int i=1;i<rs;i++){
cout<<a[i].hp<<' ';
}
Sleep(1000);
cout<<endl;
for(int i=1;i<=n;i++){
if(chrs[i]>0){
cout<<"胜利的是第"<<i<<"队"<<endl;
break;
}
}
Sleep(1000);
cout<<"如果想再来请重新运行程序";
Sleep(1000);
}
if(mmmsss==3){
int cnt;
cout<<"你需要什么属性?(1~8分别为: 1火,2水,3电,4地,5冰,6疗,7黑,8召)"<<endl;
cin>>a[rs].sx;
if(a[rs].sx==33){
a[rs].sx=13;
}
Sleep(500);
a[rs].name="你";
a[rs].team=1;
a[rs].hp=rand()%250 + 250;
a[rs].atk=rand()%50 + 50;
a[rs].def=rand()%30 + 20;
a[rs].ml=rand()%80+20;
a[rs].maxhp=a[rs].hp;
a[rs].zt=0;
a[rs].cs=1;
a[rs].oy=1;
a[rs].flag=false;
n=2;
rs++;
cout<<"你的其他属性初始化完毕"<<endl;
cout<<"下面的数值分别代表你的血量,攻击,防御,魔力,属性"<<endl;
cout<<a[1].hp<<' '<<a[1].atk<<' '<<a[1].def<<' '<<a[1].ml<<' '<<a[1].sx<<endl;
Sleep(2000);
int level=1;
while(a[1].hp>0){
system("cls");
a[1].zt=0;
cout<<"战斗开始"<<endl;
for(int i=1;i<=level;i++,rs++){
a[rs].name="敌人";
a[rs].team=2;
a[rs].hp=rand()%250 + 140 + level*10;
a[rs].atk=rand()%50 + 40 + level*10;
a[rs].def=rand()%30 + 10 + level*10;
a[rs].ml=rand()%80 + 10 + level*10;
a[rs].zt=0;
a[rs].maxhp=a[rs].hp;
a[rs].sx=rand()%7+1;
a[rs].cs=1;
cout<<"生成了血量为"<<a[rs].hp<<",属性为"<<a[rs].sx<<"的敌人!"<<endl;
Sleep(100);
}
Sleep(100);
game();
Sleep(500);
if(a[1].hp>0){
cout<<"你通过了第"<<level<<"关"<<endl;
Sleep(500);
cout<<"你目前的血量,攻击,防御,魔力,属性:"<<endl;
cout<<a[1].hp<<' '<<a[1].atk<<' '<<a[1].def<<' '<<a[1].ml<<' '<<a[1].sx<<endl;
Sleep(1000);
cout<<"你可以选择一个加成"<<endl;
Sleep(300);
cout<<"1.增加血量上限至"<<a[1].maxhp+10*level<<"且回满血量"<<endl<<"2.增加攻击力至"<<a[1].atk+10*level<<endl<<"3.增加防御力至"<<a[1].def+10*level<<endl<<"4.增加魔力至"<<a[1].ml+10*level<<endl<<"5.增加"<<jnm[a[1].sx-1][0]<<"的出现概率至"<<100-jncxgl[a[1].sx-1][0]+level<<'%'<<endl<<"6.增加"<<jnm[a[1].sx-1][1]<<"的出现概率至"<<100-jncxgl[a[1].sx-1][1]+level<<'%'<<endl<<"7.随机抽取一个属性(可能会很强也可能会弱到爆炸)"<<endl<<"其他.放弃"<<endl;
cin>>cnt;
if(cnt==1){
a[1].maxhp+=10*level;
a[1].hp=a[1].maxhp;
}
else if(cnt==2){
a[1].atk+=10*level;
}
else if(cnt==3){
a[1].def+=10*level;
}
else if(cnt==4){
a[1].ml+=10*level;
}
else if(cnt==5){
jncxgl[a[1].sx-1][0]-=level;
}
else if(cnt==6){
jncxgl[a[1].sx-1][1]-=level;
}
else if(cnt==7){
a[1].sx=rand()%24+1;
cout<<"你现在的属性是"<<a[1].sx<<endl;
}
else{
cout<<"你选择放弃。"<<endl;
}
Sleep(500);
cout<<"下面的数值分别代表你的血量,攻击,防御,魔力,属性"<<endl;
cout<<a[1].hp<<' '<<a[1].atk<<' '<<a[1].def<<' '<<a[1].ml<<' '<<a[1].sx<<endl;
Sleep(1000);
level++;
int cnt=2;
for(int i=2;i<rs;i++){
if(a[i].team==1){
swap(a[i],a[cnt]);
cnt++;
}
}
rs=cnt;
cout<<endl<<"即将开始第"<<level<<"波攻击...";
Sleep(1000);
}
else{
cout<<"你最后挑战到第"<<level<<"关!"<<endl;
Sleep(1000);
cout<<"如果想再来请重新运行程序";
Sleep(1000);
}
}
}
if(mmmsss==4){
cout<<"请输入三个挑战者的属性。"<<endl;
Sleep(500);
n=4;
for(int i=1;i<=3;i++){
cout<<"输入第"<<i<<"个挑战者的属性";
cin>>a[rs].sx;
if(a[rs].sx==33){
a[rs].sx=13;
}
a[rs].name="挑战者";
a[rs].team=1;
a[rs].hp=rand()%200 + 500;
a[rs].atk=rand()%50 + 100;
a[rs].def=rand()%50 + 50;
a[rs].ml=rand()%50+80;
a[rs].maxhp=a[rs].hp;
a[rs].zt=0;
a[rs].cs=1;
a[rs].oy=1;
a[rs].flag=false;
rs++;
}
a[rs].sx=33;
a[rs].name="作者";
a[rs].team=2;
a[rs].hp=INT_MAX;
a[rs].atk=200;
a[rs].def=300;
a[rs].ml=200;
a[rs].maxhp=a[rs].hp;
a[rs].zt=0;
a[rs].cs=1;
a[rs].oy=1;
a[rs].flag=false;
rs++;
cout<<"下面的数值分别代表名字,血量,攻击,防御,魔力,属性,队伍"<<endl;
for(int i=1;i<rs;i++){
cout<<a[i].name<<' '<<a[i].hp<<' '<<a[i].atk<<' '<<a[i].def<<' '<<a[i].ml<<' '<<a[i].sx<<' '<<a[i].team<<endl;
Sleep(50);
}
Sleep(1000);
game();
Sleep(500);
cout<<"游戏结束!"<<endl;
Sleep(500);
cout<<"目前血量:";
for(int i=1;i<rs;i++){
cout<<a[i].hp<<' ';
}
Sleep(1000);
cout<<endl;
for(int i=1;i<=n;i++){
if(chrs[i]>0){
cout<<"胜利的是第"<<i<<"队"<<endl;
break;
}
}
Sleep(1000);
cout<<"如果想再来请重新运行程序";
Sleep(1000);
}
return 0;
}