[C++] 小游戏 征伐 SLG DNF 0.0.2 版本 zty出品

news/2024/10/8 7:09:56 标签: c++, 开发语言, 数据结构, 算法, zty郑桐羽呀

目录

大家好~ 今天zty带来的是

War and Expedition SLG DNF 0.0.2  version

讲人话就是

    War and Expedition = (游戏名,即征伐)

    SLG = (即时战略类游戏)

    DNF =(Did Not Finish)

    0.0.2 = (内测版本号)

    version = (版本)

适配编译器: Dev C++ 6.7.5

地图介绍看上一篇文章

先赞后看 养成习惯

CODE:

后记


大家好~ 今天zty带来的是

War and Expedition SLG DNF 0.0.2  version

讲人话就是

    War and Expedition = (游戏名,即征伐)

    SLG = (即时战略类游戏)

    DNF =(Did Not Finish)

    0.0.2 = (内测版本号)

    version = (版本)

适配编译器: Dev C++ 6.7.5

地图介绍看上一篇文章

OK啊,废话不多说

先赞后看 养成习惯

CODE:

#include<bits/stdc++.h>
//#include<dpcq.h>
#include<conio.h>
#include<time.h>
#include<windows.h>
using namespace std;
long long tb = 0;
void zhandou();
void chaxun();
void buzhen();
void kuojun();
void budui();
void Yan(int a) {// 1蓝 2绿 3紫 4红 5黄 6深蓝 7棕 8浅灰 9深灰 10绿绿 11绿紫 12绿黄 13蓝蓝
	if (a == 0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
	if (a == 1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE);
	if (a == 2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN);
	if (a == 3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE);
	if (a == 4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
	if (a == 5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN);
	if (a == 6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
	if (a == 7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN);
	if (a == 8) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
	if (a == 9) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY);
	if (a == 10) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN | BACKGROUND_GREEN);
	if (a == 11) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_BLUE | BACKGROUND_GREEN);
	if (a == 12) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | BACKGROUND_GREEN);
	if (a == 13) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE | BACKGROUND_INTENSITY | BACKGROUND_BLUE);
}
void Bai() {
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
}
int tu[43][43] = { //1河流 2桥梁 3高山 4未定城 5地图边界 6我城 7我都 8敌城 9敌都
	{5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5},
	{5, 7, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 6, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 1, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 1, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5},
	{5, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 4, 3, 3, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 3, 3, 1, 1, 1, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 4, 0, 0, 2, 2, 2, 0, 0, 0, 0, 3, 3, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 4, 0, 3, 3, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 2, 0, 0, 0, 3, 3, 3, 0, 0, 8, 0, 0, 8, 5},
	{5, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 4, 3, 3, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 5},
	{5, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 3, 3, 3, 0, 0, 0, 8, 0, 0, 9, 5},
	{5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5},
};
struct wj {
	string jiangjun;//将军
	int bh;//编号
	int b;//步兵
	int d;//盾兵
	int g;//弓箭手
	int q;//骑兵
	bool state = 1; //是否存在
	int hen;
	int zong;
}
w1 = {"\0", 1, 0, 0, 0, 0, 1, 1, 2},
w2 = {"\0", 2, 0, 0, 0, 0, 1, 2, 1},
w3 = {"\0", 3, 0, 0, 0, 0, 1, 2, 2};
struct dj {
	string jiangjun;//将军
	int bh;//编号
	int b;//步兵
	int g;//弓箭手
	int d;//盾兵
	int q;//骑兵
	bool state = 1; //是否存在
	int hen;
	int zong;
}
d1 = {"\0", 1, 0, 0, 0, 0, 1, 40, 39},
d2 = {"\0", 2, 0, 0, 0, 0, 1, 39, 39},
d3 = {"\0", 3, 0, 0, 0, 0, 1, 39, 40};
struct jj {
	string name;
	int gong;
	float bjiacheng;//步兵加成
	float djiacheng;//盾兵加成
	float gjiacheng;//弓箭加成
	float qjiacheng;//骑兵加成
	int bh;
}
lb = {"吕布", 30, 1.2, 1.1, 1.1, 1.6, 1},
zy = {"赵云", 27, 1.3, 1.3, 1.4, 2.0, 2},
dw = {"典韦", 28, 1.9, 1.8, 1.8, 0.9, 3},
gy = {"关羽", 27, 1.5, 1.5, 1.5, 1.9, 4},
mc = {"马超", 25, 1.7, 1.4, 1.5, 1.7, 5},
zf = {"张飞", 24, 1.7, 1.3, 1.5, 1.7, 6},
hz = {"黄忠", 22, 1.6, 2.0, 1.9, 1.3, 7},
xc = {"许褚", 26, 1.4, 1.9, 1.4, 1.8, 8},
sc = {"孙策", 22, 1.4, 1.5, 2.3, 1.4, 9},
dsc = {"太史慈", 22, 1.6, 1.5, 1.9, 1.7, 10},
xhd = {"夏侯惇", 24, 1.6, 1.2, 1.6, 1.8, 11},
xhy = {"夏侯渊", 25, 1.5, 1.2, 1.8, 1.7, 12},
zl = {"张辽", 26, 1.8, 1.5, 1.3, 1.8, 13},
zh = {"张郃", 21, 1.8, 1.6, 1.2, 1.8, 14},
xh = {"徐晃", 24, 1.6, 1.9, 1.2, 1.6, 15},
pd = {"庞德", 19, 1.2, 1.4, 1.8, 1.7, 16},
gn = {"甘宁", 23, 1.8, 1.4, 1.7, 1.5, 17},
zt = {"周泰", 22, 1.5, 1.8, 1.4, 1.7, 18},
wy = {"魏延", 20, 1.6, 1.7, 1.3, 1.5, 19},
zx = {"张绣", 22, 1.8, 1.3, 1.6, 1.6, 20},
wc = {"文丑", 17, 1.5, 1.5, 1.7, 1.5, 21},
yl = {"颜良", 17, 1.6, 1.4, 1.1, 1.4, 22},
dai = {"邓艾", 13, 1.5, 1.2, 1.5, 1.3, 23},
jw = {"姜维", 20, 1.5, 1.1, 1.6, 1.3, 24},
zgl = {"诸葛亮", 4, 2, 2, 2, 2, 25};
struct sb { //士兵
	string name;
	int gong;
	int xue;
	int jl;
	int jiazhi;
}
q = {"枪兵", 20, 7, 1, 1},
j = {"骑兵", 28, 9, 2, 2},
d = {"盾兵", 35, 3, 1, 1},
g = {"弓兵", 17, 6, 4, 1};

//void cd() {
//A:
//	cout << "   1.部队  2.查询  \n";
//	int b = _getch();
//	switch (b) {
//		case 1:
//			budui();
//			break;
//		case 2:
//			chaxun();
//			goto A;
//			break;
//		default:
//			goto A;
//			break;
//	}
//}

void zhanling(int shei) {
	switch (shei) {
		case 1:
			if (tu[w1.hen - 1][w1.zong] == 4 ) {
				tu[w1.hen - 1][w1.zong] = 6;
			}
			if (tu[w1.hen + 1][w1.zong] == 4 ) {
				tu[w1.hen + 1][w1.zong] = 6;
			}
			if ( tu[w1.hen][w1.zong - 1] == 4) {
				tu[w1.hen][w1.zong - 1] = 6;
			}
			if ( tu[w1.hen][w1.zong + 1] == 4) {
				tu[w1.hen][w1.zong + 1] = 6;
			}
			return;
			break;
		case 2:
			if (tu[w2.hen - 1][w2.zong] == 4 ) {
				tu[w2.hen - 1][w2.zong] = 6;
			}
			if (tu[w2.hen + 1][w2.zong] == 4 ) {
				tu[w2.hen + 1][w2.zong] = 6;
			}
			if ( tu[w2.hen][w2.zong - 1] == 4) {
				tu[w2.hen][w2.zong - 1] = 6;
			}
			if ( tu[w2.hen][w2.zong + 1] == 4) {
				tu[w2.hen][w2.zong + 1] = 6;
			}
			break;
		case 3:
			if (tu[w3.hen - 1][w3.zong] == 4 ) {
				tu[w3.hen - 1][w3.zong] = 6;
			}
			if (tu[w3.hen + 1][w3.zong] == 4 ) {
				tu[w3.hen + 1][w3.zong] = 6;
			}
			if ( tu[w3.hen][w3.zong - 1] == 4) {
				tu[w3.hen][w3.zong - 1] = 6;
			}
			if ( tu[w3.hen][w3.zong + 1] == 4) {
				tu[w3.hen][w3.zong + 1] = 6;
			}
			break;
		default:
			//TODO
			break;
	}
}
void kuojun(int a) {
kj:
	cout << "扩军:\n1,枪兵 1铜币/人 2,盾兵 1铜币/人 3,弓兵 1铜币/人 4,骑兵 2铜币/人 0,返回\n 铜币:";
	cout << tb;
	cout << "\n\n";
	int xuan = _getch();
	int sl = 0;
	switch (xuan) {
		case 1:
			cout << "扩军数量:";
			cin >> sl;
			if (tb - sl >= 0) {
				tb -= sl;
				if (a == 1) {
					w1.b += sl;
				} else if (a == 2) {
					w2.b += sl;
				} else {
					w3.b += sl;
				}
				goto kj;
			}
			cout << "钱不够\n\n";
			break;
		case 2:
			cout << "扩军数量:";
			cin >> sl;
			if (tb - sl >= 0) {
				tb -= sl;
				if (a == 1) {
					w1.d += sl;
				} else if (a == 2) {
					w2.d += sl;
				} else {
					w3.d += sl;
				}
				goto kj;
			}
			cout << "钱不够\n\n";
			break;
		case 3:
			cout << "扩军数量:";
			cin >> sl;
			if (tb - sl >= 0) {
				tb -= sl;
				if (a == 1) {
					w1.d += sl;
				} else if (a == 2) {
					w2.d += sl;
				} else {
					w3.d += sl;
				}
				goto kj;
			}
			cout << "钱不够\n\n";
			break;
		case 4:
			cout << "扩军数量:";
			cin >> sl;
			if (tb - sl * 2 >= 0) {
				tb -= sl * 2;
				if (a == 1) {
					w1.b += sl;
				} else if (a == 2) {
					w2.b += sl;
				} else {
					w3.b += sl;
				}
				goto kj;
			}
			cout << "钱不够\n\n";
			break;
		case 0:

			break;
		default:
			goto kj;
			break;
	}
}
void shuchuditu() {
	for (int i = 0; i < 42; i++) { //1河流 2桥梁 3高山 4未定城 5地图边界 6我城 7我都 8敌城 9敌都
		for (int j = 0; j < 42; j++) {
			switch (tu[i][j]) {
				case 1:
					if ((i == w1.hen && j == w1.zong)   ) {
						Yan(1);
						cout << "①";
						break;
					}
					if ( (i == w2.hen && j == w2.zong)) {
						Yan(1);
						cout << "②";
						break;
					}
					if ((i == w3.hen && j == w3.zong)) {
						Yan(1);
						cout << "③";
						break;
					}
					if ((i == d1.hen && j == d1.zong)   ) {
						Yan(3);
						cout << "①";
						break;
					}
					if ( (i == d2.hen && j == d2.zong)) {
						Yan(3);
						cout << "②";
						break;
					}
					if ((i == d3.hen && j == d3.zong)) {
						Yan(3);
						cout << "③";
						break;
					}
					Yan(13);
					cout << "~ ";
					break;
				case 2:
					if ((i == w1.hen && j == w1.zong)   ) {
						Yan(1);
						cout << "①";
						break;
					}
					if ( (i == w2.hen && j == w2.zong)) {
						Yan(1);
						cout << "②";
						break;
					}
					if ((i == w3.hen && j == w3.zong)) {
						Yan(1);
						cout << "③";
						break;
					}
					if ((i == d1.hen && j == d1.zong)   ) {
						Yan(3);
						cout << "①";
						break;
					}
					if ( (i == d2.hen && j == d2.zong)) {
						Yan(3);
						cout << "②";
						break;
					}
					if ((i == d3.hen && j == d3.zong)) {
						Yan(3);
						cout << "③";
						break;
					}
					Yan(7);
					cout << "〓";
					break;
				case 3:
					if ((i == w1.hen && j == w1.zong)   ) {
						Yan(1);
						cout << "①";
						break;
					}
					if ( (i == w2.hen && j == w2.zong)) {
						Yan(1);
						cout << "②";
						break;
					}
					if ((i == w3.hen && j == w3.zong)) {
						Yan(1);
						cout << "③";
						break;
					}
					if ((i == d1.hen && j == d1.zong)   ) {
						Yan(3);
						cout << "①";
						break;
					}
					if ( (i == d2.hen && j == d2.zong)) {
						Yan(3);
						cout << "②";
						break;
					}
					if ((i == d3.hen && j == d3.zong)) {
						Yan(3);
						cout << "③";
						break;
					}
					Yan(9);
					cout << "■";
					break;
				case 4:
					if ((i == w1.hen && j == w1.zong)   ) {
						Yan(1);
						cout << "①";
						break;
					}
					if ( (i == w2.hen && j == w2.zong)) {
						Yan(1);
						cout << "②";
						break;
					}
					if ((i == w3.hen && j == w3.zong)) {
						Yan(1);
						cout << "③";
						break;
					}
					if ((i == d1.hen && j == d1.zong)   ) {
						Yan(3);
						cout << "①";
						break;
					}
					if ( (i == d2.hen && j == d2.zong)) {
						Yan(3);
						cout << "②";
						break;
					}
					if ((i == d3.hen && j == d3.zong)) {
						Yan(3);
						cout << "③";
						break;
					}
					Yan(0);
					cout << "◎";
					break;
				case 5:
					if ((i == w1.hen && j == w1.zong)   ) {
						Yan(1);
						cout << "①";
						break;
					}
					if ( (i == w2.hen && j == w2.zong)) {
						Yan(1);
						cout << "②";
						break;
					}
					if ((i == w3.hen && j == w3.zong)) {
						Yan(1);
						cout << "③";
						break;
					}
					if ((i == d1.hen && j == d1.zong)   ) {
						Yan(3);
						cout << "①";
						break;
					}
					if ( (i == d2.hen && j == d2.zong)) {
						Yan(3);
						cout << "②";
						break;
					}
					if ((i == d3.hen && j == d3.zong)) {
						Yan(3);
						cout << "③";
						break;
					}
					Yan(8);
					cout << "■";
					break;
				case 6:
					if ((i == w1.hen && j == w1.zong)   ) {
						Yan(1);
						cout << "①";
						break;
					}
					if ( (i == w2.hen && j == w2.zong)) {
						Yan(1);
						cout << "②";
						break;
					}
					if ((i == w3.hen && j == w3.zong)) {
						Yan(1);
						cout << "③";
						break;
					}
					if ((i == d1.hen && j == d1.zong)   ) {
						Yan(3);
						cout << "①";
						break;
					}
					if ( (i == d2.hen && j == d2.zong)) {
						Yan(3);
						cout << "②";
						break;
					}
					if ((i == d3.hen && j == d3.zong)) {
						Yan(3);
						cout << "③";
						break;
					}
					Yan(1);
					cout << "●";
					break;
				case 7:
					if ((i == w1.hen && j == w1.zong)   ) {
						Yan(1);
						cout << "①";
						break;
					}
					if ( (i == w2.hen && j == w2.zong)) {
						Yan(1);
						cout << "②";
						break;
					}
					if ((i == w3.hen && j == w3.zong)) {
						Yan(1);
						cout << "③";
						break;
					}
					if ((i == d1.hen && j == d1.zong)   ) {
						Yan(3);
						cout << "①";
						break;
					}
					if ( (i == d2.hen && j == d2.zong)) {
						Yan(3);
						cout << "②";
						break;
					}
					if ((i == d3.hen && j == d3.zong)) {
						Yan(3);
						cout << "③";
						break;
					}
					Yan(1);
					cout << "★";
					break;
				case 8:
					if ((i == w1.hen && j == w1.zong)   ) {
						Yan(3);
						cout << "①";
						break;
					}
					if ( (i == w2.hen && j == w2.zong)) {
						Yan(3);
						cout << "②";
						break;
					}
					if ((i == w3.hen && j == w3.zong)) {
						Yan(3);
						cout << "③";
						break;
					}
					if ((i == d1.hen && j == d1.zong)   ) {
						Yan(3);
						cout << "①";
						break;
					}
					if ( (i == d2.hen && j == d2.zong)) {
						Yan(3);
						cout << "②";
						break;
					}
					if ((i == d3.hen && j == d3.zong)) {
						Yan(3);
						cout << "③";
						break;
					}
					Yan(3);
					cout << "○";
					break;
				case 9:
					if ((i == w1.hen && j == w1.zong)   ) {
						Yan(3);
						cout << "①";
						break;
					}
					if ( (i == w2.hen && j == w2.zong)) {
						Yan(3);
						cout << "②";
						break;
					}
					if ((i == w3.hen && j == w3.zong)) {
						Yan(3);
						cout << "③";
						break;
					}
					if ((i == d1.hen && j == d1.zong)   ) {
						Yan(3);
						cout << "①";
						break;
					}
					if ( (i == d2.hen && j == d2.zong)) {
						Yan(3);
						cout << "②";
						break;
					}
					if ((i == d3.hen && j == d3.zong)) {
						Yan(3);
						cout << "③";
						break;
					}
					Yan(3);
					cout << "☆";
					break;
				case 0:
					if ((i == w1.hen && j == w1.zong)   ) {
						Yan(1);
						cout << "①";
						break;
					}
					if ( (i == w2.hen && j == w2.zong)) {
						Yan(1);
						cout << "②";
						break;
					}
					if ((i == w3.hen && j == w3.zong)) {
						Yan(1);
						cout << "③";
						break;
					}
					if ((i == d1.hen && j == d1.zong)   ) {
						Yan(3);
						cout << "①";
						break;
					}
					if ( (i == d2.hen && j == d2.zong)) {
						Yan(3);
						cout << "②";
						break;
					}
					if ((i == d3.hen && j == d3.zong)) {
						Yan(3);
						cout << "③";
						break;
					}
					Yan(10);
					cout << "十";
					break;
				default:
					break;
			}

		}
	}
	return;
}
void budui() {
	shuchuditu();
	if (w1.state) {
		cout << "\n\n第一集团军  将军:";
		cout << w1.jiangjun;
		cout << "  位置:" << w1.hen << " " << w1.zong;
		cout << "\n枪兵数量:" << w1.b << "盾兵数量:" << w1.d << "弓兵数量:" << w1.g << "骑兵数量:" << w1.q;
		cout << "\n\n军令:\n    w.向北一格 a.向西一格 s.向南一格 d.向东一格 q.战斗 e.驻扎 r.扩军 f.占领\n";
a:
		char x = _getch();
		switch (x) {
			case 'w':
				if (tu[w1.hen - 1][w1.zong] == 0 || tu[w1.hen - 1][w1.zong] == 2) {
					w1.hen--;
				} else {
					goto a;
				}
				break;
			case 'a':
				if (tu[w1.hen][w1.zong - 1] == 0 || tu[w1.hen][w1.zong - 1] == 2) {
					w1.zong--;
				} else {
					goto a;
				}
				break;
			case 's':
				if (tu[w1.hen + 1][w1.zong] == 0 || tu[w1.hen + 1][w1.zong] == 2) {
					w1.hen++;
				} else {
					goto a;
				}
				break;
			case 'd':
				if (tu[w1.hen][w1.zong + 1] == 0 || tu[w1.hen][w1.zong + 1] == 2) {
					w1.zong++;
				} else {
					goto a;
				}
				break;
			case 'f':
				zhanling(1);
				break;
			case 'r':
				kuojun(1);
				goto a;
				break;
			case 'q':
				if ((w1.hen + 1 == d1.hen && w1.zong - 1 == d1.zong) || (w1.hen + 1 == d2.hen && w1.zong - 1 == d2.zong) || (w1.hen + 1 == d3.hen && w1.zong - 1 == d3.zong)) {
					//zhandou();
				}
				if ((w1.hen + 1 == d1.hen && w1.zong == d1.zong) || (w1.hen + 1 == d2.hen && w1.zong == d2.zong) || (w1.hen + 1 == d3.hen && w1.zong == d3.zong)) {
					//zhandou();
				}
				if ((w1.hen + 1 == d1.hen && w1.zong + 1 == d1.zong) || (w1.hen + 1 == d2.hen && w1.zong + 1 == d2.zong) || (w1.hen + 1 == d3.hen && w1.zong + 1 == d3.zong)) {
					//zhandou();
				}
				if ((w1.hen == d1.hen && w1.zong - 1 == d1.zong) || (w1.hen == d2.hen && w1.zong - 1 == d2.zong) || (w1.hen == d3.hen && w1.zong - 1 == d3.zong)) {
					//zhandou();
				}
				if ((w1.hen == d1.hen && w1.zong + 1 == d1.zong) || (w1.hen == d2.hen && w1.zong + 1 == d2.zong) || (w1.hen == d3.hen && w1.zong + 1 == d3.zong)) {
					//zhandou();
				}
				if ((w1.hen - 1 == d1.hen && w1.zong - 1 == d1.zong) || (w1.hen - 1 == d2.hen && w1.zong - 1 == d2.zong) || (w1.hen - 1 == d3.hen && w1.zong - 1 == d3.zong)) {
					//zhandou();
				}
				if ((w1.hen - 1 == d1.hen && w1.zong == d1.zong) || (w1.hen - 1 == d2.hen && w1.zong == d2.zong) || (w1.hen - 1 == d3.hen && w1.zong == d3.zong)) {
					//zhandou();
				}
				if ((w1.hen - 1 == d1.hen && w1.zong + 1 == d1.zong) || (w1.hen - 1 == d2.hen && w1.zong + 1 == d2.zong) || (w1.hen - 1 == d3.hen && w1.zong + 1 == d3.zong)) {
					//zhandou();
				}
				goto a;
				break;
			case 'e':
				break;
			default:
				goto a;
				break;
		}
	}
	system("cls");
	shuchuditu();
	if (w2.state) {
		cout << "\n\n第二集团军  将军:";
		cout << w2.jiangjun;
		cout << "  位置:" << w2.hen << " " << w2.zong;
		cout << "\n枪兵数量:" << w2.b << "盾兵数量:" << w2.d << "弓兵数量:" << w2.g << "骑兵数量:" << w2.q;
		cout << "\n\n军令:\n    w.向北一格 a.向西一格 s.向南一格 d.向东一格 q.战斗 e.驻扎 r.扩军 f.占领\n";
b:
		char x = _getch();
		switch (x) {
			case 'w'://2 4 6 7 0
				if (tu[w2.hen - 1][w2.zong] == 0 || tu[w2.hen - 1][w2.zong] == 2) {
					w2.hen--;
				} else {
					goto b;
				}
				break;
			case 'a':
				if (tu[w2.hen][w2.zong - 1] == 0 || tu[w2.hen][w2.zong - 1] == 2) {
					w2.zong--;
				} else {
					goto b;
				}
				break;
			case 's':
				if (tu[w2.hen + 1][w2.zong] == 0 || tu[w2.hen + 1][w2.zong] == 2) {
					w2.hen++;
				} else {
					goto b;
				}
				break;
			case 'd':
				if (tu[w2.hen][w2.zong--] == 0 || tu[w2.hen][w2.zong--] == 2) {
					w2.zong++;
				} else {
					goto b;
				}
				break;
			case 'f':
				zhanling(2);
				break;
			case 'r':
				kuojun(2);
				goto b;
				break;
			case 'q':
				if ((w2.hen + 1 == d1.hen && w2.zong - 1 == d1.zong) || (w2.hen + 1 == d2.hen && w2.zong - 1 == d2.zong) || (w2.hen + 1 == d3.hen && w2.zong - 1 == d3.zong)) {
					//zhandou();
				}
				if ((w2.hen + 1 == d1.hen && w2.zong == d1.zong) || (w2.hen + 1 == d2.hen && w2.zong == d2.zong) || (w2.hen + 1 == d3.hen && w2.zong == d3.zong)) {
					//zhandou();
				}
				if ((w2.hen + 1 == d1.hen && w2.zong + 1 == d1.zong) || (w2.hen + 1 == d2.hen && w2.zong + 1 == d2.zong) || (w2.hen + 1 == d3.hen && w2.zong + 1 == d3.zong)) {
					//zhandou();
				}
				if ((w2.hen == d1.hen && w2.zong - 1 == d1.zong) || (w2.hen == d2.hen && w2.zong - 1 == d2.zong) || (w2.hen == d3.hen && w2.zong - 1 == d3.zong)) {
					//zhandou();
				}
				if ((w2.hen == d1.hen && w2.zong + 1 == d1.zong) || (w2.hen == d2.hen && w2.zong + 1 == d2.zong) || (w2.hen == d3.hen && w2.zong + 1 == d3.zong)) {
					//zhandou();
				}
				if ((w2.hen - 1 == d1.hen && w2.zong - 1 == d1.zong) || (w2.hen - 1 == d2.hen && w2.zong - 1 == d2.zong) || (w2.hen - 1 == d3.hen && w2.zong - 1 == d3.zong)) {
					//zhandou();
				}
				if ((w2.hen - 1 == d1.hen && w2.zong == d1.zong) || (w2.hen - 1 == d2.hen && w2.zong == d2.zong) || (w2.hen - 1 == d3.hen && w2.zong == d3.zong)) {
					//zhandou();
				}
				if ((w2.hen - 1 == d1.hen && w2.zong + 1 == d1.zong) || (w2.hen - 1 == d2.hen && w2.zong + 1 == d2.zong) || (w2.hen - 1 == d3.hen && w2.zong + 1 == d3.zong)) {
					//zhandou();
				}
				goto b;
				break;
			case 'e':
				break;
			default:
				goto b;
				break;
		}
	}
	system("cls");
	shuchuditu();
	if (w3.state) {
		cout << "\n\n第三集团军  将军:";
		cout << w3.jiangjun;
		cout << "  位置:" << w3.hen << " " << w3.zong;
		cout << "\n枪兵数量:" << w3.b << "盾兵数量:" << w3.d << "弓兵数量:" << w3.g << "骑兵数量:" << w3.q;
		cout << "\n\n军令:\n    w.向北一格 a.向西一格 s.向南一格 d.向东一格 q.战斗 e.驻扎 r.扩军 f.占领\n";
c:
		char x = _getch();
		switch (x) {
			case 'w'://2 4 6 7 0
				if (tu[w2.hen - 1][w2.zong] == 0 || tu[w3.hen - 1][w2.zong] == 2) {
					w3.hen--;
				} else {
					goto c;
				}
				break;
			case 'a':
				if (tu[w2.hen ][w2.zong - 1] == 0 || tu[w3.hen][w2.zong - 1] == 2) {
					w3.zong--;
				} else {
					goto c;
				}
				break;
			case 's':
				if (tu[w2.hen + 1][w2.zong] == 0 || tu[w3.hen + 1][w2.zong] == 2) {
					w3.hen++;
				} else {
					goto c;
				}
				break;
			case 'd':
				if (tu[w2.hen][w2.zong + 1] == 0 || tu[w3.hen][w2.zong + 1] == 2) {
					w3.zong++;
				} else {
					goto c;
				}
				break;

			case 'f':
				zhanling(3);
				break;
			case 'r':
				kuojun(3);
				goto c;
				break;
			case 'q':
				if ((w3.hen + 1 == d1.hen && w3.zong - 1 == d1.zong) || (w3.hen + 1 == d2.hen && w3.zong - 1 == d2.zong) || (w3.hen + 1 == d3.hen && w3.zong - 1 == d3.zong)) {
					//zhandou();
				}
				if ((w3.hen + 1 == d1.hen && w3.zong == d1.zong) || (w3.hen + 1 == d2.hen && w3.zong == d2.zong) || (w3.hen + 1 == d3.hen && w3.zong == d3.zong)) {
					//zhandou();
				}
				if ((w3.hen + 1 == d1.hen && w3.zong + 1 == d1.zong) || (w3.hen + 1 == d2.hen && w3.zong + 1 == d2.zong) || (w3.hen + 1 == d3.hen && w3.zong + 1 == d3.zong)) {
					//zhandou();
				}
				if ((w3.hen == d1.hen && w3.zong - 1 == d1.zong) || (w3.hen == d2.hen && w3.zong - 1 == d2.zong) || (w3.hen == d3.hen && w3.zong - 1 == d3.zong)) {
					//zhandou();
				}
				if ((w3.hen == d1.hen && w3.zong + 1 == d1.zong) || (w3.hen == d2.hen && w3.zong + 1 == d2.zong) || (w3.hen == d3.hen && w3.zong + 1 == d3.zong)) {
					//zhandou();
				}
				if ((w3.hen - 1 == d1.hen && w3.zong - 1 == d1.zong) || (w3.hen - 1 == d2.hen && w3.zong - 1 == d2.zong) || (w3.hen - 1 == d3.hen && w3.zong - 1 == d3.zong)) {
					//zhandou();
				}
				if ((w3.hen - 1 == d1.hen && w3.zong == d1.zong) || (w3.hen - 1 == d2.hen && w3.zong == d2.zong) || (w3.hen - 1 == d3.hen && w3.zong == d3.zong)) {
					//zhandou();
				}
				if ((w3.hen - 1 == d1.hen && w3.zong + 1 == d1.zong) || (w3.hen - 1 == d2.hen && w3.zong + 1 == d2.zong) || (w3.hen - 1 == d3.hen && w3.zong + 1 == d3.zong)) {
					//zhandou();
				}
				goto c;
				break;
			case 'e':
				break;
			default:
				goto c;
				break;
		}
	}
}
int main() {
	system("mode con cols=84 lines=52");

	Yan(5);
	cout << "       征伐 1w01a 测试版  \n";
	cout << "                            zty出品\n";
	cout << "                                    \n ";
	cout << "                                    \n ";
	cout << "                                    \n ";
	cout << "             输入' y ' 开始游戏     \n";
	system("cls");
	while (1) {
		system("cls");
		budui();
	}

	return 0;
}

后记

作者:zty郑桐羽呀

联系方式:(不挂了,有事私信)


http://www.niftyadmin.cn/n/5693759.html

相关文章

利用Python输入n个用空格分隔的整数 ← list(map(int,input().split()))

在算法设计中&#xff0c;经常需要输入 n 个用空格分隔的整数。现对其 Python 代码进行总结&#xff1a; ● 当 n1 时&#xff1a; xint(input()) print(x) ● 当 n2 时&#xff1a; x,ymap(int,input().split()) #Enter numbers separated by space sumxy print(sum) in: 1…

【Docker】04-Docker部署Java后端

1. 运行MySQL镜像 hm.cnf [client] default_character_setutf8mb4 [mysql] default_character_setutf8mb4 [mysqld] character_set_serverutf8mb4 collation_serverutf8mb4_unicode_ci init_connectSET NAMES utf8mb4运行MySQL镜像 docker run -d --name mysql -p 3307:3306…

swift使用internvl2微调ocr文字检测(目标检测)

详细记录swfit微调interVL2-8B多模态大模型进行目标检测(附代码)-CSDN博客文章浏览阅读2k次,点赞45次,收藏14次。目标检测任务已经不是一个新鲜事了,但是多模态大模型作目标检测任务并不多见,本文详细记录swfit微调interVL2-8B多模态大模型进行目标检测的过程,旨在让更多…

Notepad++ 怎么让行行之间只保留一空行

在 Notepad 中&#xff0c;您可以使用正则表达式查找和替换功能来实现您的需求。以下是步骤和相应的正则表达式&#xff1a; 一、打开您的文本文件。 二、按下 Ctrl H 快捷键打开查找和替换对话框。 三、在“查找模式”部分&#xff0c;选择“正则表达式”选项。 四、输入…

Steam Deck掌机可装“黑苹果” 开发者成功安装macOS 15 Sequoia

在Steam Deck掌机上运行Windows 11相对轻松&#xff0c;但要让其成功搭载“黑苹果”系统则颇具挑战性。近日&#xff0c;有博主勇于尝试&#xff0c;将macOS 15 Sequoia安装到了Steam Deck上。 开发者kaitlyn在X平台上分享道&#xff1a;“在朋友们的鼎力相助下&#xff0c;我…

MySQL存储过程原理、实现及优化

目录 第一章 存储过程概述 1.1 存储过程定义与作用 1.2 存储过程的优点与缺点 1.2.1 优点 1.2.2 缺点 1.3 MySQL中的存储过程 第二章 存储过程的原理 2.1 存储过程的执行流程 2.1.1 编译阶段 2.1.2 存储阶段 2.1.3 执行阶段 2.2 存储过程的存储机制 2.3 存储过程与…

leetcode 刷题day36动态规划Part05 背包问题(完全背包、518. 零钱兑换 II、377. 组合总和 Ⅳ、70. 爬楼梯 (进阶))

完全背包 完全背包的每件商品都有无限个&#xff0c;和01背包的一不同主要体现在遍历顺序上。为了保证每个物品仅被添加一次&#xff0c;01背包内嵌的循环是从大到小遍历。而完全背包的物品是可以添加多次的&#xff0c;所以要从小到大去遍历。 518. 零钱兑换 II 思路&#…

问:说说JRE、JDK、JVM 及 JIT都是干嘛的?

JRE、JDK、JVM及JIT是Java生态系统中的四个核心概念&#xff0c;它们在Java开发和运行过程中扮演着不同的角色。 概念定义与描述功能与特点相互关系JRE (Java Runtime Environment)Java运行时环境&#xff0c;是运行Java程序所必需的环境。它包括了Java虚拟机(JVM)和Java核心类…