#include <iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<cstdio>
#include<bits/stdc++.h>
#include <iomanip>
#include <vector>
#include <queue>
#include <map>
using namespace std;
struct bl
{
int iy,ix,iv;
bool bh;
}aaaaa[7];
int a[101],b,c,d,zf=0;
char e;
bool ba=true,bf=true,bg=true,bc=true,bd=true,be=true;
int main()
{
for(int i=2;i<=7;i++)
{
aaaaa[i-1].bh=true;
aaaaa[i-1].iv=50;
aaaaa[i-1].ix=0;
aaaaa[i-1].iy=1;
}
srand(time(0));
cout<<" 请输入验证码\n";
for(int i=1;i<=100;i++)
{
cin>>a[i];
b+=a[i];
}
cin>>c>>e;
d=e-70;
if(b%d==c)
{
cout<<" 验证成功"<<endl;
}
else
{
cout<<" 验证失败.";
return 0;
}
int zgjl,jb=100,bb=10,gnb=0,pb=0,hjb=0,qb=0,mj=1,kj=1,tsc=0,db=5,mb=0,cqxl=1000;
aaaaa[1].iy=100;
aaaaa[2].iy=300;
aaaaa[3].iy=500;
aaaaa[4].iy=1000;
aaaaa[5].iy=3000;
aaaaa[6].iy=5000;
int iz=6;
cout<<" 你重生到了大秦帝国."<<endl<<" 大秦帝国当前拥有民居1座"<<endl<<" 金币100."<<endl<<" 步兵10名"<<endl<<" 盾兵5名."<<endl<<" 城墙当前血量1000 "<<endl<<" 民居每回合可产出30金币."<<endl<<" 步兵攻击力为1(招募需花费3金币)"<<endl;
cout<<" 盾兵攻击力为3(招募需花费7金币)\n 矛兵攻击力为5(招募需花费10金币). \n 当前科技水平为1级,升级到3级后可解锁弓弩兵.\n";
for(int i=0;i<100;i++)
{
char f;
iz=0;
for(int iii=0;iii<6;iii++)
{
iz++;
int iw=rand();
aaaaa[iii].iy+=iw%aaaaa[iii].ix;
aaaaa[iii].ix=aaaaa[iii].iy/2;
int iu=rand()%500;
aaaaa[iii].iv+=aaaaa[iii].iv*1.0*iu/100.0;
}
cout<<" 陨石将在"<<100-i<<" 回合后降落,请在陨石降落前消灭其余国家"<<endl;
zgjl=(bb+gnb*8+db*3+mb*5+tsc*10+qb*20+pb*30+hjb*50)*(10+zf)/10;
cout<<" 当前兵力为"<<zgjl<<endl;
jb+=mj*30;
cout<<" 目前拥有"<<jb<<" 金币";
cout<<" 是否升级科技?升级科技需花费200金币,成功率为20%,升级请按s,不升级请按f.\n";
cin>>f;
int g=rand()%4;
switch(f)
{
case 'f':break;
case 's':if(jb<200)
{
cout<<" 金币不足\n";
break;
}
else if(g==3)
{
cout<<" 升级成功\n";
jb-=200;
kj++;
cout<<" 当前科技水平为"<<kj<<" 级\n";
cout<<" 还剩"<<jb<<" 金币\n";
}
else
{
cout<<" 升级失败";
jb-=200;
}
break;
}
if(kj==3&&ba)
{
cout<<" 恭喜解锁新兵种:弓弩兵(攻击力8,招募需花费15金币)\n 下一兵种需在科技水平升级至5级时解锁.\n";
ba=false;
}
if(kj==5&&bf)
{
cout<<" 恭喜解锁新兵种:投石车(攻击力10,招募需花费18金币)\n 下一兵种需在科技水平升级至8级时解锁.\n";
bf=false;
}
if(kj==8&&bc)
{
cout<<" 恭喜解锁新兵种:枪兵(攻击力20,招募需花费34金币)\n 下一兵种需在科技水平升级至10级时解锁.\n";
bc=false;
}
if(kj==10&&bd)
{
cout<<" 恭喜解锁新兵种:炮兵(攻击力30,招募需花费50金币)\n 下一兵种需在科技水平升级至15级时解锁.\n";
bd=false;
}
if(kj==15&&be)
{
cout<<" 恭喜解锁新兵种:火箭兵(攻击力50,招募需花费75金币)\n 所有兵种都已解锁,升级至25级将增加战斗力\n";
be=false;
}
if(kj==25&&bg)
{
cout<<" 战斗力提升50%\n";
bg=false;
zf=50;
}
cout<<" 建设一座民居需花费100金币.是否建设民居?是按s,否按f.\n";
char h;
cin>>h;
int j;
if(h=='s')
{
cout<<" 请输入要建设的民居的座数.\n";
cin>>j;
if(jb<j*100) cout<<" 金币不足\n";
else
{
jb-=j*100;
mj+=j;
cout<<" 当前拥有民居"<<mj<<" 座\n 金币"<<jb<<endl;
}
}
cout<<" 是否招募士兵?是按s,否按f\n";
char aa;
cin>>aa;
if(aa=='s')
{
cout<<" 请输入要招募的兵种的类别.(按照解锁顺序编号,如步兵为1,盾兵为2,以此类推.)\n";
int ia,ib;
cin>>ib;
cout<<" 请输入招募数量.\n";
cin>>ia;
switch(ib)
{
case 1:if(jb<ia*3)
{
cout<<" 金币不足.\n";
break;
}
else
{
cout<<" 招募成功.\n";
jb-=ia*7;
bb+=ia;
break;
}
case 2:if(jb<ia*7)
{
cout<<" 金币不足.\n";
break;
}
else
{
cout<<" 招募成功.\n";
jb-=ia*7;
db+=ia;
break;
}
case 3:if(jb<ia*10)
{
cout<<" 金币不足.\n";
break;
}
else
{
cout<<" 招募成功.\n";
jb-=ia*10;
mb+=ia;
break;
}
case 4:if((jb<ia*15)||ba)
{
cout<<" 金币不足.\n";
break;
}
else
{
cout<<" 招募成功.\n";
jb-=ia*15;
gnb+=ia;
break;
}
case 5:if(jb<ia*18||bf)
{
cout<<" 金币不足.\n";
break;
}
else
{
jb-=ia*18;
tsc+=ia;
cout<<" 招募成功\n";
break;
}
case 6:if(jb<ia*34||bc)
{
cout<<" 金币不足\n";
break;
}
else
{
jb-=ia*34;
qb+=ia;
cout<<" 招募成功\n";
break;
}
case 7:if(jb<ia*50||bd)
{
cout<<" 金币不足\n";
break;
}
else
{
cout<<" 招募成功\n";
jb-=ia*50;
pb+=ia;
break;
}
case 8:if(jb<ia*75||be)
{
cout<<" 金币不足\n";
break;
}
else
{
cout<<" 招募成功\n";
jb-=ia*75;
hjb+=ia;
break;
}
}
}
cout<<" 是否对其他国家进行军事行动?是按s,否按n\n";
char ab,ad;
cin>>ab;
if(ab=='s')
{
cout<<" 当前剩余国家:"<<iz<<endl<<" 这几个国家分别是:";
for(int i=1;i<7;i++)
{
if(aaaaa[i].bh)cout<<i<<" 国、";
}
cout<<endl;
cout<<" 请问要进行什么军事行动?侦查按z,进攻按j.\n";
char ac;
cin>>ac;
ad=ac;
int iq;
switch(ac)
{
case 'z':cout<<" 请输入侦查国家的名称.";
cin>>iq;
if(iq>5||iq<0)
{
cout<<" 该国家不存在.\n";
break;
}
else if(aaaaa[iq].bh==false)
{
cout<<" 该国家已灭亡.\n";
break;
}
else
{
cout<<" 该国家现有民居"<<aaaaa[iq].iv<<" 座\n 战斗力为"<<aaaaa[iq].iy<<endl;
break;
}
case 'j':cout<<" 请输入进攻国家的名称.\n";
cin>>iq;
if(iq>5||iq<0)
{
cout<<" 该国家不存在.\n";
break;
}
else if(aaaaa[iq].bh==false)
{
cout<<" 该国家已灭亡.\n";
break;
}
cout<<" 正在对该国家发动进攻...\n";
int ip=rand()%100+1;
int io=rand()%100+1;
int in=zgjl*ip/100;
int im=aaaaa[iq].iy*io/100;
cout<<" 你方实际出动兵力"<<in<<endl<<" 对方出动兵力"<<im<<endl;
int ik=in;
in-=im;
aaaaa[iq].iy-=ik;
int il=rand()%100;
mj=mj*il/100;
if(in<0)
{
zgjl=zgjl-zgjl*ip/100;
cout<<" 你惨败,出动的兵力全部阵亡."<<endl<<" 民居仅剩"<<mj<<" 座"<<endl<<" 战斗力仅剩"<<zgjl<<endl;
}
else if(in==0)
{
zgjl=zgjl-zgjl*ip/100;
cout<<" 你惨败,出动的士兵全部阵亡,但民居毫发无损.\n"<<" 当前战斗力:"<<zgjl<<endl;
}
else
{
if(in>aaaaa[iq].iy)
{
int ik=(rand()%100+1)*in/100;
cout<<" 你大胜,一举歼灭了"<<iq<<" 国,获得民居"<<aaaaa[iq].iv<<" 座,己方兵力损失"<<ik<<endl;
zgjl-=ik;
aaaaa[iq].bh=false;
aaaaa[iq].iy=0;
aaaaa[iq].iv=0;
aaaaa[iq].ix=0;
}
else
{
int ii=rand()%100+1;
aaaaa[iq].iy-=ik;
aaaaa[iq].ix/=2;
zgjl-=zgjl*ip*(rand()%100+1)/10000;
cout<<" 你小胜,获得民居"<<aaaaa[iq].iv*ii/100<<" 座\n 己方兵力还剩"<<zgjl<<endl;
aaaaa[iq].iv-=aaaaa[iq].iv*ii/100;
mj+=aaaaa[iq].iv*ii/100;
}
}
}
}
}
return 0;
}