#include<bits/stdc++.h>
#include<iostream>
#include<Windows.h>
#include <time.h>
#include <stdlib.h>
int run,runtime,runf;
double zlcd,qx=0,pj=0,sy=0,jhcs=1;//zlcd为治疗术的cd;jhcs为可激活的次数
int lv=1;
double jnat;//专属技能攻击力
double jnbl;//专属技能恢复血量
double jncd;//专属技能cd
double ep=0;
double jntime;//专属技能buff持续时间
double hero,coin,at,bl,blm,enbl,enat,flag,hh,zntime,zncd,epm=100;//bl为血量,blm为血量上限,en开头的为敌人变量,zncd为技能战意怒吼的cd,hh为回合数,zntime为战意怒吼的持续时间
using namespace std;
void rn()
{
srand((unsigned)time(NULL));
runtime=1;
runf=0;
run=rand()%10;
if(runtime==1)
{
if(run==0||run==5||run==10)
{
cout<<"逃跑成功!"<<endl;
runf=1;
}
else
{
cout<<"逃跑失败!"<<endl;
runtime--;
runf=0;
}
}
}
int main()
{
string jhm,jh="WriterIsHandsome!";
srand((unsigned)time(NULL));
while(true)
{
cout<<"版本号:内测0.5.8,作者:蓝色刺猬(Jack_Killer)"<<endl;
Sleep(1000);
cout<<"更新日志:"<<endl;
Sleep(500);
cout<<"1.修复了一个无关紧要的BUG,对开头无聊的打野怪加速了"<<endl;
Sleep(1000);
cout<<"2.专属技能系统正式加入测试,但是因为有各种鬼畜的BUG,所以只能在打野怪的时候用,下次更新再加入至全部战斗(当然敌人也是要增强的哈哈哈哈)"<<endl;
Sleep(3000);
system("color 1");
system("color 2");
system("color 3");
system("color 4");
system("color 5");
system("color 6");
system("color 7");
system("color 8");
system("color 0");
cout<<"3.如有遇到莫名其妙的BUG望各位dalao指出,谢谢!"<<endl;
Sleep(1000);
cout<<"如果觉得上面很烦的输入0以清理屏幕,觉得不烦的请回复作者并且随便输入一个字符"<<endl;
cout<<endl<<endl;
cin>>flag;
if(flag==0)
system("cls");
cout<<"欢迎来到这个战乱的世界,你要拯救这个世界!请选择你的英雄:"<<endl<<"1.鲁班八号,攻击高,血量低;"<<endl<<"2.工本五脏,攻击中等,血量中等;"<<endl<<"3.牙色,攻击低,血量高"<<endl;
cin>>hero;
if(hero==1)
{
cout<<"选择英雄:鲁班八号,初始攻击:120,血量:110,等级为1" <<endl;
bl=110;
at=120;
blm=110;
break;
}
if(hero==2)
{
cout<<"选择英雄:工本五脏,初始攻击:90,血量:140,等级为1" <<endl;
bl=140;
blm=140;
at=90;
break;
}
if(hero==3)
{
cout<<"选择英雄:牙色,初始攻击:40,血量:230,等级为1" <<endl;
bl=230;
at=40;
blm=230;
break;
}
else
cout<<"输入错误!"<<endl;
}
cout<<"让我们进入训练场,来进行一次训练吧!"<<endl;
Sleep(1000);
cout<<"前方出现了一只野怪,消灭它!"<<endl;
Sleep(1000);
enbl=500;
enat=10;
while(true)
{
cout<<"你对野怪发起攻击,";
enbl-=at;
cout<<"对它造成了"<<at<<"伤害"<<endl;
//Sleep(1000);
if(enbl<=0)
{
cout<<"你赢了!" ;
break;
}
cout<<"野怪对你发起攻击,";
bl-=enat;
cout<<"造成了"<<enat<<"伤害,当前你的血量为"<<bl<<endl;
// Sleep(1000);
if(bl<=0)
{
cout<<"你死了!";
return 0;
}
}
cout<<"恭喜!升级了!当前等级为";
lv++;
cout<<lv;
if(hero==1)
{
at+=30;
blm+=10;
bl=blm;
}
if(hero==2)
{
at+=20;
blm+=20;
bl=blm;
}
if(hero==3)
{
at+=10;
blm+=30;
bl=blm;
}
cout<<"血量为"<<blm<<",攻击为"<<at<<endl;
Sleep(1000);
cout<<"获得技能:战意怒吼,使用后三回合大幅增加攻击力!CD时长:五回合."<<endl;
Sleep(1000);
cout<<"现在,让我们进入实战演练吧!"<<endl;
cout<<"前方出现一个敌人!进攻!"<<endl;
enbl=600;
enat=12;
zncd=0;
hh=1;
while(true)
{
cout<<"当前回合为"<<hh<<endl;
if(hh==zntime)
{
cout<<"战意怒吼时间到!"<<endl;
at/=2;
}
cout<<"攻击=1,技能:战意怒吼(当前cd:"<<zncd<<")=2"<<endl;
while(true)
{
cin>>flag;
if(flag==1)
{
cout<<"你对敌人发起攻击,";
enbl-=at;
cout<<"对它造成了"<<at<<"伤害"<<endl;
if(zncd>0)
zncd--;
break;
}
if(flag==2)
{
if(zncd==0)
{
cout<<"使用了战意怒吼,攻击大幅提升三回合"<<endl;
at*=2;
zncd=5;
zntime=hh+4;
if(zncd>0)
zncd--;
break;
}
else
cout<<"对不起,技能:战意怒吼无法使用!cd:"<<zncd<<endl;
}
else
cout<<"输入错误!";
}
Sleep(1000);
if(enbl<=0)
{
cout<<"你赢了!"<<endl ;
if(zntime>hh)
{
at/=2;
}
at*=2;
break;
}
cout<<"敌人对你发起攻击,";
bl-=enat;
cout<<"造成了"<<enat<<"伤害,当前你的血量为"<<bl<<endl;
Sleep(1000);
if(bl<=0)
{
cout<<"你死了!";
return 0;
}
hh++;
}
cout<<"恭喜!升级了!当前等级为:";
lv++;
cout<<lv;
if(hero==1)
{
at+=30;
blm+=10;
bl=blm;
}
if(hero==2)
{
at+=20;
blm+=20;
bl=blm;
}
if(hero==3)
{
at+=10;
blm+=30;
bl=blm;
}
cout<<"血量为"<<blm<<",攻击为"<<at<<endl;
Sleep(1000);
cout<<"获得技能:治疗术,CD为5;在实战中使用可以增加已损生命的%30生命值."<<endl;
Sleep(1000);
cout<<"恭喜取得实战胜利!现在开通了金币系统。"<<endl;
Sleep(1000);
cout<<"目前金币为0,在实战中打败敌人会随机掉落不等量的金币,每局金币仅能用于当局当中"<<endl;
Sleep(1500);
cout<<"金币可以用来购买装备。"<<endl;
coin=0;
cout<<"下面进入地图进行战斗!战斗胜利方式为推掉敌方防御塔!"<<endl;
Sleep(1000);
cout<<"地图中的野怪、敌人、防御塔强度是随机的!"<<endl;
cout<<"获得英雄专属技能:";
if(hero==1)
{
cout<<"空中支援:连续造成300+等级×15的伤害,共持续3回合,cd为5"<<endl;
jnat=300;
}
if(hero==2)
{
cout<<"二刀流:工本五脏开启二刀流形态,造成伤害为500*lv*0.5,cd为5"<<endl;
jnat=500;
}
if(hero==3)
{
cout<<"恢复:每回合恢复50*等级的血量,持续三回合,cd为5"<<endl;
jnbl=50;
}
while(true)
{
coin=0;
qx=0;
pj=0;
sy=0;
ep=0;
epm=100;
while(true)
{
while(true)
{
cout<<"请问要去哪里?1=进攻野怪,2=进攻敌人,3=进攻防御塔,4=进入商店"<<endl;
cin>>flag;
if(flag==1)
{
cout<<"开始进攻野怪!"<<endl;
enbl=rand()%1800;
enat=rand()%30;
zncd=0;
zlcd=0;
jncd=0;
jntime=0;
hh=1;
if(pj!=0)
{
at+=50*pj;
}
while(true)
{
cout<<"当前回合为"<<hh<<endl;
if(hh==zntime)
{
cout<<"战意怒吼时间到!"<<endl;
at/=2;
}
if(jntime==hh)
{
if(hero==1)
{
cout<<"技能:空中支援时间到!"<<endl;
}
if(hero==3)
{
cout<<"技能:恢复时间到!"<<endl;
}
}
cout<<"攻击=1,技能:战意怒吼(当前cd:"<<zncd<<")=2,技能:治疗术(当前cd:"<<zlcd<<")=3,专属技能:";
if(hero==1)
cout<<"空中支援=4";
if(hero==2)
cout<<"二刀流=4";
if(hero==3)
cout<<"恢复=4";
cout<<"(技能cd:"<<jncd<<")逃跑=0"<<endl;
cout<<enbl<<endl;
while(true)
{
cin>>flag;
if(flag==1)
{
cout<<"你对敌人发起攻击,";
enbl-=at;
cout<<"对它造成了"<<at<<"伤害"<<endl;
if(pj!=0)
{
at+=50*pj;
if(qx!=0)
{
bl+=at*0.1*qx;
if(bl>blm)
bl=blm;
}
}
if(qx!=0)
{
bl+=at*0.08*qx;
if(bl>blm)
bl=blm;
}
if(zncd>0)
zncd--;
if(jncd>0)
jncd--;
if(zlcd>0)
zlcd--;
break;
}
if(flag==2)
{
if(zncd==0)
{
cout<<"使用了战意怒吼,攻击大幅提升三回合"<<endl;
at*=2;
zncd=5;
zntime=hh+4;
if(jncd>0)
jncd--;
if(zncd>0)
zncd--;
if(zlcd>0)
zlcd--;
break;
}
else
cout<<"对不起,技能:战意怒吼无法使用!cd:"<<zncd<<endl;
}
if(flag==3)
{
if(zlcd==0)
{
cout<<"使用了治疗术,血量恢复已损的%30"<<endl;
bl+=(blm-bl)*0.3;
zlcd=5;
if(jncd>0)
jncd--;
if(zlcd>0)
zlcd--;
if(zncd>0)
zncd--;
break;
}
else
cout<<"对不起,技能:治疗术无法使用!cd:"<<zncd<<endl;
}
if(flag==4)
{
if(jncd==0)
{
if(hero==1)
{
cout<<"使用了技能:空中支援,三回合每次对敌人造成"<<300+lv*15<<"伤害"<<endl;
jnat=300+lv*15;
jncd=5;
jntime=hh+4;
if(jncd>0)
jncd--;
if(zncd>0)
zncd--;
if(zlcd>0)
zlcd--;
break;
}
if(hero==2)
{
cout<<"使用了技能:二刀流,对敌人造成了"<<500*lv*0.5<<"伤害"<<endl;
jncd=5;
jntime=hh+4;
enbl-=500*lv*0.5;
if(jncd>0)
jncd--;
if(zncd>0)
zncd--;
if(zlcd>0)
zlcd--;
break;
}
if(hero==3)
{
cout<<"使用了技能:恢复,每回合恢复"<<lv*50<<"血量,持续三回合"<<endl;
jnbl=lv*50;
jncd=5;
jntime=hh+4;
if(jncd>0)
jncd--;
if(zncd>0)
zncd--;
if(zlcd>0)
zlcd--;
break;
}
}
else
cout<<"对不起,专属技能无法使用!cd:"<<jncd<<endl;
}
if(flag==0)
{
rn();
if(runf==1)
{
break;
}
}
}
if(runf==1)
{
break;
}
Sleep(1000);
if(enbl<=0)
{
cout<<"你赢了!"<<endl ;
coin+=rand()%10;
cout<<"当前金币为:"<<coin<<endl;
if(zntime>hh)
at/=2;
ep+=rand()%150;
while(ep>=epm)
{
ep-=epm;
cout<<"恭喜!升级了!当前等级为";
lv++;
cout<<lv;
if(lv%10==0)
{
epm+=150;
}
if(hero==1)
{
jnat+=15;
at+=30;
blm+=10;
bl=blm;
}
if(hero==2)
{
at+=20;
blm+=20;
bl=blm;
}
if(hero==3)
{
at+=10;
blm+=30;
bl=blm;
}
cout<<"血量为"<<blm<<",攻击为"<<at<<endl;
}
break;
}
cout<<"敌人对你发起攻击,";
if(sy!=0)
{
bl-=enat/sy;
cout<<"造成了"<<enat/sy<<"伤害,当前你的血量为"<<bl<<endl;
}
else
{
bl-=enat;
cout<<"造成了"<<enat<<"伤害,当前你的血量为"<<bl<<endl;
}
Sleep(1000);
if(bl<=0)
{
if(jhcs==1)
{
cout<<"请输入激活码!";
cin>>jhm;
if(jhm==jh)
{
cout<<"满血复活!"<<endl;
bl=blm;
jhcs--;
}
else
{
cout<<"你死了!";
return 0;
}
}
else
{
cout<<"你死了!";
return 0;
}
}
if(jntime!=hh)
{
if(hero==3)
{
bl+=lv*50;
}
}
if(jntime!=hh)
{
if(hero==1)
{
enbl-=300+lv*15;
}
}
hh++;
if(pj!=0)
{
at-=pj*50;
}
}
}
if(flag==2)
{
cout<<"开始进攻敌人!"<<endl;
enbl=rand()%5000;
enat=rand()%90;
zncd=0;
zlcd=0;
hh=1;
if(pj!=0)
{
at+=50*pj;
}
while(true)
{
cout<<"当前回合为"<<hh<<endl;
if(hh==zntime)
{
cout<<"战意怒吼时间到!"<<endl;
at/=2;
}
cout<<"攻击=1,技能:战意怒吼(当前cd:"<<zncd<<")=2,技能:治疗术(当前cd:"<<zlcd<<")=3,逃跑=0"<<endl;
while(true)
{
cin>>flag;
if(flag==1)
{
cout<<"你对敌人发起攻击,";
enbl-=at;
if(pj!=0)
{
at+=50*pj;
if(qx!=0)
{
bl+=at*0.08*qx;
if(bl>blm)
bl=blm;
}
}
cout<<"对它造成了"<<at<<"伤害"<<endl;
if(qx!=0)
{
bl+=at*0.08*qx;
if(bl>blm)
bl=blm;
}
if(zncd>0)
zncd--;
if(zlcd>0)
zlcd--;
break;
}
if(flag==2)
{
if(zncd==0)
{
cout<<"使用了战意怒吼,攻击大幅提升三回合"<<endl;
at*=2;
zncd=5;
zntime=hh+4;
if(zncd>0)
zncd--;
if(zlcd>0)
zlcd--;
break;
}
else
{
cout<<"对不起,技能:战意怒吼无法使用!cd:"<<zncd<<endl;
}
}
if(flag==3)
{
if(zlcd==0)
{
cout<<"使用了治疗术,血量恢复已损的%30"<<endl;
bl+=(blm-bl)*0.3;
zlcd=5;
if(zlcd>0)
zlcd--;
if(zncd>0)
zncd--;
break;
}
else
cout<<"对不起,技能:治疗术无法使用!cd:"<<zncd<<endl;
}
if(flag==0)
{
rn();
if(runf==1)
{
break;
}
}
}
if(runf==1)
{
break;
}
Sleep(1000);
if(enbl<=0)
{
cout<<"你赢了!"<<endl ;
coin+=enat=rand()%18;
cout<<"当前金币为:"<<coin<<endl;
if(zntime!=0)
{
at/=2;
}
ep+=rand()%150;
while(ep>=epm)
{
ep-=epm;
cout<<"恭喜!升级了!当前等级为";
lv++;
cout<<lv;
if(lv%10==0)
{
epm+=150;
}
if(hero==1)
{
at+=30;
blm+=10;
bl=blm;
}
if(hero==2)
{
at+=20;
blm+=20;
bl=blm;
}
if(hero==3)
{
at+=10;
blm+=30;
bl=blm;
}
cout<<"血量为"<<blm<<",攻击为"<<at<<endl;
}
break;
}
cout<<"敌人对你发起攻击,";
if(sy!=0)
{
bl-=enat/sy;
cout<<"造成了"<<enat/sy<<"伤害,当前你的血量为"<<bl<<endl;
}
else
{
bl-=enat;
cout<<"造成了"<<enat<<"伤害,当前你的血量为"<<bl<<endl;
}
Sleep(1000);
if(bl<=0)
{
if(jhcs==1)
{
cout<<"请输入激活码!";
cin>>jhm;
if(jhm==jh)
{
cout<<"满血复活!"<<endl;
bl=blm;
jhcs--;
}
else
{
cout<<"你死了!";
return 0;
}
}
else
{
cout<<"你死了!";
return 0;
}
}
hh++;
if(pj!=0)
{
at-=pj*50;
}
}
}
if(flag==3)
{
cout<<"开始进攻防御塔!"<<endl;
enbl=rand()%10000;
if(enbl<5000)
{
enbl=5000;
}
enat=80;
zncd=0;
zlcd=0;
hh=1;
if(pj!=0)
{
at+=50*pj;
}
while(true)
{
cout<<"当前回合为"<<hh<<endl;
if(hh==zntime)
{
cout<<"战意怒吼时间到!"<<endl;
at/=2;
}
cout<<"攻击=1,技能:战意怒吼(当前cd:"<<zncd<<")=2,技能:治疗术(当前cd:"<<zlcd<<")=3,逃跑=0"<<endl;
while(true)
{
cin>>flag;
if(flag==1)
{
cout<<"你对防御塔发起攻击,";
if(pj!=0)
{
at+=50*pj;
if(qx!=0)
{
bl+=at*0.08*qx;
if(bl>blm)
bl=blm;
}
}
if(qx!=0)
{
bl+=at*0.08*qx;
if(bl>blm)
bl=blm;
}
enbl-=at;
cout<<"对它造成了"<<at<<"伤害"<<endl;
if(zncd>0)
zncd--;
if(zlcd>0)
zlcd--;
break;
}
if(flag==2)
{
if(zncd==0)
{
cout<<"使用了战意怒吼,攻击大幅提升三回合"<<endl;
at*=2;
zncd=5;
zntime=hh+4;
if(zncd>0)
zncd--;
zlcd--;
break;
}
else
cout<<"对不起,技能:战意怒吼无法使用!cd:"<<zncd<<endl;
}
if(flag==3)
{
if(zlcd==0)
{
cout<<"使用了治疗术,血量恢复已损的%30"<<endl;
bl+=(blm-bl)*0.3;
zlcd=5;
if(zncd>0)
zncd--;
if(zlcd>0)
zlcd--;
break;
}
else
cout<<"对不起,技能:治疗术无法使用!cd:"<<zlcd<<endl;
}
if(flag==0)
{
rn();
if(runf==1)
{
break;
}
}
}
if(runf==1)
{
break;
}
Sleep(1000);
if(enbl<=0)
{
cout<<"你赢了!游戏胜利!"<<endl;
if(zntime!=0)
{
at/=2;
}
return 0;
}
cout<<"防御塔对你发起攻击,";
if(sy!=0)
{
bl-=enat/sy;
cout<<"造成了"<<enat/sy<<"伤害,当前你的血量为"<<bl<<endl;
}
else
{
bl-=enat;
cout<<"造成了"<<enat<<"伤害,当前你的血量为"<<bl<<endl;
}
enat+=5;
Sleep(1000);
if(bl<=0)
{
if(jhcs==1)
{
cout<<"请输入激活码!";
cin>>jhm;
if(jhm==jh)
{
cout<<"满血复活!"<<endl;
bl=blm;
jhcs--;
}
else
{
cout<<"你死了!";
return 0;
}
}
else
{
cout<<"你死了!";
return 0;
}
}
hh++;
if(pj!=0)
{
at-=pj*50;
}
}
}
if(flag==4)
{
cout<<"进入商店!当前您的金币为:"<<coin<<endl;
cout<<"商店里的道具有:"<<endl;
cout<<"1、绷带,回复%10血量,需要5金币"<<endl;
cout<<"2、血包,回复至%70血量,需要20金币。注意:是回复至70%!"<<endl;
cout<<"3、骑血,购买后增加%8的物理吸血!需要30金币"<<endl;
cout<<"4、破菌,增加攻击力50!需要30金币"<<endl;
cout<<"5、黄金圣衣,抵消%50的伤害!需要30金币"<<endl;
cout<<"0、退出商店"<<endl;
while(true)
{
cin>>flag;
if(flag==1)
{
if(coin<5)
{
cout<<"没钱滚蛋!"<<endl;
Sleep(1000);
cout<<"系统提示:您被请出了商店"<<endl;
break;
}
bl+=blm*0.08;
if(bl>blm)
{
bl=blm;
}
coin-=5;
cout<<"使用绷带成功!当前血量为"<<bl<<",金币为"<<coin<<endl;
break;
}
if(flag==2)
{
if(coin<20)
{
cout<<"没钱滚蛋!"<<endl;
Sleep(1000);
cout<<"系统提示:您被请出了商店"<<endl;
break;
}
if(bl<blm*0.7)
{
bl==blm*0.7;
}
coin-=20;
cout<<"使用血包成功!当前血量为"<<bl<<",金币为"<<coin<<endl;
break;
}
if(flag==3)
{
if(coin<30)
{
cout<<"没钱滚蛋!"<<endl;
Sleep(1000);
cout<<"系统提示:您被请出了商店"<<endl;
break;
}
coin-=30;
cout<<"使用泣血成功!增加了物理吸血%8,金币为"<<coin<<endl;
qx++;
break;
}
if(flag==4)
{
if(coin<30)
{
cout<<"没钱滚蛋!"<<endl;
Sleep(1000);
cout<<"系统提示:您被请出了商店"<<endl;
break;
}
coin-=30;
cout<<"使用破菌成功!增加了物理攻击50,金币为"<<coin<<endl;
pj++;
break;
}
if(flag==5)
{
if(coin<30)
{
cout<<"没钱滚蛋!"<<endl;
Sleep(1000);
cout<<"系统提示:您被请出了商店"<<endl;
break;
}
coin-=30;
cout<<"使用黄金圣衣成功!增加了物理防御%50,金币为"<<coin<<endl;
sy++;
break;
}
if(flag==0)
{
cout<<"欢迎再来!"<<endl;
break;
}
else
cout<<"输入错误!"<<endl;
}
}
if(flag!=1&&flag!=2&&flag!=3&&flag!=4)
{
cout<<"输入错误!"<<endl;
}
}
}
hh++;
}
}
无名小游戏
最新推荐文章于 2024-09-15 11:40:06 发布