#include<bits/stdc++.h>
#include<windows.h>
#include<cstring>
#include<fstream>
#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<conio.h>
using namespace std;
int jtcnt,dwcnt,xzgj,l,g2j[101],nian,yue,ri;
char op;
vector<int>v[90],lin[99];
bool lt[90][90],zz[90][90],sile[99],fs[900];
int tu[90][90],jts[90],yffx[90],zdl[90][90];
static int sj1,sj2,sj3,sj4;
int yffy[30][10][10],X,Y;
string gjm[99];
struct scdw
{
int lx;
int xh;
int ys;
};
queue<scdw>sc[90];
void up();
struct danwei
{
int zl,xh,hp,mb,mbsj,gj;
}dw[19999999];
bool yfi[30][10],yft[30][10],yfa[30][10];
void tys(int tj) //0:red 1:red2 2:blue 3:blue2 4:green 5:green2 6:yelow 7:yelow2 8:pink1 9:pink2 10:blak 11 gray 12:ziqing 13:ziqing2
{
if(tj==0){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),( FOREGROUND_INTENSITY |FOREGROUND_RED |BACKGROUND_INTENSITY| BACKGROUND_BLUE|BACKGROUND_RED|BACKGROUND_GREEN)); }
if(tj==1){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),( FOREGROUND_RED |BACKGROUND_INTENSITY| BACKGROUND_BLUE|BACKGROUND_RED|BACKGROUND_GREEN)); }
if(tj==2){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),( FOREGROUND_INTENSITY |FOREGROUND_BLUE |BACKGROUND_INTENSITY| BACKGROUND_BLUE|BACKGROUND_RED|BACKGROUND_GREEN)); }
if(tj==3){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),( FOREGROUND_BLUE |BACKGROUND_INTENSITY| BACKGROUND_BLUE|BACKGROUND_RED|BACKGROUND_GREEN)); }
if(tj==4){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),( FOREGROUND_GREEN |BACKGROUND_INTENSITY| BACKGROUND_BLUE|BACKGROUND_RED|BACKGROUND_GREEN)); }
if(tj==5){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),( FOREGROUND_INTENSITY |FOREGROUND_GREEN |BACKGROUND_INTENSITY| BACKGROUND_BLUE|BACKGROUND_RED|BACKGROUND_GREEN)); }
if(tj==6){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),( FOREGROUND_GREEN |FOREGROUND_RED |BACKGROUND_INTENSITY| BACKGROUND_BLUE|BACKGROUND_RED|BACKGROUND_GREEN)); }
if(tj==7){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),( FOREGROUND_GREEN |FOREGROUND_INTENSITY |FOREGROUND_RED |BACKGROUND_INTENSITY| BACKGROUND_BLUE|BACKGROUND_RED|BACKGROUND_GREEN)); }
if(tj==8){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),( FOREGROUND_BLUE |FOREGROUND_RED |BACKGROUND_INTENSITY| BACKGROUND_BLUE|BACKGROUND_RED|BACKGROUND_GREEN)); }
if(tj==9){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),( FOREGROUND_BLUE |FOREGROUND_INTENSITY |FOREGROUND_RED |BACKGROUND_INTENSITY| BACKGROUND_BLUE|BACKGROUND_RED|BACKGROUND_GREEN)); }
if(tj==10){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),( BACKGROUND_INTENSITY| BACKGROUND_BLUE|BACKGROUND_RED|BACKGROUND_GREEN)); }
if(tj==11){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),( FOREGROUND_INTENSITY |BACKGROUND_INTENSITY| BACKGROUND_BLUE|BACKGROUND_RED|BACKGROUND_GREEN)); }
if(tj==12){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),( FOREGROUND_RED |FOREGROUND_GREEN |BACKGROUND_INTENSITY| BACKGROUND_BLUE|BACKGROUND_RED|BACKGROUND_GREEN)); }
if(tj==13){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),( FOREGROUND_RED |FOREGROUND_INTENSITY |FOREGROUND_GREEN |BACKGROUND_INTENSITY| BACKGROUND_BLUE|BACKGROUND_RED|BACKGROUND_GREEN)); }
}
vector<int>jd[99];
struct chengshi
{
string nm;
int gj,ic,rk,hp,kj,rkzz;
}cs[99];
struct wq
{
string nm;
int zdl;
int hp;
int sd;
int xh;
}I[25][50],A[25][50],T[25][50],D[25][50];
int dykj[99];
void yx();
void shj();
int main()
{ int i;
srand(time(0));
system("color F4");
for(i=1;i<=22;i++)
{yffy[i][1][1]=1000;yffy[i][1][2]=2000;
yffy[i][1][3]=4000;
yffy[i][1][4]=10000;
yffy[i][1][5]=20000;
yffy[i][2][2]=2000;
yffy[i][2][3]=8000;
yffy[i][2][4]=20000;
yffy[i][2][5]=48000;
yffy[i][3][1]=3000;
yffy[i][3][2]=10000;
yffy[i][3][3]=60000;
yffy[i][3][4]=120000;
yffy[i][3][5]=360000;
}
for(i=1;i<=50;i++)g2j[i]=4;
gjm[1]="秦";gjm[2]="东斯拉夫人";gjm[3]="毛人";
gjm[9]="罗马共和国"; gjm[8]="高丽"; gjm[4]="希腊";
gjm[5]="波斯帝国"; gjm[6]="孔雀王朝"; gjm[7]="马其顿王国";
gjm[10]="日耳曼人";gjm[11]="不列颠人";gjm[12]="迦太基";gjm[13]="玛雅";
gjm[14]="匈奴";gjm[15]="蜀"; gjm[16]="大越";gjm[17]="楚";
gjm[18]="北燕"; gjm[19]="齐";gjm[20]="维京";gjm[21]="基辅罗斯" ;
gjm[22]="凯尔特人";gjm[23]="伊比利亚人";
gjm[24]="神圣罗马帝国";gjm[25]="拜占庭帝国";sile[24]=1;sile[25]=1;sile[21]=1;
g2j[1]=1; g2j[2]=2;g2j[3]=3;g2j[5]=5;g2j[6]=5;g2j[8]=1;g2j[12]=5;g2j[15]=2;g2j[18]=1;g2j[16]=1;g2j[13]=6;g2j[14]=2;g2j[17]=1;g2j[18]=1;g2j[19]=1;
I[1][1].nm="中华长矛兵";I[1][1].zdl= 10 ;I[1][1].hp= 30 ; I[1][1].sd= 1 ; I[1][1].xh= 12 ;
I[1][2].nm="中华长刀兵";I[1][2].zdl= 30 ;I[1][2].hp= 30 ; I[1][2].sd= 1 ; I[1][2].xh= 20 ;
I[1][3].nm="诸葛弩兵";I[1][3].zdl= 70;I[1][3].hp= 50 ; I[1][3].sd= 1 ; I[1][3].xh= 38 ;
I[1][4].nm="突火枪兵";I[1][4].zdl= 120 ;I[1][4].hp= 100 ; I[1][4].sd= 1 ; I[1][4].xh= 50 ;
I[1][5].nm="铜火铳兵";I[1][5].zdl= 225 ;I[1][5].hp= 130 ; I[1][5].sd= 1 ; I[1][5].xh= 70 ;
I[2][1].nm="刀盾兵";I[2][1].zdl= 9 ;I[2][1].hp= 15 ; I[2][1].sd= 1 ; I[2][1].xh= 8 ;
I[2][2].nm="矛盾兵";I[2][2].zdl= 25 ;I[2][2].hp= 25 ; I[2][2].sd= 1 ; I[2][2].xh= 20 ;
I[2][3].nm="弓兵";I[2][3].zdl= 60 ;I[2][3].hp= 50 ; I[2][3].sd= 1 ; I[2][3].xh= 38 ;
I[2][4].nm="火器兵";I[2][4].zdl= 108 ;I[2][4].hp= 110 ; I[2][4].sd= 1 ; I[2][4].xh= 50 ;
I[2][5].nm="火枪兵";I[2][5].zdl= 200 ;I[2][5].hp= 140 ; I[2][5].sd= 1 ; I[2][5].xh= 70 ;
I[3][1].nm="长刀兵";I[3][1].zdl= 10 ;I[3][1].hp= 29 ; I[3][1].sd= 1 ; I[3][1].xh= 12 ;
I[3][2].nm="薙刀兵";I[3][2].zdl= 28 ;I[3][2].hp= 29 ; I[3][2].sd=1 ; I[3][2].xh= 20 ;
I[3][3].nm="日本武士";I[3][3].zdl= 90 ;I[3][3].hp= 140 ; I[3][3].sd= 1 ; I[3][3].xh= 60 ;
I[3][4].nm="手铳兵";I[3][4].zdl= 105 ;I[3][4].hp= 100 ; I[3][4].sd= 1 ; I[3][4].xh= 50 ;
I[3][5].nm="萨摩铳兵";I[3][5].zdl= 240 ;I[3][5].hp= 120 ; I[3][5].sd= 1 ; I[3][5].xh= 80 ;
I[4][1].nm="方阵兵";I[4][1].zdl= 30 ;I[4][1].hp= 50 ; I[4][1].sd= 1 ; I[4][1].xh= 20 ;
I[4][2].nm="都卜勒武士";I[4][2].zdl= 55 ;I[4][2].hp= 100 ; I[4][2].sd= 1 ; I[4][2].xh= 36 ;
I[4][3].nm="长弓兵";I[4][3].zdl= 65 ;I[4][3].hp= 70 ; I[4][3].sd= 1 ; I[4][3].xh= 30 ;
I[4][4].nm="线列兵";I[4][4].zdl= 100 ;I[4][4].hp= 120 ; I[4][4].sd= 1 ; I[4][4].xh= 50 ;
I[4][5].nm="火枪兵";I[4][5].zdl= 250 ;I[4][5].hp= 200 ; I[4][5].sd= 1 ; I[4][5].xh= 70 ;
I[5][1].nm="短刀兵";I[5][1].zdl= 10 ;I[5][1].hp= 28 ; I[5][1].sd= 1 ; I[5][1].xh= 12 ;
I[5][2].nm="长刀兵";I[5][2].zdl= 29 ;I[5][2].hp= 28 ; I[5][2].sd= 1 ; I[5][2].xh= 20 ;
I[5][3].nm="弓箭兵";I[5][3].zdl= 50 ;I[5][3].hp= 50 ; I[5][3].sd= 1 ; I[5][3].xh= 38 ;
I[5][4].nm="佩刀铳兵";I[5][4].zdl= 110 ;I[5][4].hp= 100 ; I[5][4].sd= 1 ; I[5][4].xh= 50 ;
I[5][5].nm="改进铳兵";I[5][5].zdl= 190 ;I[5][5].hp= 115 ; I[5][5].sd= 1 ; I[5][5].xh= 70 ;
I[6][1].nm="原始人";I[6][1].zdl= 9 ;I[6][1].hp= 25 ; I[6][1].sd= 1 ; I[6][1].xh= 10 ;
I[6][2].nm="长矛兵";I[6][2].zdl= 25 ;I[6][2].hp= 30 ; I[6][2].sd= 1 ; I[6][2].xh= 18 ;
I[6][3].nm="吹箭兵";I[6][3].zdl= 45 ;I[6][3].hp= 40 ; I[6][3].sd= 1 ; I[6][3].xh= 32 ;
I[6][4].nm="土著火器兵";I[6][4].zdl= 100 ;I[6][4].hp= 90 ; I[6][4].sd= 1 ; I[6][4].xh= 46 ;
I[6][5].nm="枪兵";I[6][5].zdl= 180 ;I[6][5].hp= 120 ; I[6][5].sd= 1 ; I[6][5].xh= 65 ;
A[1][1].nm="投石车";A[1][1].zdl= 30 ;A[1][1].hp= 15 ; A[1][1].sd= 1 ; A[1][1].xh= 14 ;
A[1][2].nm="攻城锤";A[1][2].zdl= 50 ;A[1][2].hp= 100 ; A[1][2].sd= 1 ; A[1][2].xh= 50 ;
A[1][3].nm="投石机";A[1][3].zdl= 70;A[1][3].hp= 30 ; A[1][3].sd= 1 ; A[1][3].xh= 40 ;
A[1][4].nm="火铳";A[1][4].zdl= 200 ;A[1][4].hp= 30 ; A[1][4].sd= 1 ; A[1][4].xh= 60 ;
A[1][5].nm="虎蹲炮";A[1][5].zdl= 250 ;A[1][5].hp= 90 ; A[1][5].sd= 1 ; A[1][5].xh= 66 ;
A[2][1].nm="投石车";A[2][1].zdl= 30 ;A[2][1].hp= 15 ; A[2][1].sd= 1 ; A[2][1].xh= 14 ;
A[2][2].nm="攻城锤";A[2][2].zdl= 50 ;A[2][2].hp= 100 ; A[2][2].sd= 1 ; A[2][2].xh= 50 ;
A[2][3].nm="投石机";A[2][3].zdl= 70 ;A[2][3].hp= 30 ; A[2][3].sd= 1 ; A[2][3].xh= 40 ;
A[2][4].nm="石炮";A[2][4].zdl= 160 ;A[2][4].hp= 40 ; A[2][4].sd= 1 ; A[2][4].xh= 58 ;
A[2][5].nm="榴弹炮";A[2][5].zdl= 290 ;A[2][5].hp= 70 ; A[2][5].sd= 3 ; A[2][5].xh= 70 ;
A[3][1].nm="投石车";A[3][1].zdl= 30 ;A[3][1].hp= 15 ; A[3][1].sd= 1 ; A[3][1].xh= 14 ;
A[3][2].nm="攻城锤";A[3][2].zdl= 50 ;A[3][2].hp= 100 ; A[3][2].sd=1 ; A[3][2].xh= 50 ;
A[3][3].nm="投石机";A[3][3].zdl= 70 ;A[3][3].hp= 30 ; A[3][3].sd= 1 ; A[3][3].xh= 40 ;
A[3][4].nm="仿制火铳";A[3][4].zdl= 180 ;A[3][4].hp= 40 ; A[3][4].sd= 1 ; A[3][4].xh= 60 ;
A[3][5].nm="仿欧榴弹炮";A[3][5].zdl= 270 ;A[3][5].hp= 70 ; A[3][5].sd= 1 ; A[3][5].xh= 70 ;
A[4][1].nm="投石车";A[4][1].zdl= 30 ;A[4][1].hp= 15 ; A[4][1].sd= 1 ; A[4][1].xh= 14 ;
A[4][2].nm="攻城锤";A[4][2].zdl= 50 ;A[4][2].hp= 100 ; A[4][2].sd= 1 ; A[4][2].xh= 50 ;
A[4][3].nm="投石机";A[4][3].zdl= 70 ;A[4][3].hp= 30 ; A[4][3].sd= 1 ; A[4][3].xh= 40 ;
A[4][4].nm="铅弹炮";A[4][4].zdl= 180 ;A[4][4].hp= 40 ; A[4][4].sd= 1 ; A[4][4].xh= 64 ;
A[4][5].nm="榴弹炮";A[4][5].zdl= 300 ;A[4][5].hp= 70 ; A[4][5].sd= 1 ; A[4][5].xh= 75 ;
A[5][1].nm="投石车";A[5][1].zdl= 30 ;A[5][1].hp= 15 ; A[5][1].sd= 1 ; A[5][1].xh= 14 ;
A[5][2].nm="攻城锤";A[5][2].zdl= 50 ;A[5][2].hp= 100 ; A[5][2].sd= 1 ; A[5][2].xh= 50 ;
A[5][3].nm="投石机";A[5][3].zdl= 70 ;A[5][3].hp= 30 ; A[5][3].sd= 1 ; A[5][3].xh= 40 ;
A[5][4].nm="石炮";A[5][4].zdl= 160 ;A[5][4].hp= 40 ; A[5][4].sd= 1 ; A[5][4].xh= 58 ;
A[5][5].nm="仿欧榴弹炮";A[5][5].zdl= 270 ;A[5][5].hp= 70 ; A[5][5].sd= 1 ; A[5][5].xh= 70 ;
A[6][1].nm="投石车";A[6][1].zdl= 30 ;A[6][1].hp= 15 ; A[6][1].sd= 1 ; A[6][1].xh= 14 ;
A[6][2].nm="攻城锤";A[6][2].zdl= 50 ;A[6][2].hp= 100 ; A[6][2].sd= 1 ; A[6][2].xh= 50 ;
A[6][3].nm="弩车";A[6][3].zdl= 70 ;A[6][3].hp= 30 ; A[6][3].sd= 1 ; A[6][3].xh= 40 ;
A[6][4].nm="石炮";A[6][4].zdl= 160 ;A[6][4].hp= 40 ; A[6][4].sd= 1 ; A[6][4].xh= 58 ;
A[6][5].nm="火炮";A[6][5].zdl= 260 ;A[6][5].hp= 70 ; A[6][5].sd= 1 ; A[6][5].xh=70 ;
T[1][1].nm="骑矛兵";T[1][1].zdl= 12 ;T[1][1].hp= 50 ; T[1][1].sd= 3 ; T[1][1].xh= 29 ;
T[1][2].nm="铠甲骑兵";T[1][2].zdl= 30 ;T[1][2].hp= 90 ; T[1][2].sd= 3 ; T[1][2].xh= 38 ;
T[1][3].nm="弩骑兵";T[1][3].zdl= 70 ;T[1][3].hp= 100 ; T[1][3].sd= 3 ; T[1][3].xh= 55 ;
T[1][4].nm="铳骑兵";T[1][4].zdl= 120 ;T[1][4].hp= 200 ; T[1][4].sd= 3 ; T[1][4].xh= 68 ;
T[1][5].nm="铳战车";T[1][5].zdl= 235 ;T[1][5].hp= 350 ; T[1][5].sd= 3 ; T[1][5].xh= 110 ;
T[2][1].nm="骑刀兵";T[2][1].zdl= 10 ;T[2][1].hp= 50 ; T[2][1].sd= 3 ; T[2][1].xh= 28 ;
T[2][2].nm="骑射手";T[2][2].zdl= 25 ;T[2][2].hp= 90 ; T[2][2].sd= 3 ; T[2][2].xh= 36 ;
T[2][3].nm="蒙古铁骑";T[2][3].zdl= 90 ;T[2][3].hp= 200 ; T[2][3].sd= 3 ; T[2][3].xh= 78 ;
T[2][4].nm="哥萨克骑兵";T[2][4].zdl= 120 ;T[2][4].hp= 280 ; T[2][4].sd= 3 ; T[2][4].xh= 80 ;
T[2][5].nm="炮战车";T[2][5].zdl= 250 ;T[2][5].hp= 350 ; T[2][5].sd= 3 ; T[2][5].xh= 125 ;
T[3][1].nm="骑矛兵";T[3][1].zdl= 10 ;T[3][1].hp= 50 ; T[3][1].sd= 3 ; T[3][1].xh= 28 ;
T[3][2].nm="骑盾兵";T[3][2].zdl= 25 ;T[3][2].hp= 100 ; T[3][2].sd= 3 ; T[3][2].xh= 40 ;
T[3][3].nm="大名";T[3][3].zdl= 80 ;T[3][3].hp= 160 ; T[3][3].sd= 3 ; T[3][3].xh= 70 ;
T[3][4].nm="枪骑兵";T[3][4].zdl= 100 ;T[3][4].hp= 200 ; T[3][4].sd= 3 ; T[3][4].xh= 80 ;
T[3][5].nm="战车";T[3][5].zdl= 250 ;T[3][5].hp= 340 ; T[3][5].sd= 3 ; T[3][5].xh= 125 ;
T[4][1].nm="骑剑兵";T[4][1].zdl= 13 ;T[4][1].hp= 50 ; T[4][1].sd= 3 ; T[4][1].xh= 30 ;
T[4][2].nm="骑士";T[4][2].zdl= 40 ;T[4][2].hp= 85 ; T[4][2].sd= 3 ; T[4][2].xh= 40 ;
T[4][3].nm="圣骑士";T[4][3].zdl= 100 ;T[4][3].hp= 230 ; T[4][3].sd= 3 ; T[4][3].xh= 98 ;
T[4][4].nm="龙骑兵";T[4][4].zdl= 110 ;T[4][4].hp= 230 ; T[4][4].sd= 3 ; T[4][4].xh= 100 ;
T[4][5].nm="战车";T[4][5].zdl= 260 ;T[4][5].hp= 360 ; T[4][5].sd= 3 ; T[4][5].xh= 130 ;
T[5][1].nm="骆驼骑兵";T[5][1].zdl= 20 ;T[5][1].hp= 60 ; T[5][1].sd= 3 ; T[5][1].xh= 48 ;
T[5][2].nm="象骑兵";T[5][2].zdl= 50 ;T[5][2].hp= 160 ; T[5][2].sd= 3 ; T[5][2].xh= 70 ;
T[5][3].nm="盔甲象骑兵";T[5][3].zdl= 70 ;T[5][3].hp= 280 ; T[5][3].sd= 3 ; T[5][3].xh= 100 ;
T[5][4].nm="火器骑兵";T[5][4].zdl= 100 ;T[5][4].hp= 200 ; T[5][4].sd= 3 ; T[5][4].xh=80 ;
T[5][5].nm="战车";T[5][5].zdl= 240 ;T[5][5].hp= 340 ; T[5][5].sd= 3 ; T[5][5].xh= 120 ;
T[6][1].nm="野骑兵";T[6][1].zdl= 10 ;T[6][1].hp= 50 ; T[6][1].sd= 3 ; T[6][1].xh= 29 ;
T[6][2].nm="骑手";T[6][2].zdl= 30 ;T[6][2].hp= 90 ; T[6][2].sd= 3 ; T[6][2].xh= 38 ;
T[6][3].nm="弓骑兵";T[6][3].zdl= 60 ;T[6][3].hp= 100 ; T[6][3].sd= 3 ; T[6][3].xh= 55 ;
T[6][4].nm="火器骑兵";T[6][4].zdl= 110 ;T[6][4].hp= 200 ; T[6][4].sd= 6 ; T[6][4].xh= 68 ;
T[6][5].nm="战车";T[6][5].zdl= 200 ;T[6][5].hp= 330 ; T[6][5].sd= 6 ; T[6][5].xh= 110 ;
for(int i=1;i<=25;i++)
yfa[i][1]=yfi[i][1]=yft[i][0]=1;
int j;
cs[1].nm=" 蓟 ";cs[1].gj= 18 ;cs[1].ic= 1 ; cs[1].rk= 40 ; cs[1].rkzz=1 ;cs[1].kj= 0 ;cs[1].hp= 1000 ;
cs[2].nm=" 姑苏 ";cs[2].gj= 17;cs[2].ic= 1 ; cs[2].rk= 50 ; cs[2].rkzz=1 ;cs[2].kj= 1 ;cs[2].hp= 1000 ;
cs[3].nm=" 南海郡 ";cs[3].gj=17 ;cs[3].ic= 1 ; cs[3].rk= 50 ; cs[3].rkzz=1 ;cs[3].kj= 0 ;cs[3].hp= 1000 ;
cs[4].nm=" 咸阳 ";cs[4].gj= 1 ;cs[4].ic= 3 ; cs[4].rk= 25 ; cs[4].rkzz=1 ;cs[4].kj= 1 ;cs[4].hp= 1000 ;
cs[5].nm=" 成都 ";cs[5].gj= 15 ;cs[5].ic= 1 ; cs[5].rk= 50 ; cs[5].rkzz=1 ;cs[5].kj= 1 ;cs[5].hp= 1000 ;
cs[6].nm=" 皇都 ";cs[6].gj= 14 ;cs[6].ic= 1 ; cs[6].rk= 25 ; cs[6].rkzz=1 ;cs[6].kj= 1 ;cs[6].hp= 1000 ;
cs[7].nm="单于王庭";cs[7].gj= 14 ;cs[7].ic= 3 ; cs[7].rk= 10 ; cs[7].rkzz=1 ;cs[7].kj= 1 ;cs[7].hp= 1000 ;
cs[8].nm=" 无人区 ";cs[8].gj= 0 ;cs[8].ic= 1 ; cs[8].rk= 40 ; cs[8].rkzz=1 ;cs[8].kj= 1 ;cs[8].hp= 1000 ;
cs[9].nm=" 无人区 ";cs[9].gj= 0 ;cs[9].ic= 1 ; cs[9].rk= 25 ; cs[9].rkzz=1 ;cs[9].kj= 1 ;cs[9].hp= 1000;
cs[10].nm=" 无人区 ";cs[10].gj= 0 ;cs[10].ic= 1 ; cs[10].rk= 20 ; cs[10].rkzz=1 ;cs[10].kj= 1 ;cs[10].hp= 1000 ;
cs[11].nm=" 无人区 ";cs[11].gj= 0 ;cs[11].ic= 1 ; cs[11].rk= 20 ; cs[11].rkzz=1 ;cs[11].kj= 1 ;cs[11].hp= 1000 ;
cs[12].nm=" 无人区 ";cs[12].gj= 0;cs[12].ic= 1 ; cs[12].rk= 25 ; cs[12].rkzz=1 ;cs[12].kj= 1 ;cs[12].hp= 1000 ;
cs[13].nm=" 开城 ";cs[13].gj= 8 ;cs[13].ic= 1 ; cs[13].rk= 10 ; cs[13].rkzz=1 ;cs[13].kj= 1 ;cs[13].hp= 1000 ;
cs[14].nm=" 奈良 ";cs[14].gj= 3 ;cs[14].ic= 1 ; cs[14].rk= 40 ; cs[14].rkzz=1 ;cs[14].kj= 1 ;cs[14].hp= 1000 ;
cs[15].nm=" 京都 ";cs[15].gj= 3;cs[15].ic= 2 ; cs[15].rk= 30 ; cs[15].rkzz=1 ;cs[15].kj= 1 ;cs[15].hp= 1000 ;
cs[16].nm=" 华沙 ";cs[16].gj= 2 ;cs[16].ic= 1 ; cs[16].rk= 20 ; cs[16].rkzz=1 ;cs[16].kj= 1 ;cs[16].hp= 1000 ;
cs[17].nm=" 波兹南 ";cs[17].gj= 2 ;cs[17].ic= 1 ; cs[17].rk= 10 ; cs[17].rkzz=1 ;cs[17].kj= 1 ;cs[17].hp= 1000 ;
cs[18].nm=" 柏林 ";cs[18].gj= 10 ;cs[18].ic= 1 ; cs[18].rk= 70 ; cs[18].rkzz=1 ;cs[18].kj= 1 ;cs[18].hp= 100000 ;
cs[19].nm="布达佩斯";cs[19].gj= 10 ;cs[19].ic= 1; cs[19].rk= 40 ; cs[19].rkzz=1 ;cs[19].kj= 1 ;cs[19].hp= 1000 ;
cs[20].nm=" 慕尼黑 ";cs[20].gj= 10;cs[20].ic= 2 ; cs[20].rk= 60 ; cs[20].rkzz=1 ;cs[20].kj= 1 ;cs[20].hp= 100000 ;
cs[21].nm=" 鲁尔 ";cs[21].gj= 10 ;cs[21].ic= 1 ; cs[21].rk= 60 ; cs[21].rkzz=1 ;cs[21].kj= 1 ;cs[21].hp= 100000 ;
cs[22].nm=" 奥斯陆 ";cs[22].gj= 20 ;cs[22].ic=2 ; cs[22].rk= 15 ; cs[22].rkzz=1 ;cs[22].kj= 1 ;cs[22].hp= 1000 ;
cs[23].nm=" 哥尔摩 ";cs[23].gj= 20 ;cs[23].ic= 1 ; cs[23].rk= 15 ; cs[23].rkzz=1 ;cs[23].kj= 1 ;cs[23].hp= 1000 ;
cs[24].nm="哥本哈根";cs[24].gj= 20 ;cs[24].ic= 1 ; cs[24].rk= 10 ; cs[24].rkzz=1 ;cs[24].kj= 1 ;cs[24].hp= 1000 ;
cs[25].nm="赫尔辛基";cs[25].gj= 20 ;cs[25].ic= 1 ; cs[25].rk= 17 ; cs[25].rkzz=1 ;cs[25].kj= 1 ;cs[25].hp= 100 ;
cs[26].nm=" 米兰 ";cs[26].gj= 9;cs[26].ic= 1 ; cs[26].rk= 15; cs[26].rkzz=1 ;cs[26].kj= 1;cs[26].hp= 1000 ;
cs[27].nm=" 罗马 ";cs[27].gj= 9 ;cs[27].ic= 4 ; cs[27].rk= 20 ; cs[27].rkzz=1 ;cs[27].kj= 1 ;cs[27].hp= 1000 ;
cs[28].nm=" 突尼斯 ";cs[28].gj= 12 ;cs[28].ic= 2 ; cs[28].rk= 5 ; cs[28].rkzz=1 ;cs[28].kj= 1 ;cs[28].hp= 1000 ;
cs[29].nm=" 斯特丹 ";cs[29].gj= 10 ;cs[29].ic= 1 ; cs[29].rk= 25 ; cs[29].rkzz=1 ;cs[29].kj= 1 ;cs[29].hp= 1000 ;
cs[30].nm=" 巴黎 ";cs[30].gj= 22 ;cs[30].ic= 2 ; cs[30].rk= 30 ; cs[30].rkzz=1 ;cs[30].kj= 1 ;cs[30].hp= 1000 ;
cs[31].nm=" 里昂 ";cs[31].gj= 22 ;cs[31].ic= 1 ; cs[31].rk= 20 ; cs[31].rkzz=1 ;cs[31].kj= 1 ;cs[31].hp= 1000 ;
cs[32].nm="南撒哈拉";cs[32].gj= 12 ;cs[32].ic= 1 ; cs[32].rk= 1 ; cs[32].rkzz=1 ;cs[32].kj= 1;cs[32].hp= 1000 ;
cs[33].nm=" 升龙 ";cs[33].gj= 16 ;cs[33].ic= 1 ; cs[33].rk= 2 ; cs[33].rkzz=1 ;cs[33].kj= 1 ;cs[33].hp= 1000 ;
cs[34].nm=" 伦敦 ";cs[34].gj= 11 ;cs[34].ic= 1 ; cs[34].rk= 25 ; cs[34].rkzz=1 ;cs[34].kj= 1 ;cs[34].hp= 50000 ;
cs[35].nm="曼彻斯特";cs[35].gj= 11;cs[35].ic= 1 ; cs[35].rk= 20 ; cs[35].rkzz=1 ;cs[35].kj= 1 ;cs[35].hp= 1000 ;
cs[36].nm=" 埃及 ";cs[36].gj= 5 ;cs[36].ic= 1 ; cs[36].rk= 10 ; cs[36].rkzz=1 ;cs[36].kj= 1 ;cs[36].hp= 1000 ;
cs[37].nm=" 新加坡 ";cs[37].gj= 0 ;cs[37].ic= 1 ; cs[37].rk= 5 ; cs[37].rkzz=1 ;cs[37].kj= 1 ;cs[37].hp= 1000;
cs[38].nm=" 无人区 ";cs[38].gj= 0 ;cs[38].ic= 1 ; cs[38].rk= 25 ; cs[38].rkzz=1 ;cs[38].kj= 1 ;cs[38].hp= 1000;
cs[39].nm=" 德里 ";cs[39].gj= 6 ;cs[39].ic= 1 ; cs[39].rk= 30 ; cs[39].rkzz=1 ;cs[39].kj= 1;cs[39].hp= 1000 ;
cs[40].nm=" 孟买 ";cs[40].gj= 6 ;cs[40].ic= 1 ; cs[40].rk= 25 ; cs[40].rkzz=1 ;cs[40].kj= 1;cs[40].hp= 1000;
cs[41].nm="巴塞罗那";cs[41].gj= 23;cs[41].ic= 1 ; cs[41].rk= 15 ; cs[41].rkzz=1 ;cs[41].kj= 1;cs[41].hp= 1000;
cs[42].nm=" 马德里 ";cs[42].gj= 23 ;cs[42].ic= 1 ; cs[42].rk= 20 ; cs[42].rkzz=1 ;cs[42].kj= 1;cs[42].hp= 1000;
cs[43].nm=" 派拉 ";cs[43].gj= 7 ;cs[43].ic= 4 ; cs[43].rk= 30 ; cs[43].rkzz=1 ;cs[43].kj= 1 ;cs[43].hp= 1000 ;
cs[44].nm=" 勒斯特 ";cs[44].gj= 7 ;cs[44].ic= 1 ; cs[44].rk= 20 ; cs[44].rkzz=1 ;cs[44].kj= 1 ;cs[44].hp= 1000 ;
cs[45].nm=" 雅典 ";cs[45].gj= 4 ;cs[45].ic= 3 ; cs[45].rk= 15 ; cs[45].rkzz=1 ;cs[45].kj= 1 ;cs[45].hp= 1000 ;
cs[46].nm="君士坦丁堡";cs[46].gj= 5 ;cs[46].ic= 2 ; cs[46].rk= 25 ; cs[46].rkzz=1 ;cs[46].kj= 1;cs[46].hp= 1000;
cs[47].nm=" 巴格达 ";cs[47].gj= 5 ;cs[47].ic= 1 ; cs[47].rk= 25 ; cs[47].rkzz=1 ;cs[47].kj= 1 ;cs[47].hp= 1000;
cs[48].nm="巴比伦城";cs[48].gj= 5 ;cs[48].ic= 3 ; cs[48].rk= 20 ; cs[48].rkzz=1 ;cs[48].kj= 1 ;cs[48].hp= 1000;
cs[49].nm=" 无人区 ";cs[49].gj= 0 ;cs[49].ic= 1 ; cs[49].rk= 2 ; cs[49].rkzz=1 ;cs[49].kj= 1 ;cs[49].hp= 1000;
cs[50].nm=" 无人区 ";cs[50].gj= 0 ;cs[50].ic= 1 ; cs[50].rk= 5 ; cs[50].rkzz=1 ;cs[50].kj= 1 ;cs[50].hp= 1000;
cs[51].nm=" 无人区 ";cs[51].gj= 0 ;cs[51].ic= 1 ; cs[51].rk= 0 ; cs[51].rkzz=1 ;cs[51].kj= 1 ;cs[51].hp= 1000;
cs[52].nm=" 无人区 ";cs[52].gj= 0 ;cs[52].ic= 1 ; cs[52].rk= 15 ; cs[52].rkzz=1 ;cs[52].kj= 1 ;cs[52].hp= 1000;
cs[53].nm=" 无人区 ";cs[53].gj= 0;cs[53].ic= 1 ; cs[53].rk= 25 ; cs[53].rkzz=1 ;cs[53].kj= 1 ;cs[53].hp= 1000 ;
cs[54].nm=" 无人区 ";cs[54].gj= 0 ;cs[54].ic= 1 ; cs[54].rk= 35 ; cs[54].rkzz=1 ;cs[54].kj= 1 ;cs[54].hp= 1000;
cs[55].nm=" 尤卡坦 ";cs[55].gj= 13 ;cs[55].ic= 1 ; cs[55].rk= 10 ; cs[55].rkzz=1 ;cs[55].kj= 1 ;cs[55].hp= 1000;
cs[56].nm=" 无人区 ";cs[56].gj= 0 ;cs[56].ic= 1 ; cs[56].rk= 20 ; cs[56].rkzz=1 ;cs[56].kj= 1 ;cs[56].hp= 1001;
cs[57].nm=" 无人区 ";cs[57].gj= 0 ;cs[57].ic= 1 ; cs[57].rk= 50 ; cs[57].rkzz=1 ;cs[57].kj= 1 ;cs[57].hp= 1000;
cs[58].nm=" 临淄 ";cs[58].gj= 19 ;cs[58].ic= 2 ; cs[58].rk= 20 ; cs[58].rkzz=1 ;cs[58].kj= 1 ;cs[58].hp= 1000 ;
lt[1][2]=lt[2][1]= 1 ;
lt[1][4]=lt[4][1]= 1 ;
lt[1][6]=lt[6][1]= 1 ;
lt[1][13]=lt[13][1]= 1 ;
lt[2][3]=lt[3][2]= 1 ;
lt[2][4]=lt[4][2]= 1 ;
lt[2][51]=lt[51][2]= 1 ;
lt[3][4]=lt[4][3]= 1 ;
lt[3][5]=lt[5][3]= 1 ;
lt[3][33]=lt[33][3]= 1 ;
lt[3][38]=lt[38][3]= 1 ;
lt[3][51]=lt[51][3]= 1 ;
lt[4][5]=lt[5][4]= 1 ;
lt[4][8]=lt[8][4]= 1 ;
lt[4][47]=lt[47][4]= 1 ;
lt[5][38]=lt[38][5]= 1 ;
lt[5][39]=lt[39][5]= 1 ;
lt[5][47]=lt[47][5]= 1 ;
lt[6][7]=lt[7][6]= 1 ;
lt[6][13]=lt[13][6]= 1 ;
lt[7][8]=lt[8][7]=1;
lt[7][13]=lt[13][7]= 1 ;
lt[7][57]=lt[57][7]= 1 ;
lt[8][9]=lt[9][8]= 1 ;
lt[8][10]=lt[10][8]= 1 ;
lt[8][12]=lt[12][8]= 1 ;
lt[9][10]=lt[10][9]= 1 ;
lt[9][11]=lt[11][9]= 1 ;
lt[9][25]=lt[25][9]= 1 ;
lt[10][11]=lt[11][10]= 1 ;
lt[10][12]=lt[12][10]= 1 ;
lt[11][16]=lt[16][11]= 1 ;
lt[11][44]=lt[44][11]= 1 ;
lt[12][46]=lt[46][12]= 1 ;
lt[12][47]=lt[47][12]= 1 ;
lt[13][14]=lt[14][13]= 1 ;
lt[14][15]=lt[15][14]= 1 ;
lt[15][50]=lt[50][15]= 1 ;
lt[15][51]=lt[51][15]= 1 ;
lt[16][17]=lt[17][16]= 1 ;
lt[16][24]=lt[24][16]= 1 ;
lt[16][44]=lt[44][16]= 1 ;
lt[17][18]=lt[18][17]= 1 ;
lt[17][19]=lt[19][17]= 1 ;
lt[17][24]=lt[24][17]= 1 ;
lt[18][19]=lt[19][18]= 1 ;
lt[18][20]=lt[20][18]= 1 ;
lt[18][21]=lt[21][18]= 1 ;
lt[18][24]=lt[24][18]= 1 ;
lt[19][20]=lt[20][19]= 1 ;
lt[19][26]=lt[26][19]= 1 ;
lt[19][43]=lt[43][19]= 1 ;
lt[19][44]=lt[44][19]= 1 ;
lt[20][26]=lt[26][20]= 1 ;
lt[20][43]=lt[43][20]= 1 ;
lt[21][24]=lt[24][21]= 1 ;
lt[21][29]=lt[29][21]= 1 ;
lt[21][30]=lt[30][21]= 1 ;
lt[22][23]=lt[23][22]= 1 ;
lt[23][24]=lt[24][23]= 1 ;
lt[23][25]=lt[25][23]= 1 ;
lt[24][29]=lt[29][24]= 1 ;
lt[26][27]=lt[27][26]= 1 ;
lt[26][31]=lt[31][26]= 1 ;
lt[26][43]=lt[43][26]= 1 ;
lt[27][28]=lt[28][27]= 1 ;
lt[28][32]=lt[32][28]= 1 ;
lt[28][36]=lt[36][28]= 1 ;
lt[29][30]=lt[30][29]= 1 ;
lt[30][31]=lt[31][30]= 1 ;
lt[30][34]=lt[34][30]= 1 ;
lt[31][41]=lt[41][31]= 1 ;
lt[31][42]=lt[42][31]= 1 ;
lt[33][37]=lt[37][33]= 1 ;
lt[33][38]=lt[38][33]= 1 ;
lt[33][51]=lt[51][33]= 1 ;
lt[34][35]=lt[35][34]= 1 ;
lt[37][50]=lt[50][37]= 1 ;
lt[38][39]=lt[39][38]= 1 ;
lt[39][40]=lt[40][39]= 1 ;
lt[39][47]=lt[47][39]= 1 ;
lt[40][47]=lt[47][40]= 1 ;
lt[40][48]=lt[48][40]= 1 ;
lt[41][42]=lt[42][41]= 1 ;
lt[43][44]=lt[44][43]= 1 ;
lt[43][45]=lt[45][43]= 1 ;
lt[44][45]=lt[45][44]= 1 ;
lt[45][46]=lt[46][45]= 1 ;
lt[46][47]=lt[47][46]= 1 ;lt[48][47]=lt[47][48]= 1 ;
lt[49][50]=lt[50][49]= 1 ;
lt[50][51]=lt[51][50]= 1 ;
lt[52][55]=lt[55][52]= 1 ;
lt[52][57]=lt[57][52]= 1 ;
lt[53][54]=lt[54][53]= 1 ;
lt[53][56]=lt[56][53]= 1 ;
lt[54][55]=lt[55][54]= 1 ;
lt[56][57]=lt[57][56]= 1 ;
lt[14][52]=lt[52][14]=1;
lt[53][30]=lt[30][53]=1;
lt[46][36]=lt[36][46]=1;
lt[58][1]=lt[1][58]=1;
for(i=1;i<=60;i++)
for(j=1;j<=60;j++)
{
zdl[i][j]=lt[i][j];if(zdl[i][j]==0)zdl[i][j]=9999999;
}
g2j[0]=6;
for(i=1;i<=60;i++)
if(cs[i].gj==0)
{
for(j=1;j<=500;j++)
++dwcnt,v[i].push_back(dwcnt),dw[dwcnt].zl=1,dw[dwcnt].zl=1,dw[dwcnt].hp=30,dw[dwcnt].xh=1 ;
}
for(i=1;i<=60;i++)
for(j=1;j<=60;j++)
for(int k=1;k<=60;k++)
{
zdl[j][k]=min(zdl[j][k],zdl[j][i]+zdl[i][k]+1);
}
printf(" 选择国家: \n\n\n 1、%s\n\n\n 2、%s\n\n\n 3、%s\n\n\n 4、%s\n\n\n 5、%s\n\n\n 6、%s \n\n\n 7、%s\n\n\n 8、%s \n\n\n 9、%s\n\n\n 10、%s\n\n\n 11、%s\n\n\n 12、%s\n\n\n 13、%s\n\n\n 14、%s\n\n\n 15、%s\n\n\n 16、%s\n\n\n 17、%s\n\n\n 18、%s\n\n\n 19、%s\n\n\n 20、%s\n\n\n 21、%s\n\n\n 22、%s\n\n\n 23、%s\n\n\n 24、%s\n\n\n 25、%s",gjm[1].c_str(),gjm[2].c_str(),gjm[3].c_str(),gjm[4].c_str(),gjm[5].c_str(),gjm[6].c_str(),gjm[7].c_str(),gjm[8].c_str(),gjm[9].c_str(),gjm[10].c_str(),gjm[11].c_str(),gjm[12].c_str(),gjm[13].c_str(),gjm[14].c_str(),gjm[15].c_str(),gjm[16].c_str(),gjm[17].c_str(),gjm[18].c_str(),gjm[19].c_str(),gjm[20].c_str(),gjm[21].c_str(),gjm[22].c_str(),gjm[23].c_str(),gjm[24].c_str(),gjm[25].c_str());
cin>>xzgj;
fstream fin("sjdt2.txt");
for(i=1;i<=12;i++)
{
for(j=1;j<=37;j++)fin>>tu[i][j];
}
fin.close();
yx();
}
void shuchu()
{
int i,j;
for(i=1;i<=12;i++)
{
for(j=1;j<=37;j++)
{
if(tu[i][j]==0)
printf(" ");
else
{tys(11);
if(cs[tu[i][j]].gj==1)tys(0);
if(cs[tu[i][j]].gj==xzgj)tys(1);
if(cs[tu[i][j]].gj==5)tys(7);
if(cs[tu[i][j]].gj==6)tys(10);
if(cs[tu[i][j]].gj==24)tys(4);
if(cs[tu[i][j]].gj==9)tys(2);
if(cs[tu[i][j]].gj==7)tys(6);
if(cs[tu[i][j]].gj==10)tys(3);    if(cs[tu[i][j]].gj==14)tys(8);
if(cs[tu[i][j]].gj==11)tys(9);    if(cs[tu[i][j]].gj==3)tys(5);
cout<<cs[tu[i][j]].nm;
}
}    cout<<endl<<endl;
}    tys(11);
}
int ezjieshu;
void shj()
{
int i,j,k;
X=1;
Y=1000;
sj2=rand()%(Y-X+1)+X;
if(sj2==50&&nian>1000)
{
X=1;
Y=60;
sj2=rand()%(Y-X+1)+X;
if(cs[sj2].gj!=0)
{
system("CLS");
printf("\n\n\n %s 发生工业革命!",cs[sj2].nm.c_str());
cs[sj2].ic+=3;
Sleep(2000);    }
}
if(sj2<=30&&nian>=1700)
{
while(1)
{
X=1;
Y=25;
sj1=rand()%(Y-X+1)+X;
int nn=sj1;
X=1;
Y=25;
sj3=rand()%(Y-X+1)+X;
int mm=sj3;
if(!sile[mm]&&!sile[nn]&&mm!=nn)
{
system("CLS");
printf(" \n\n\n %s 和 %s 宣战 !",gjm[nn].c_str(),gjm[mm].c_str());
zz[nn][mm]=zz[mm][nn]=1;
Sleep(2000);
break;
}
}
}
if(fs[1]==0)
{
system("CLS");
printf("\n\n\n 齐、燕、楚 一起抗击 秦!");
zz[1][17]=zz[17][1]=zz[1][18]=zz[18][1]=zz[1][19]=zz[19][1]=1;
for(i=1;i<=dwcnt;i++)
if(dw[i].gj==1)dw[i].hp*=7;
Sleep(2000);
fs[1]=1;
}
if(nian>=-220&&fs[2]==0)
{
int o;
int cc=0;
if(sile[1]!=1)o=1,++cc;
if(sile[17]!=1)o=17,++cc;
if(sile[18]!=1)o=18,++cc;
if(sile[19]!=1)o=19,++cc;
if(cc==1)
{
if(o==xzgj)
{
system("CLS");
printf("\n\n\n 是否进入 汉 ?");
printf("\n\n 1、是 2、否");
char op;
scanf("%c",&op);
while(op!='1'&&op!='2')    scanf("%c",&op);
if(op=='1')
{
gjm[o]="汉";
for(i=1;i<=dwcnt;i++)
if(dw[i].gj==o)cs[i].hp=cs[i].hp*4/3;
for(i=1;i<=60;i++)
if(cs[i].gj==o)cs[i].ic+=1;
}
}else
{    system("CLS");
printf("\n\n\n 中国 进入 汉朝 !");
gjm[o]="汉";
for(i=1;i<=dwcnt;i++)
if(dw[i].gj==o)dw[i].hp=dw[i].hp*4/3;
for(i=1;i<=60;i++)
if(cs[i].gj==o)cs[i].ic+=1;    Sleep(2000);
}
}
fs[2]=1;
}
if(nian==618&&fs[3]==0)
{
int o;
if(sile[1]!=1)o=1;
if(sile[17]!=1)o=17;
if(sile[18]!=1)o=18;
if(sile[19]!=1)o=19;
if(o==xzgj)
{
system("CLS");
printf("\n\n\n 是否进入 唐 ?");
printf("\n\n 1、是 2、否");
char op;
scanf("%c",&op);
while(op!='1'&&op!='2')    scanf("%c",&op);
if(op=='1')
{
gjm[o]="唐";
cs[4].nm="长安";
for(i=1;i<=dwcnt;i++)
if(dw[i].gj==o)dw[i].hp=cs[i].hp*10/9;
for(i=1;i<=60;i++)
if(cs[i].gj==o)cs[i].kj+=1;
}
}else
{    system("CLS");
printf("\n\n\n 中国 进入 唐朝 !");
Sleep(2000);
gjm[o]="唐";    cs[4].nm="长安";    for(i=1;i<=dwcnt;i++)
if(dw[i].gj==o)dw[i].hp=cs[i].hp*10/9;
for(i=1;i<=60;i++)
if(cs[i].gj==o)cs[i].kj+=1;    }
fs[3]=1;
}
if(nian==1271&&fs[4]==0&&sile[14]==0)
{
int o;
o=14;
if(o==xzgj)
{
system("CLS");
printf("\n\n\n 是否进入 元 ?");
printf("\n\n 1、是 2、否");
char op;
scanf("%c",&op);
while(op!='1'&&op!='2')    scanf("%c",&op);
if(op=='1')
{
gjm[o]="元";
for(i=1;i<=dwcnt;i++)
if(dw[i].gj==o)dw[i].hp*=3;
}
}else
{    system("CLS");
printf("\n\n\n %s 改国号为 元 !",gjm[o].c_str());
Sleep(2000);
gjm[o]="元";
for(i=1;i<=dwcnt;i++)
if(dw[i].gj==o)dw[i].hp*=2;
}
fs[4]=1;
}
if(nian==1000&&fs[5]==0&&sile[2]==0)
{
int o;
o=2;
gjm[2]="波兰王国";
system("CLS");
printf("\n\n\n 东斯拉夫人 建国 波兰?");
Sleep(2000);
gjm[o]="波兰";
for(i=1;i<=dwcnt;i++)
if(dw[i].gj==o)dw[i].hp*=3;
fs[5]=1;
}
if(nian==800&&fs[6]==0)
{
int o;
o=21;
sile[21]=0;
system("CLS");
printf("\n\n\n 基辅罗斯 建立 定都 基辅 ");
Sleep(2000);
cs[8].nm="莫斯科";
cs[16].nm="基辅";cs[8].gj=21;
cs[16].gj=21;
g2j[21]=2;
for(i=0;i<v[8].size();i++)
dw[v[8][i]].gj=21;
for(i=0;i<v[16].size();i++)
dw[v[16][i]].gj=21;
fs[6]=1;
}
if(nian==1200&&fs[8]==0&&sile[21]==0)
{
int o;
o=21;
system("CLS");
printf("\n\n\n 基辅罗斯 分裂 莫斯科公国 建立 ");
Sleep(2000);
gjm[21]="莫斯科公国";
fs[8]=1;
}
if(nian==1190&&fs[7]==0&&sile[14]==0)
{
int o;
o=14;
if(o==xzgj)
{
system("CLS");
printf("\n\n\n 是否进入 蒙古汗国 ?");
printf("\n\n 1、是 2、否");
char op;
scanf("%c",&op);
while(op!='1'&&op!='2')    scanf("%c",&op);
if(op=='1')
{
gjm[o]="蒙古汗国";
for(i=1;i<=dwcnt;i++)
if(dw[i].gj==o)dw[i].hp*=3;
yft[14][1]=yft[14][2]=yft[14][3]=1;
cs[7].rk+=900;
for(i=1;i<=200;i++)
{    scdw o;
o.lx=3;
o.xh=3;
o.ys=3;
sc[7].push(o);
}
}
}else
{    system("CLS");
printf("\n\n\n %s 改国号为 蒙古汗国 !",gjm[o].c_str());
Sleep(2000);
gjm[o]="蒙古汗国";
for(i=1;i<=dwcnt;i++)
if(dw[i].gj==o)dw[i].hp*=3;
yft[14][1]=yft[14][2]=yft[14][3]=1;
cs[7].rk+=900;
for(i=1;i<=200;i++)
{    scdw o;
o.lx=3;
o.xh=3;
o.ys=3;
sc[7].push(o);
}
}
fs[7]=1;
}
if(nian==1700&&fs[9]==0&&sile[21]==0)
{
int o;
o=21;
system("CLS");
printf("\n\n\n 俄罗斯帝国 建立 ");
Sleep(2000);
gjm[21]="俄罗斯帝国";
fs[9]=1;
}
if(nian==1500&&fs[10]==0&&sile[11]==0)
{
int o;
o=11;
system("CLS");
printf("\n\n\n 英格兰王国 建立 ");
Sleep(2000);
gjm[11]="英格兰王国";
fs[10]=1;
}
if(nian>=450&&fs[11]==0&&cs[30].gj==10&&cs[18].gj==10&&sile[10]==0)
{
int o;
o=10;
system("CLS");
printf("\n\n\n 法兰克王国 建立 ");
Sleep(2000);
gjm[10]="法兰克王国";
fs[11]=1;
}
if(nian==1492&&fs[12]==0&&sile[23]==0)
{
int o;
o=23;
system("CLS");
printf("\n\n\n 西班牙王国 建立 ");
Sleep(2000);
gjm[23]="西班牙王国";
fs[12]=1;
}
if(nian==816&&fs[13]==0&&sile[10]==0)
{
int o;
o=23;
sile[24]=0;
system("CLS");
printf("\n\n\n 法兰克王国 分裂,法兰西王国 , 神圣罗马帝国 建立 ");
Sleep(2000);
gjm[10]="法兰西王国";
cs[18].gj=24;
cs[20].gj=24;cs[21].gj=24;
for(i=0;i<v[18].size();i++)
dw[v[18][i]].gj=24;
for(i=0;i<v[20].size();i++)
dw[v[20][i]].gj=24;
for(i=0;i<v[21].size();i++)
dw[v[21][i]].gj=24;
fs[13]=1;
}
if(nian==400&&fs[14]==0&&sile[3]==0)
{
int o;
o=23;
system("CLS");
printf("\n\n\n 大和国 建立 ");
Sleep(2000);
gjm[3]="大和国";
fs[14]=1;
}
if(nian==640&&fs[15]==0&&sile[3]==0)
{
int o;
o=23;
system("CLS");
printf("\n\n\n 大和 改国号为 日本 ");
Sleep(2000);
gjm[3]="日本";
fs[15]=1;
}
if(fs[16]==0)
{
system("CLS");
printf("\n\n\n 亚历山大大帝 开始征服战争!");
zz[4][7]=zz[7][4]=zz[5][7]=zz[7][5]=zz[7][6]=zz[6][7]=zz[7][1]=zz[1][7]=zz[7][19]=zz[19][7]=zz[7][18]=zz[18][7]=zz[7][17]=zz[17][7]=1;
for(i=1;i<=dwcnt;i++)
if(dw[i].gj==7)dw[i].hp*=2;
Sleep(2000);
fs[16]=1;
}
if(nian==-27&&fs[17]==0&&sile[9]==0)
{    int o;
o=23;
system("CLS");
printf("\n\n\n 罗马帝国 建立");
Sleep(2000);
gjm[9]="罗马帝国";
for(i=1;i<=dwcnt;i++)
if(dw[i].gj==9)dw[i].hp*=4;
fs[17]=1;
}
if(fs[18]==0&&nian==-200&&sile[9]==0&&sile[12]==0)
{
system("CLS");
printf("\n\n\n 罗马共和国 和 迦太基 宣战,布匿战争开始!");
zz[9][12]=zz[12][9]=1;
for(i=1;i<=dwcnt;i++)
if(dw[i].gj==9)dw[i].hp*=1.5;
Sleep(2000);
fs[18]=1;
}
if(fs[19]==0&&nian==-19&&sile[9]==0)
{
system("CLS");
printf("\n\n\n 罗马帝国 开始征服战争!");
zz[9][4]=zz[4][9]=zz[9][7]=zz[7][9]=zz[5][9]=zz[9][5]=zz[9][11]=zz[11][9]=zz[9][1]=zz[1][9]=zz[9][19]=zz[19][9]=zz[9][18]=zz[18][9]=zz[9][17]=zz[17][9]=1;
Sleep(2000);
fs[19]=1;
}
if(fs[24]==0&&nian==80&&sile[9]==0)
{
system("CLS");
printf("\n\n\n 罗马帝国 受到基督教冲击!");
for(i=1;i<=dwcnt;i++)if(dw[i].gj==9)dw[i].hp/=30;
Sleep(2000);
fs[24]=1;
}
if(fs[23]==0&&nian==1230&&sile[14]==0)
{
system("CLS");
printf("\n\n\n 蒙古汗国 开始征服战争!");
zz[14][2]=zz[2][14]=zz[14][3]=zz[3][14]=zz[14][8]=zz[8][14]=zz[14][10]=zz[10][14]=zz[14][6]=zz[6][14]=zz[14][1]=zz[1][14]=zz[14][19]=zz[19][14]=zz[14][18]=zz[18][14]=zz[14][17]=zz[17][14]=zz[14][9]=zz[9][14]=1;
for(i=1;i<=dwcnt;i++)
if(dw[i].gj==1)dw[i].hp*=100;
Sleep(2000);
fs[23]=1;
}
if(fs[19]&&fs[20]==0&&nian==395&&sile[9]==0)
{
int o;
o=23;
system("CLS");
printf("\n\n\n 罗马帝国 分裂,拜占庭帝国 , 西罗马帝国 建立 ");
Sleep(2000);
gjm[9]="西罗马帝国";
if(cs[46].gj==9)    cs[46].gj=25;    sile[25]=0;
if(cs[45].gj==9)    cs[45].gj=25;if(cs[44].gj==9)cs[44].gj=25;
for(i=1;i<=dwcnt;i++)if(dw[i].gj==9)dw[i].hp/=30;
zz[9][10]=zz[10][9]=1;
zz[25][5]=zz[5][25]=1;
for(i=0;i<v[44].size();i++)
dw[v[44][i]].gj=25;
for(i=0;i<v[45].size();i++)
dw[v[45][i]].gj=25;
for(i=0;i<v[46].size();i++)
dw[v[46][i]].gj=25;
fs[20]=1;
}
if(nian==1200&&fs[21]==0&&sile[5]==0)
{
int o;
o=21;
system("CLS");
printf("\n\n\n 奥斯曼帝国 建立 ");
Sleep(2000);
gjm[5] ="奥斯曼帝国";
cs[46].gj=5;
cs[47].gj=5;
cs[48].gj=5;
for(i=0;i<v[46].size();i++)
dw[v[46][i]].gj=5;
for(i=0;i<v[47].size();i++)
dw[v[47][i]].gj=5;
for(i=0;i<v[48].size();i++)
dw[v[48][i]].gj=5;
fs[21]=1;
}
if(nian==640&&fs[22]==0&&sile[6]==0)
{
int o;
o=23;
system("CLS");
printf("\n\n\n 贵霜帝国 取代 孔雀王朝! ");
Sleep(2000);
gjm[6]="贵霜帝国";
fs[22]=1;
}
}
void yx()
{
//电脑部署时间
int lll=xzgj;
xzgj=0;
for(int i=1;i<=100;i++)
up();
xzgj=lll;
for(int i=1;i<=10;i++)
up();
nian=-300;
yue=6;
ri=1;
for(int i=1;i<=60;i++)zz[i][0]=zz[0][i]=1;
zz[10][22]=zz[22][10]=1;
int xz,xzmbcs,sccs,xz2,xzdw,sl,xzcs,jgxz,n,xzjd;
while(1)
{
if(nian>0)yue+=3;else yue-=3;
if(nian==0)nian=1;
if(yue>12)
{
nian++;
yue=3;
}
if(yue==0)
{
nian++;
yue=12;
}
shj();
while(1)
{
system("CLS");//    cout<<endl<<v[53].size()<<" "<<v[18].size()<<" "<<v[19].size()<<" "<<v[11].size()<<" ";//<<v[15].size()<<" "<<v[13].size()<<" "<<v[6].size()<<" "<<v[1].size()<<" "<<" "<<v[2].size()<<" "<<v[3].size()<<" "<<v[4].size()<<" "<<v[5].size()<<endl;
int i,ccc=0;
printf("\n\n %d年 %d月 %d日\n\n\n\n\n",nian,yue,ri);
shuchu();
printf("\n\n\n 1:科研\n\n 2:生产\n\n 3:军队\n\n 4、宣战\n\n 0、下一回合") ;
op=getch();while(op<'0'&&op>9)op=getch();xz=op-'0';
if(xz==0)break;
if(xz==1)
{system("CLS");
printf(" 选择研发项目:");
printf("\n\n\n\n 1、步兵\n\n\n\n 2、火炮\n\n\n\n 3、坦克");
cin>>yffx[xzgj];
}
if(xz==2)
{system("CLS");
printf(" 选择生产城市:");
int dui[999],ii;dui[0]=0;
for(ii=1;ii<=58;ii++)
{
if(cs[ii].gj==xzgj)
{
dui[++dui[0]]=ii;
printf("\n\n\n %d:%s",dui[0],cs[ii].nm.c_str());
}
}
cin>>sccs;if(sccs==0)continue;
sccs=dui[sccs];
printf("\n\n\n 城市名称:%s",cs[sccs].nm.c_str());
printf("\n\n 生产能力:%d",cs[sccs].ic );
printf("\n\n 可用人数:%d",cs[sccs].rk );
if(sc[sccs].front().lx==1)printf("\n\n 正在生产:%s",I[g2j[xzgj]][sc[sccs].front().xh].nm.c_str());
if(sc[sccs].front(). lx==2)printf("\n\n 正在生产:%s",A[g2j[xzgj]][sc[sccs].front().xh].nm.c_str());
if(sc[sccs].front().lx==3)printf("\n\n 正在生产:%s",T[g2j[xzgj]][sc[sccs].front().xh].nm.c_str());
if(sc[sccs].front().lx==8)printf("\n\n 正在生产:工厂");
if(sc[sccs].front().lx==9)printf("\n\n 正在生产:科研所");
printf("\n\n\n 1、清空队列");
printf("\n\n\n 2、生产单位");
printf("\n\n\n 0、返回");
op=getch();while(op<'0'&&op>9)op=getch();xz2=op-'0';
if(xz2==0)continue;
if(xz2==1)while(!sc[sccs].empty())sc[sccs].pop();
if(xz2==2)
{
system("CLS");
printf("\n\n\n\n");
int jj,du[9999][2];du[0][0]=0;
for(jj=1;jj<=5;jj++)
if(yfi[xzgj][jj]==1)
++du[0][0],du[du[0][0]][0]=1,du[du[0][0]][1]=jj,printf("\n\n\n %d:%s 战斗力:%d HP:%d 消耗ic:%d\n",du[0][0],I[g2j[xzgj]][jj].nm.c_str(),I[g2j[xzgj]][jj].zdl,I[g2j[xzgj]][jj].hp,I[g2j[xzgj]][jj].xh);
for(jj=1;jj<=5;jj++)
if(yfa[xzgj][jj]==1)
++du[0][0],du[du[0][0]][0]=2,du[du[0][0]][1]=jj,printf("\n\n\n %d:%s 战斗力:%d HP:%d 消耗ic:%d\n",du[0][0],A[g2j[xzgj]][jj].nm.c_str(),A[g2j[xzgj]][jj].zdl,A[g2j[xzgj]][jj].hp,A[g2j[xzgj]][jj].xh);
for(jj=1;jj<=5;jj++)
if(yft[xzgj][jj]==1)
++du[0][0],du[du[0][0]][0]=3,du[du[0][0]][1]=jj,printf("\n\n\n %d:%s 战斗力:%d HP:%d 消耗ic:%d\n",du[0][0],T[g2j[xzgj]][jj].nm.c_str(),T[g2j[xzgj]][jj].zdl,T[g2j[xzgj]][jj].hp,T[g2j[xzgj]][jj].xh);
++du[0][0],du[du[0][0]][0]=8,du[du[0][0]][1]=0,printf("\n\n\n %d:增设工厂\n",du[0][0]);
++du[0][0],du[du[0][0]][0]=9,du[du[0][0]][1]=0,printf("\n\n\n %d:增设研究机构\n",du[0][0]);
scanf("%d",&xzdw);    printf("\n 输入要生产的数量:\n");
scanf("%d",&sl);    for(int i=1;i<=sl;i++)
{
scdw o;o.lx=du[xzdw][0];o.xh=du[xzdw][1];
if(du[xzdw][0]==1)o.ys=I[g2j[xzgj]][du[xzdw][1]].xh;
if(du[xzdw][0]==2)o.ys=A[g2j[xzgj]][du[xzdw][1]].xh;
if(du[xzdw][0]==3)o.ys=T[g2j[xzgj]][du[xzdw][1]].xh;
if(du[xzdw][0]==8)o.ys=100;
if(du[xzdw][0]==9)o.ys=100;
sc[sccs].push(o);
}
}
}
if(xz==3)
{system("CLS");shuchu();
printf(" 选择城市:");
int dui[999],ii;dui[0]=0;
for(ii=1;ii<=58;ii++)
{
if(cs[ii].gj==xzgj)
{
dui[++dui[0]]=ii;
printf("\n\n\n %d:%s",dui[0],cs[ii].nm.c_str());
}
}
cin>>xzcs;if(xzcs==0)continue;
xzcs=dui[xzcs];
dui[0]=0;
for(ii=0;ii<v[xzcs].size();ii++)
{
int st=v[xzcs][ii];
if(dw[st].zl==1)printf("\n\n\n %s %d\n",I[g2j[xzgj]][dw[st].xh].nm.c_str(),dw[st].hp);
if(dw[st].zl==2)printf("\n\n\n %s %d\n",A[g2j[xzgj]][dw[st].xh].nm.c_str(),dw[st].hp);
if(dw[st].zl==3)printf("\n\n\n %s %d\n",T[g2j[xzgj]][dw[st].xh].nm.c_str(),dw[st].hp);
}
printf("\n\n 1、进攻");
printf("\n\n 2、移动");
printf("\n\n 0、返回");
op=getch();while(op<'0'&&op>9)op=getch();
jgxz=op-'0';
if(op==0)continue;
if(jgxz==1)
{system("CLS");shuchu();
printf(" 选择目标城市");
dui[0]=0;
for(ii=1;ii<=90;ii++)
{
if(lt[xzcs][ii]&&zz[xzgj][cs[ii].gj])
{
++dui[0];
printf("\n\n\n %d、 %s ",dui[0],cs[ii].nm.c_str());
dui[dui[0]]= ii;
}
}
printf("\n\n 0、返回");
scanf("%d",&xzmbcs);
if(xzmbcs==0)continue;
xzmbcs=dui[xzmbcs];
system("CLS");dui[0]=0;
for(ii=0;ii<v[xzcs].size();ii++)
{
int st=v[xzcs][ii];
dui[++dui[0]]=st;
if(dw[st].zl==1)printf("\n\n\n %d、%s %d\n",dui[0],I[g2j[xzgj]][dw[st].xh].nm.c_str(),dw[st].hp);
if(dw[st].zl==2)printf("\n\n\n %d、%s %d\n",dui[0],A[g2j[xzgj]][dw[st].xh].nm.c_str(),dw[st].hp);
if(dw[st].zl==3)printf("\n\n\n %d、%s %d\n",dui[0],T[g2j[xzgj]][dw[st].xh].nm.c_str(),dw[st].hp);
} printf("\n\n 0、返回 1、继续");
scanf("%d",&n);
if(n==0)
continue;
system("CLS");
dui[0]=0;
for(ii=0;ii<v[xzcs].size();ii++)
{
int st=v[xzcs][ii];
dui[++dui[0]]=st;
if(dw[st].zl==1)printf("\n\n\n %d、%s %d\n",dui[0],I[g2j[xzgj]][dw[st].xh].nm.c_str(),dw[st].hp);
if(dw[st].zl==2)printf("\n\n\n %d、%s %d\n",dui[0],A[g2j[xzgj]][dw[st].xh].nm.c_str(),dw[st].hp);
if(dw[st].zl==3)printf("\n\n\n %d、%s %d\n",dui[0],T[g2j[xzgj]][dw[st].xh].nm.c_str(),dw[st].hp);
} printf("\n\n\n 选择要移动的单位区间(输入左端点,右端点)");
int l,r;
scanf("%d%d",&l,&r); if(l<=0||r<=0||r>dui[0])continue;
for(int ll=l;ll<=r;ll++)
{
xzjd=dui[ll];
//删除位置
vector<int>::iterator    iter=find(v[xzcs].begin(),v[xzcs].end(),xzjd);
v[xzcs].erase(iter);
dw[xzjd].mb=xzmbcs;
dw[xzjd].mbsj=10;
}
}
if(jgxz==2)
{system("CLS");shuchu();
printf(" 选择目标城市");
dui[0]=0;
for(ii=1;ii<=90;ii++)
{
if(zdl[xzcs][ii]<=100&&cs[ii].gj==xzgj)
{
++dui[0];
printf("\n\n\n %d、 %s ",dui[0],cs[ii].nm.c_str());
dui[dui[0]]=ii;
}
}
printf("\n\n 0、返回");
scanf("%d",&xzmbcs);
if(xzmbcs==0)continue;
xzmbcs=dui[xzmbcs];
system("CLS");dui[0]=0;
for(ii=0;ii<v[xzcs].size();ii++)
{
int st=v[xzcs][ii];
dui[++dui[0]]=st;
if(dw[st].zl==1)printf("\n\n\n %d、%s %d\n",dui[0],I[g2j[xzgj]][dw[st].xh].nm.c_str(),dw[st].hp);
if(dw[st].zl==2)printf("\n\n\n %d、%s %d\n",dui[0],A[g2j[xzgj]][dw[st].xh].nm.c_str(),dw[st].hp);
if(dw[st].zl==3)printf("\n\n\n %d、%s %d\n",dui[0],T[g2j[xzgj]][dw[st].xh].nm.c_str(),dw[st].hp);
} printf("\n\n 0、返回 1、继续");
scanf("%d",&n);
if(n==0)
continue;
system("CLS");
dui[0]=0;
for(ii=0;ii<v[xzcs].size();ii++)
{
int st=v[xzcs][ii];
dui[++dui[0]]=st;
if(dw[st].zl==1)printf("\n\n\n %d、%s %d\n",dui[0],I[g2j[xzgj]][dw[st].xh].nm.c_str(),dw[st].hp);
if(dw[st].zl==2)printf("\n\n\n %d、%s %d\n",dui[0],A[g2j[xzgj]][dw[st].xh].nm.c_str(),dw[st].hp);
if(dw[st].zl==3)printf("\n\n\n %d、%s %d\n",dui[0],T[g2j[xzgj]][dw[st].xh].nm.c_str(),dw[st].hp);
} printf("\n\n\n 选择要移动的单位区间(输入左端点,右端点)");
int l,r;
scanf("%d%d",&l,&r); if(l<=0||r<=0||r>dui[0])continue;
for(int ll=l;ll<=r;ll++)
{
xzjd=dui[ll];
//删除位置
vector<int>::iterator    iter=find(v[xzcs].begin(),v[xzcs].end(),xzjd);
v[xzcs].erase(iter);
dw[xzjd].mb=xzmbcs;
dw[xzjd].mbsj=10;
}
}
}
if(xz==4)
{
int i;
system("CLS");
int dui[999];dui[0]=0;
for(i=1;i<=22;i++)
{
if(!zz[xzgj][i])
{
++dui[0];
printf("\n\n %d、%s",dui[0],gjm[i].c_str());
dui[dui[0]]=i;
}
}
scanf("%d",&xzcs);
if(xzcs==0)continue;
xzcs=dui[xzcs];
zz[xzgj][xzcs]=zz[xzcs][xzgj]=1;
system("CLS");
printf("\n\n\n\n %s 和 %s 宣战!",gjm[xzgj].c_str(),gjm[xzcs].c_str());
Sleep(2000);
}
}up();
}
}
void up()
{int i;
//处理死亡国家
int css[99];
for(i=1;i<=50;i++)css[i]=0;
for(i=1;i<=60;i++)
{
css[cs[i].gj]++;if(cs[i].hp<500&&cs[i].hp>0)cs[i].hp+=10;
}
for(i=1;i<=22;i++)
{
if(!sile[i]&&css[i]==0)
{
sile[i]=1;
system("CLS");
printf("\n\n\n %s 战败!",gjm[i].c_str());
for(int j=1;j<=dwcnt;j++)if(dw[j].gj==i)dw[j].hp=-1;
Sleep(3000);
}
}
//处理转移
for(i=1;i<=dwcnt;i++)
{
if(dw[i].hp<=0)continue;
if(dw[i].mbsj>0)
{
if(dw[i].zl==1)    dw[i].mbsj-=I[g2j[dw[i].gj]][dw[i].xh].sd;
if(dw[i].zl==2)    dw[i].mbsj-=A[g2j[dw[i].gj]][dw[i].xh].sd;
if(dw[i].zl==3)    dw[i].mbsj-=T[g2j[dw[i].gj]][dw[i].xh].sd;
}
if(dw[i].mbsj<=0&&dw[i].mb!=0)
{
dw[i].mbsj=0;
if(cs[dw[i].mb].gj==dw[i].gj)
{    //删一个,加一个
v[dw[i].mb].push_back(i); dw[i].mb=0;
}else if(cs[dw[i].mb].hp<=0&&v[dw[i].mb].size()==0&&zz[dw[i].gj][cs[dw[i].mb].gj])
{
cs[dw[i].mb].hp=100;
cs[dw[i].mb].gj=dw[i].gj;
cs[dw[i].mb].rk=10;
v[dw[i].mb].push_back(i);
system("CLS");printf("\n\n\n %s 占领了 %s !",gjm[dw[i].gj].c_str(),cs[dw[i].mb].nm.c_str());
Sleep(700);dw[i].mb=0;
}else
if(!zz[dw[i].gj][cs[dw[i].mb].gj])
{
for(int k=1;k<=60;k++)if(cs[k].gj==dw[i].gj)
{
dw[i].mb=k;
dw[i].mbsj=10;
break;
}
}
}
}
//处理科研
for(i=1;i<=25;i++)
{
int kynl=0;
for(int j=1;j<=60;j++)
if(cs[j].gj==i)kynl+=cs[j].kj;
if(yffx[i]==1)
{
if(yfi[i][3]==0){yffy[i][1][3]-=kynl; if(yffy[i][1][3]<=0){yfi[i][3]=1;if(i==xzgj){ system("CLS");printf(" %s 研发完成 !",I[g2j[i]][3].nm.c_str());Sleep(2900);    }    } }
else if(yfi[i][4]==0){yffy[i][1][4]-=kynl; if(yffy[i][1][4]<=0){yfi[i][4]=1;if(i==xzgj){ system("CLS");printf(" %s 研发完成 !",I[g2j[i]][4].nm.c_str());Sleep(2900);    }    } }
else if(yfi[i][5]==0){yffy[i][1][5]-=kynl; if(yffy[i][1][5]<=0){yfi[i][5]=1;if(i==xzgj){ system("CLS");printf(" %s 研发完成 !",I[g2j[i]][5].nm.c_str());Sleep(2900);    }    } }
}
if(yffx[i]==2)
{    if(yfa[i][2]==0){yffy[i][2][2]-=kynl; if(yffy[i][2][2]<=0){yfa[i][2]=1;if(i==xzgj){ system("CLS");printf(" %s 研发完成 !",A[g2j[i]][2].nm.c_str());Sleep(2900);    }    } }
else
if(yfa[i][3]==0){yffy[i][2][3]-=kynl; if(yffy[i][2][3]<=0){yfa[i][3]=1;if(i==xzgj){ system("CLS");printf(" %s 研发完成 !",A[g2j[i]][3].nm.c_str());Sleep(2900);    }    } }
else if(yfa[i][4]==0){yffy[i][2][4]-=kynl; if(yffy[i][2][4]<=0){yfa[i][4]=1;if(i==xzgj){ system("CLS");printf(" %s 研发完成 !",A[g2j[i]][4].nm.c_str());Sleep(2900);    }    } }
else if(yfa[i][5]==0){yffy[2][2][5]-=kynl; if(yffy[i][2][5]<=0){yfa[i][5]=1;if(i==xzgj){ system("CLS");printf(" %s 研发完成 !",A[g2j[i]][5].nm.c_str());Sleep(2900);    }    } }
}
if(yffx[i]==3)
{
if(yft[i][1]==0){yffy[i][3][1]-=kynl; if(yffy[i][3][1]<=0){yft[i][1]=1;if(i==xzgj){ system("CLS");printf(" %s 研发完成 !",T[g2j[i]][1].nm.c_str());Sleep(2900);    }    } }
else
if(yft[i][2]==0){yffy[i][3][2]-=kynl; if(yffy[i][3][2]<=0){yft[i][2]=1;if(i==xzgj){ system("CLS");printf(" %s 研发完成 !",T[g2j[i]][2].nm.c_str());Sleep(2900);    }    } }
else
if(yft[i][3]==0){yffy[i][3][3]-=kynl; if(yffy[i][3][3]<=0){yft[i][3]=1;if(i==xzgj){ system("CLS");printf(" %s 研发完成 !",T[g2j[i]][3].nm.c_str());Sleep(2900);    }    } }
else if(yft[i][4]==0){yffy[i][3][4]-=kynl; if(yffy[i][3][4]<=0){yft[i][4]=1;if(i==xzgj){ system("CLS");printf(" %s 研发完成 !",T[g2j[i]][4].nm.c_str());Sleep(2900);    }    } }
else if(yft[i][5]==0){yffy[i][3][5]-=kynl; if(yffy[3][3][5]<=0){yft[i][5]=1;if(i==xzgj){ system("CLS");printf(" %s 研发完成 !",T[g2j[i]][5].nm.c_str());Sleep(2900);    }    } }
}
}
//处理生产/人口增长
for(i=1;i<=60;i++)
{
if(nian>-10&&cs[i].gj==9){if(yue==6)cs[i].rk+=1;}
else cs[i].rk+=cs[i].rkzz;
if(!sc[i].empty()&&cs[i].rk>=10)
{
if(i==14)
{
//    cout<<sc[i].front().xh;
}
sc[i].front().ys-=cs[i].ic;
if(sc[i].front().ys<=0)
{
//    if(cs[i].gj==3)
//    {
//cout<<i<<" "<<sc[i].front().lx;
//Sleep(1000);
//    }
if(sc[i].front().lx==8)
{    if(cs[i].rk>=100){
if(cs[i].gj==xzgj){system("CLS");printf("\n\n\n 工厂 于 %s 制造厂 生产完成 !",cs[i].nm.c_str()); Sleep(500);    }
cs[i].ic+=1;cs[i].rk-=100;
sc[i].pop();
}
}else
if(sc[i].front().lx==9){
if(cs[i].rk>=50){
if(cs[i].gj==xzgj){system("CLS");printf("\n\n\n 科研所 于 %s 制造厂 生产完成 !",cs[i].nm.c_str()); Sleep(500);    }
cs[i].kj+=1;cs[i].rk-=50;
sc[i].pop();
}
}else
{
cs[i].rk-=10;
dw[++dwcnt].gj=cs[i].gj;
dw[dwcnt].zl=sc[i].front().lx;
dw[dwcnt].xh=sc[i].front().xh;
if(dw[dwcnt].zl==1){dw[dwcnt].hp=I[g2j[cs[i].gj]][dw[dwcnt].xh].hp; if(cs[i].gj==xzgj){system("CLS");printf("\n\n\n %s 于 %s 制造厂 生产完成 !",I[g2j[cs[i].gj]][dw[dwcnt].xh].nm.c_str(),cs[i].nm.c_str()); Sleep(500);    } }
if(dw[dwcnt].zl==2){dw[dwcnt].hp=A[g2j[cs[i].gj]][dw[dwcnt].xh].hp; if(cs[i].gj==xzgj){system("CLS");printf("\n\n\n %s 于 %s 制造厂 生产完成 !",A[g2j[cs[i].gj]][dw[dwcnt].xh].nm.c_str(),cs[i].nm.c_str()); Sleep(500);    } }
if(dw[dwcnt].zl==3){dw[dwcnt].hp=T[g2j[cs[i].gj]][dw[dwcnt].xh].hp; if(cs[i].gj==xzgj){system("CLS");printf("\n\n\n %s 于 %s 制造厂 生产完成 !",T[g2j[cs[i].gj]][dw[dwcnt].xh].nm.c_str(),cs[i].nm.c_str()); Sleep(500);    } }
v[i].push_back(dwcnt);
sc[i].pop();
}
}
}
}
int X,Y,j,k,l;
//AI
for(i=1;i<=30;i++)
{
bool cyzz=0;
if(sile[i]||i==xzgj)continue;
int kyzz=0;
X=1;
Y=3;
sj2=rand()%(Y-X+1)+X;
yffx[i]=sj2;
for(j=1;j<=30;j++)
if(zz[j][i]==1&&sile[j]==0)cyzz=1;
//    if(i==21&&nian>=1943)
//    {
//
//    cout<<"pp";
//
//    }
for(j=1;j<=90;j++)
{
if(cs[j].gj!=i)continue;
X=1;
Y=100;
sj1=rand()%(Y-X+1)+X;
kyzz=0;
for(k=1;k<=60;k++)if(lt[k][j]&&zz[cs[j].gj][cs[k].gj]&&(kyzz==0||cs[k].hp<cs[kyzz].hp))kyzz=k;
if(kyzz==0)
{
for(k=1;k<=60;k++)
{
X=1;
Y=100;
sj1=rand()%(Y-X+1)+X;
if(lt[k][j]==1&&cs[k].gj==i&&(sj1>50)&&v[j].size()>2)
{
//移动
int l,nn=v[j].size()-1;
nn=nn/2;
for(l=0;l<nn;l++)
{
int st=v[j][0];
//    if(dw[st].mbsj!=0)continue;
vector<int>::iterator    iter=find(v[j].begin(),v[j].end(),st);
v[j].erase(iter);
dw[st].mb=k;
dw[st].mbsj=10;
}
break;
}
}
}else
{
if(sj1>35&&v[j].size()>=6&&((cs[kyzz].gj!=0)||(v[j].size()>500&&sj1==1))&&((i!=11)||(nian>600||nian<-20||sj1==1))&&((i!=14)||(nian>1230||sj1==2))&&(i!=10||(nian>400||nian<0||sj1==1)))
{
//进攻
int l,nn=v[j].size()-1;
nn=nn*2/3;
for(l=0;l<nn;l++)
{
int st=v[j][0];
if(dw[st].mb!=0)continue;
vector<int>::iterator    iter=find(v[j].begin(),v[j].end(),st);
v[j].erase(iter);
dw[st].mb=kyzz;
dw[st].mbsj=10;
}
}
}
X=1;
Y=100;
sj3=rand()%(Y-X+1)+X;
//生产
if(!sc[j].empty()||sj3>80)continue;
X=1;
Y=100;
sj2=rand()%(Y-X+1)+X;
if(sj2<2)
{
scdw o;
o.lx=8;
o.ys=100;
sc[j].push(o);
}else    if(sj2<4)
{
scdw o;
o.lx=9;
o.xh=0;o.ys=100;
sc[j].push(o);
}else
if(sj2<=25||(i==14&&sj2<=70))
{
for(k=5;k>=1;k--)
{    if(yft[i][k])
{
scdw o;
o.lx=3;
o.xh=k;
o.ys=T[g2j[i]][k].xh;
sc[j].push(o);
}
}
}else    if(sj2<=50)
for(k=5;k>=1;k--)
{
if(yfa[i][k])
{
scdw o;
o.lx=2;
o.xh=k;
o.ys=A[g2j[i]][k].xh;
sc[j].push(o);
}
}
else
for(k=5;k>=1;k--)
{
if(yfi[i][k])
{
scdw o;
o.lx=1;
o.xh=k;
o.ys=I[g2j[i]][k].xh;
sc[j].push(o);
}
}
}
}
//战争
for(i=1;i<=60;i++)
lin[i].clear();
for(i=1;i<=dwcnt;i++)
{
if(dw[i].hp>0&&dw[i].mbsj<=0&&cs[dw[i].mb].gj!=dw[i].gj)
{
lin[dw[i].mb].push_back(i);
}
}
for(i=1;i<=60;i++)
{
if(lin[i].size()>0)
{
system("CLS");
if(dw[lin[i][0]].gj==xzgj||cs[i].gj==xzgj)
{printf("战争爆发!"),Sleep(500);
printf("\n %s 发生冲突",cs[i].nm.c_str());
printf("\n\n %s:\n\n\n",gjm[dw[lin[i][0]].gj].c_str());
for(j=0;j<lin[i].size();j++)
{
if(dw[lin[i][j]].zl==1)
printf(" %s ",I[g2j[dw[lin[i][j]].gj ]][dw[lin[i][j]].xh].nm.c_str() );
if(dw[lin[i][j]].zl==2)
printf(" %s ",A[g2j[dw[lin[i][j]].gj ]][dw[lin[i][j]].xh].nm.c_str() );
if(dw[lin[i][j]].zl==3)
printf(" %s ",T[g2j[dw[lin[i][j]].gj ]][dw[lin[i][j]].xh].nm.c_str() );
if(j%5==0)printf("\n\n");
}
printf("\n\n %s:\n\n\n",gjm[cs[i].gj].c_str());
for(j=0;j<v[i].size();j++)
{
if(dw[v[i][j]].zl==1)
printf(" %s ",I[g2j[dw[v[i][j]].gj ]][dw[v[i][j]].xh].nm.c_str() );
if(dw[v[i][j]].zl==2)
printf(" %s ",A[g2j[dw[v[i][j]].gj ]][dw[v[i][j]].xh].nm.c_str() );
if(dw[v[i][j]].zl==3)
printf(" %s ",T[g2j[dw[v[i][j]].gj ]][dw[v[i][j]].xh].nm.c_str() );
if(j%5==0)printf("\n\n");
}
Sleep(1000);
}
for(j=0;j<lin[i].size();j++)
{
X=1;
Y=5;
sj3=rand()%(Y-X+1)+X;
X=1;
Y=100;
sj1=rand()%(Y-X+1)+X;
if(dw[lin[i][j]].zl==1)
{if(cs[i].hp>0&&(sj1>=20||v[i].size()==0)){    cs[i].hp-=I[g2j[dw[lin[i][j]].gj]][dw[lin[i][j]].xh].zdl;continue;}
if(v[i].size()==0)continue;
bool sgl=1;
for(k=0;k<v[i].size();k++)if(dw[v[i][k]].hp>0)sgl=0;
if(sgl==1)continue;
while(1)
{
X=0;
Y=v[i].size()-1;
sj3=rand()%(Y-X+1)+X;
if(dw[v[i][sj3]].hp>0)
{
X=-I[g2j[dw[lin[i][j]].gj]][dw[lin[i][j]].xh].zdl/10;
Y=I[g2j[dw[lin[i][j]].gj]][dw[lin[i][j]].xh].zdl/10;
sj4=rand()%(Y-X+1)+X;
dw[v[i][sj3]].hp-=I[g2j[dw[lin[i][j]].gj]][dw[lin[i][j]].xh].zdl+sj4;
break;
}
}
}
if(dw[lin[i][j]].zl==2)
{if(cs[i].hp>0&&(sj1>=20||v[i].size()==0)){    cs[i].hp-=A[g2j[dw[lin[i][j]].gj]][dw[lin[i][j]].xh].zdl;continue;}
if(v[i].size()==0)continue;
bool sgl=1;
for(k=0;k<v[i].size();k++)if(dw[v[i][k]].hp>0)sgl=0;
if(sgl==1)continue;
while(1)
{
X=0;
Y=v[i].size()-1;
sj3=rand()%(Y-X+1)+X;
if(dw[v[i][sj3]].hp>0)
{ X=-A[g2j[dw[lin[i][j]].gj]][dw[lin[i][j]].xh].zdl/10;
Y=A[g2j[dw[lin[i][j]].gj]][dw[lin[i][j]].xh].zdl/10;
sj4=rand()%(Y-X+1)+X;
dw[v[i][sj3]].hp-=A[g2j[dw[lin[i][j]].gj]][dw[lin[i][j]].xh].zdl+sj4;
break;
}
}
}
if(dw[lin[i][j]].zl==3)
{if(cs[i].hp>0&&(sj1>=20||v[i].size()==0)){    cs[i].hp-=T[g2j[dw[lin[i][j]].gj]][dw[lin[i][j]].xh].zdl;continue;}
if(v[i].size()==0)continue;
bool sgl=1;
for(k=0;k<v[i].size();k++)if(dw[v[i][k]].hp>0)sgl=0;
if(sgl==1)continue;
while(1)
{
X=0;
Y=v[i].size()-1;
sj3=rand()%(Y-X+1)+X;
if(dw[v[i][sj3]].hp>0)
{    X=-T[g2j[dw[lin[i][j]].gj]][dw[lin[i][j]].xh].zdl/10;
Y=T[g2j[dw[lin[i][j]].gj]][dw[lin[i][j]].xh].zdl/10;
sj4=rand()%(Y-X+1)+X;
dw[v[i][sj3]].hp-=T[g2j[dw[lin[i][j]].gj]][dw[lin[i][j]].xh].zdl+sj4;
break;
}
}
}
}
for(j=0;j<v[i].size();j++)
{
if(dw[v[i][j]].zl==1)
{
if(lin[i].size()==0)continue;
bool sgl=1;
for(k=0;k<lin[i].size();k++)if(dw[lin[i][k]].hp>0)sgl=0;
if(sgl==1)continue;
while(1)
{
X=0;
Y=lin[i].size()-1;
sj3=rand()%(Y-X+1)+X;
if(dw[lin[i][sj3]].hp>0)
{
X=-I[g2j[dw[v[i][j]].gj]][dw[v[i][j]].xh].zdl/10;
Y=I[g2j[dw[v[i][j]].gj]][dw[v[i][j]].xh].zdl/10;
sj4=rand()%(Y-X+1)+X;
dw[lin[i][sj3]].hp-=I[g2j[dw[v[i][j]].gj]][dw[v[i][j]].xh].zdl+sj4;
break;
}
}
}
if(dw[v[i][j]].zl==2)
{
if(lin[i].size()==0)continue;
bool sgl=1;
for(k=0;k<lin[i].size();k++)if(dw[lin[i][k]].hp>0)sgl=0;
if(sgl==1)continue;
while(1)
{
X=0;
Y=lin[i].size()-1;
sj3=rand()%(Y-X+1)+X;
if(dw[lin[i][sj3]].hp>0)
{    X=-A[g2j[dw[v[i][j]].gj]][dw[v[i][j]].xh].zdl/10;
Y=A[g2j[dw[v[i][j]].gj]][dw[v[i][j]].xh].zdl/10;
sj4=rand()%(Y-X+1)+X;
dw[lin[i][sj3]].hp-=A[g2j[dw[v[i][j]].gj]][dw[v[i][j]].xh].zdl+sj4;
break;
}
}
}
if(dw[v[i][j]].zl==3)
{
if(lin[i].size()==0)continue;
bool sgl=1;
for(k=0;k<lin[i].size();k++)if(dw[lin[i][k]].hp>0)sgl=0;
if(sgl==1)continue;
while(1)
{
X=0;
Y=lin[i].size()-1;
sj3=rand()%(Y-X+1)+X;
if(dw[lin[i][sj3]].hp>0)
{    X=-T[g2j[dw[v[i][j]].gj]][dw[v[i][j]].xh].zdl/10;
Y=T[g2j[dw[v[i][j]].gj]][dw[v[i][j]].xh].zdl/10;
sj4=rand()%(Y-X+1)+X;
dw[lin[i][sj3]].hp-=T[g2j[dw[v[i][j]].gj]][dw[v[i][j]].xh].zdl+sj4;
break;
}
}
}
}
for(j=0;j<lin[i].size();j++)
{
if(dw[lin[i][j]].hp<=0)
{
if(dw[lin[i][j]].gj==xzgj)
{
if(dw[lin[i][j]].zl==1)printf("\n 我方损失 %s !",I[g2j[xzgj]][dw[lin[i][j]].xh].nm.c_str());
if(dw[lin[i][j]].zl==2)printf("\n 我方损失 %s !",A[g2j[xzgj]][dw[lin[i][j]].xh].nm.c_str());
if(dw[lin[i][j]].zl==3)printf("\n 我方损失 %s !",T[g2j[xzgj]][dw[lin[i][j]].xh].nm.c_str());
Sleep(600);
vector<int>::iterator    iter=find(lin[i].begin(),lin[i].end(),lin[i][j]);
//删除指定元素
lin[i].erase(iter);j=-1;
}    else
if(cs[i].gj==xzgj)
{
if(dw[lin[i][j]].zl==1)printf("\n 对方损失 %s !",I[g2j[dw[lin[i][j]].gj]][dw[lin[i][j]].xh].nm.c_str());
if(dw[lin[i][j]].zl==2)printf("\n 对方损失 %s !",A[g2j[dw[lin[i][j]].gj]][dw[lin[i][j]].xh].nm.c_str());
if(dw[lin[i][j]].zl==3)printf("\n 对方损失 %s !",T[g2j[dw[lin[i][j]].gj]][dw[lin[i][j]].xh].nm.c_str());
Sleep(600);
vector<int>::iterator    iter=find(lin[i].begin(),lin[i].end(),lin[i][j]);
//删除指定元素
lin[i].erase(iter);
j=-1;
}
else
{
vector<int>::iterator    iter=find(lin[i].begin(),lin[i].end(),lin[i][j]);
//删除指定元素
lin[i].erase(iter);j=-1;
}
}
}
for(j=0;j<v[i].size();j++)
{
if(dw[v[i][j]].hp<=0)
{
if(dw[v[i][j]].gj==xzgj)
{
if(dw[v[i][j]].zl==1)printf("\n 我方损失 %s !",I[g2j[xzgj]][dw[v[i][j]].xh].nm.c_str());
if(dw[v[i][j]].zl==2)printf("\n 我方损失 %s !",A[g2j[xzgj]][dw[v[i][j]].xh].nm.c_str());
if(dw[v[i][j]].zl==3)printf("\n 我方损失 %s !",T[g2j[xzgj]][dw[v[i][j]].xh].nm.c_str());
Sleep(600);
vector<int>::iterator    iter=find(v[i].begin(),v[i].end(),v[i][j]);
//删除指定元素
v[i].erase(iter);j=-1;
}
else
if(dw[lin[i][0]].gj==xzgj)
{
if(dw[v[i][j]].zl==1)printf("\n 对方损失 %s !",I[g2j[dw[v[i][j]].gj]][dw[v[i][j]].xh].nm.c_str());
if(dw[v[i][j]].zl==2)printf("\n 对方损失 %s !",A[g2j[dw[v[i][j]].gj]][dw[v[i][j]].xh].nm.c_str());
if(dw[v[i][j]].zl==3)printf("\n 对方损失 %s !",T[g2j[dw[v[i][j]].gj]][dw[v[i][j]].xh].nm.c_str());
Sleep(600);
vector<int>::iterator    iter=find(v[i].begin(),v[i].end(),v[i][j]);
//删除指定元素
v[i].erase(iter);
j=-1;
}else
{
vector<int>::iterator    iter=find(v[i].begin(),v[i].end(),v[i][j]);
//删除指定元素
v[i].erase(iter);
j=-1;
}
}
}
if(cs[i].gj==xzgj){printf(" \n\n 我方城市防御值余剩: %d",cs[i].hp);Sleep(2000);}
if(dw[lin[i][0]].gj==xzgj){printf(" \n\n 对方城市防御值余剩: %d",cs[i].hp);Sleep(2000);}
if(    cs[i].hp<0)cs[i].hp=0;
}
}
}
Last modification:October 8th, 2020 at 07:07 pm