#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;
}
}
}
666