自己写的小游戏(1000行+代码)

功能还很少,还可以继续完善

话不多说,上源代码

//头文件
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
//钱、金币、钻石、体力变量
int money;
int gold;
int zuanshi;
int tili = 75;

//如果您想要让不遵守规则的人受到惩罚
//请在您想要添加的位置添加error()函数

void errorsx(short x, short y, int color) {
	COORD pos = {x, y};
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);
	printf("*");
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7); // 恢复默认颜色
}

int error() {
	srand(time(NULL));
	int v = 10000;
	while (v--) {
		int x = rand() % 80;
		int y = rand() % 24;
		int color = rand() % 7 + 9;
		errorsx(x, y, color);
	}
	system("cls");
	Sleep(2000);
	cout << "ERROR!!!\n";
	exit(0);
}

//结构体部分

//帝国宝藏
struct diguobaozang {
	int wzxznum;
} dgbz;

//经验
struct JINGYAN {
	int jingyan;
	int dengji;
	int up[110] = {0, 100, 300, 500, 800, 1000, 1500, 2000, 2500, 3000, 3500, 4000,
	               4500, 5000, 5500, 6000, 6500, 7000, 7500, 8000, 8500, 9000, 9500,
	               10000, 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000,
	               22000, 24000, 26000, 28000, 30000, 33000, 36000, 40000, 44000, 48000, 52000, 56000, 60000,
	               65000, 70000, 75000, 80000, 85000, 90000, 95000, 100000, 110000, 120000, 130000, 140000,
	               150000, 160000, 170000, 180000, 190000, 200000, 220000, 240000, 260000, 280000, 300000,
	               350000, 400000, 450000, 500000, 550000, 600000, 650000, 700000, 850000, 900000, 950000, 1000000
	              };
} jy;

//金融中心
struct JRZX {
	//商店
	void shop() {
		string gm;
		cout << "您要购买什么道具呢?\n";
		Sleep(500);
		cout << "您有:钱币" << money << ",钻石" << zuanshi << ",金币" << gold << "\n\n";
		Sleep(1000);
		cout << "\n请输入您想购买的道具(体力、钻石、金币、伪造勋章)\n\n";
		cin >> gm;
		//购买体力
		if (gm == "体力") {
			cout << "3钻石=5体力\n";
			cout << "请输入您要购买的体力数量:(5的倍数)\n";
			int cn;
			cin >> cn;
			if (cn % 5 != 0) {
				cout << "不支持该购买数量!\n";
			} else	if (cn / 5 * 3 > zuanshi) {
				cout << "钻石不足!\n";
			} else {
				cout << "购买成功!\n";
				tili += cn;
				cout << "您有体力:" << tili << "\n您的钻石还剩:" << zuanshi << "\n";
			}
		} else if (gm == "钻石") {//购买钻石
			cout << "\n钻石:\n\n";
			cout << "1钱币=10钻石,\n5钱币=55钻石,\n10钱币=120钻石,\n20钱币=250钻石,\n50钱币=625钻石,\n100钱币=1400钻石\n";
			Sleep(1000);
			cout << "\n请输入您要花费的钱币\n(1、5、10、20、50、100)\n";
			int num;
			cin >> num;
			if (num == 1 && money >= 1) {
				cout << "恭喜您!获得10钻石!\n";
				zuanshi += 10;
				money--;
				cout << "您有钻石:" << zuanshi << "\n您的钱币还剩:" << money << "\n";
			} else if (num == 5 && money >= 5) {
				cout << "恭喜您!获得55钻石!\n";
				zuanshi += 55;
				money -= 5;
				cout << "您有钻石:" << zuanshi << "\n您的钱币还剩:" << money << "\n";
			} else if (num == 10 && money >= 10) {
				cout << "恭喜您!获得120钻石!\n";
				zuanshi += 120;
				money -= 10;
				cout << "您有钻石:" << zuanshi << "\n您的钱币还剩:" << money << "\n";
			} else if (num == 20 && money >= 20) {
				cout << "恭喜您!获得250钻石!\n";
				zuanshi += 250;
				money -= 20;
				cout << "您有钻石:" << zuanshi << "\n您的钱币还剩:" << money << "\n";
			} else if (num == 50 && money >= 50) {
				cout << "恭喜您!获得625钻石!\n";
				zuanshi += 625;
				money -= 50;
				cout << "您有钻石:" << zuanshi << "\n您的钱币还剩:" << money << "\n";
			} else if (num == 100 && money >= 100) {
				cout << "恭喜您!获得1400钻石!\n";
				zuanshi += 1400;
				money -= 100;
				cout << "您有钻石:" << zuanshi << "\n您的钱币还剩:" << money << "\n";
			} else {
				cout << "不支持该钱币数量或钱币不足\n";
			}
		} else if (gm == "金币") {//购买金币
			cout << "\n金币:\n\n";
			cout << "3钻石=1000金币\n";
			cout << "请输入您要购买的金币数量(K)\n";
			int num;
			cin >> num;
			int zs = num * 3;
			if (zs > zuanshi) {
				cout << "钻石不足!\n";
			} else {
				zuanshi -= zs;
				gold += num * 1000;
				cout << "购买成功!\n" << "获得" << num * 1000 << "金币\n您共有金币:" << gold << "\n您还剩钻石:" << zuanshi << "\n";
			}
		} else if (gm == "勋章") {//购买勋章
			cout << "勋章:\n10钱币=1勋章\n请输入您要购买的勋章数量\n";
			int wzxzgetnum;
			cin >> wzxzgetnum;
			int ssmoney = wzxzgetnum * 10;
			if (ssmoney > money) {
				cout << "钱币不足!\n";
			} else {
				dgbz.wzxznum += 1000;
				money -= ssmoney;
				cout << "购买成功!\n获得勋章:" << wzxzgetnum << "\n您共有勋章:" << dgbz.wzxznum / 1000 << "\n您的钱币还剩:" << money << "\n";
			}
		} else {
			cout << "不支持购买\n";
		}
		cout << "\n\n请按任意键继续\n";
		string c;
		cin >> c;
		system("cls");
	}
} jrzx;


//陆军
struct LUJVN {
	int SHIBING_NUM;
	int GC_NUM;
} lj;

//金矿
struct JINKUANG {
	int NUM;
} jk;

//海军
struct haijvn {
	int shibingnum;
	int gongchangnum;
} hj;

//空军
struct kongjvn {
	int SHIBINGnum;
	int GCnum;
} kj;

//函数部分

//登录
void init() {
	cout << "欢迎来到游戏!\n游客用户名:123456,密码:123456\n";
	Sleep(500);
	cout << "请登录\n";
	Sleep(500);
	cout << "用户名:\n";
	string s;
	cin >> s;
	if (s == "123456") {
		cout << "密码:\n";
		cin >> s;
		if (s == "123456") {
			cout << "密码正确\n";
			Sleep(500);
			cout << "欢迎!\n";
			Sleep(2000);
			system("cls");
			return;
		} else {
			cout << "密码错误,游戏将退出";
			Sleep(2000);
			system("cls");
			exit(0);
		}
	} else {
		cout << "用户名错误,游戏将退出";
		Sleep(2000);
		system("cls");
		exit(0);
	}
}

//选服
void xvanfu() {
	cout << "请选服\n";
	for (int i = 1; i <= 10; i++) {
		cout << i << "、小游戏" << i << "服\n";
	}
	cout << "请输入您要选择的服务器编号\n";
	int xfbh;
	cin >> xfbh;
	if (xfbh >= 1 && xfbh <= 10) {
		cout << "选择完成,您选择的服务器为:\n小游戏" << xfbh << "服\n";
	} else {
		cout << "无该服务器,游戏将退出\n";
		Sleep(5000);
		exit(0);
	}
	cout << "请按任意键继续\n";
	string cccccccccc;
	cin >> cccccccccc;
	system("cls");
}

//回馈礼包
void huikui() {
	cout << "您是新手还是老玩家?\n(新手请输入1,老玩家请输入2)\n";
	int x;
	cin >> x;
	if (x == 1) {
		//新手通知
		cout << "新手大礼包:金币1K,钻石100,钱币10\n";
		gold = 1000;
		zuanshi = 100;
		money = 10;
		Sleep(1000);
		cout << "提示:金矿可以生产金币哦\n";
		Sleep(1000);
		cout << "建造一个建筑需要100金币\n";
		Sleep(1000);
		cout << "训练一个士兵需要10金币\n";
		Sleep(1000);
		cout << "建造、训练、完成雷达任务、攻打黑暗军团可以获得经验\n";
		Sleep(1000);
		cout << "经验足够可以升级\n";
		Sleep(1000);
		cout << "游戏分为世界和主城两大模块,进入时将打开主城模块\n";
	} else if (x == 2) {
		cout << "老玩家回馈:金币1K,钻石100,钱币10\n";
		gold = 1000;
		zuanshi = 100;
		money = 10;
	} else {
		cout << "无礼包\n";
	}
	cout << "\n请按任意键继续\n";
	string c;
	cin >> c;
	system("cls");
}

//初始化
void chushihua() {
	//经验初始化
	jy.dengji = 1;
	jy.jingyan = 0;
	//陆军初始化
	lj.SHIBING_NUM = 0;
	lj.GC_NUM = 0;
	//金矿初始化
	jk.NUM = 0;
	//海军初始化
	hj.gongchangnum = 0;
	hj.shibingnum = 0;
	//勋章初始化
	dgbz.wzxznum = 5000;
}

//升级方法(带清屏)
void sjff() {
	cout << "建造、训练、完成雷达任务、攻打敌对势力可以获得经验\n";
	Sleep(500);
	cout << "经验足够可以升级\n";
	cout << "\n请按任意键继续\n";
	char c;
	cin >> c;
	system("cls");
}

//升级方法(不带清屏)
void sjff2() {
	cout << "建造、训练、完成雷达任务、攻打敌对势力可以获得经验\n";
	Sleep(500);
	cout << "经验足够可以升级\n";
}

//是否通关
void tg() {
	cout << "您的经验已经达到100万,成功通关本游戏!\n恭喜!!!";
	exit(0);
}

//晋级
void jingji() {
	if (jy.jingyan >= 1000000) {
		tg();
	} else if (jy.jingyan >= jy.up[jy.dengji]) {
		jy.dengji++;
		money++;
		cout << "恭喜您!等级升至" << jy.dengji << "\n奖励:1钱币\n您现在共有钱币:" << money << "\n下一级所需经验为" << jy.up[jy.dengji] << "\n您目前有经验:" << jy.jingyan << "\n";
		Sleep(1000);
		if (jy.dengji == 5) {
			cout << "恭喜您!解锁海军及造船厂!\n";
		}
		if (jy.dengji == 10) {
			cout << "恭喜您!解锁空军及飞机厂!\n";
		}
		cout << "升级方法:\n";
		sjff2();
		cout << "\n请按任意键继续\n";
		string c;
		cin >> c;
		system("cls");
	}
}

//金融中心打开函数
void jingrzx() {
	Sleep(1000);
	system("cls");
	jrzx.shop();
}

//退出
void outof() {
	cout << "您确定要退出吗?\n";
	cout << "数据不会保存\n";
	Sleep(1000);
	cout << "如果您要退出,请输入1,否则请输入0\n";
	int cm;
	cin >> cm;
	if (cm == 1) {
		cout << "已退出";
		Sleep(2000);
		system("cls");
		exit(0);
	}
	if (cm == 0) {
		system("cls");
		return;
	} else {
		cout << "ERROR!!!";
		Sleep(2000);
		system("cls");
		exit(0);
	}
}

//购买钻石——执行函数
void addzuanshi_shop() {
	cout << "1钱币=10钻石,\n5钱币=55钻石,\n10钱币=120钻石,\n20钱币=250钻石,\n50钱币=625钻石,\n100钱币=1400钻石\n";
	Sleep(1000);
	cout << "\n请输入您要花费的钱币\n(1、5、10、20、50、100)\n";
	int num;
	cin >> num;
	if (num == 1 && money >= 1) {
		cout << "恭喜您!获得10钻石!\n";
		zuanshi += 10;
		money--;
		cout << "您有钻石:" << zuanshi << "\n您的钱币还剩:" << money << "\n";
	} else if (num == 5 && money >= 5) {
		cout << "恭喜您!获得55钻石!\n";
		zuanshi += 55;
		money -= 5;
		cout << "您有钻石:" << zuanshi << "\n您的钱币还剩:" << money << "\n";
	} else if (num == 10 && money >= 10) {
		cout << "恭喜您!获得120钻石!\n";
		zuanshi += 120;
		money -= 10;
		cout << "您有钻石:" << zuanshi << "\n您的钱币还剩:" << money << "\n";
	} else if (num == 20 && money >= 20) {
		cout << "恭喜您!获得250钻石!\n";
		zuanshi += 250;
		money -= 20;
		cout << "您有钻石:" << zuanshi << "\n您的钱币还剩:" << money << "\n";
	} else if (num == 50 && money >= 50) {
		cout << "恭喜您!获得625钻石!\n";
		zuanshi += 625;
		money -= 50;
		cout << "您有钻石:" << zuanshi << "\n您的钱币还剩:" << money << "\n";
	} else if (num == 100 && money >= 100) {
		cout << "恭喜您!获得1400钻石!\n";
		zuanshi += 1400;
		money -= 100;
		cout << "您有钻石:" << zuanshi << "\n您的钱币还剩:" << money << "\n";
	} else {
		cout << "不支持该钱币数量或钱币不足\n";
	}
}

//购买钻石——判断函数
void addzuanshi() {
	int cmpaddzs;
	cout << "您要购买钻石吗?\n要请按1,否则请按0\n";
	cin >> cmpaddzs;
	if (cmpaddzs == 1) {
		addzuanshi_shop();
	} else if (cmpaddzs == 0) {
	} else {
		cout << "请输入1或0!!!\n";
	}
	cout << "\n请按任意键继续\n";
	string cccccccccc;
	cin >> cccccccccc;
	system("cls");
}

//金币不足购买函数(执行)
void toget_addgold() {
	cout << "请输入您要购买的金币数量(K)\n";
	int num;
	cin >> num;
	int zs = num * 3;
	if (zs > zuanshi) {
		cout << "钻石不足!\n";
		addzuanshi();
	} else {
		zuanshi -= zs;
		gold += num * 1000;
		cout << "购买成功!\n" << "获得" << num * 1000 << "金币\n您共有金币" << gold << "\n";
	}
}

//金币不足购买函数(判断)
void addgold() {
	cout << "是否购买金币?\n3钻石=1000金币\n购买请输入1,否则请输入0\n您有钻石:" << zuanshi << "\n" ;
	int flagg;
	cin >> flagg;
	if (flagg == 1) {
		toget_addgold();
	} else if (flagg != 0) {
		cout << "请输入1或0!!!\n";
	}
	cout << "\n请按任意键继续\n";
	string cc;
	cin >> cc;
	system("cls");
}

//建造
void jianzao() {
	cout << "您需要建造什么?\n(兵工厂、金矿、造船厂、飞机场)\n您有" << gold << "金币\n每建造一座建筑需要100金币\n";
	string jz_what;
	cin >> jz_what;
	//建造兵工厂
	if (jz_what == "兵工厂") {
		cout << "请输入建造数量\n";
		int jznum;
		cin >> jznum;
		if (gold < jznum * 100) {
			cout << "金币不足,无法建造\n";
			addgold();
		} else {
			cout << "建造成功!";
			lj.GC_NUM += jznum;
			cout << "兵工厂数量:" << lj.GC_NUM << "\n";
			gold -= 100 * jznum;
			jy.jingyan += 10 * jznum;
		}
	} else	if (jz_what == "金矿") {//建造金矿
		cout << "请输入建造数量\n";
		int jznum;
		cin >> jznum;
		if (gold < 100 * jznum) {
			cout << "金币不足,无法建造\n";
			addgold();
		} else {
			cout << "建造成功!\n";
			jk.NUM += jznum;
			cout << "金矿数量:" << jk.NUM << "\n";
			gold -= 100 * jznum;
			jy.jingyan += 10 * jznum;
		}
	} else	if (jz_what == "造船厂") {//建造造船厂
		if (jy.dengji < 5) {
			cout << "等级需要5\n您的等级是:" << jy.dengji << "\n快去升级!!!\n";
		} else {
			cout << "请输入建造数量\n";
			int jznum;
			cin >> jznum;
			if (gold < 100 * jznum) {
				cout << "金币不足,无法建造\n";
				addgold();
			} else {
				cout << "建造成功!\n";
				hj.gongchangnum += jznum;
				cout << "造船厂数量:" << hj.gongchangnum << "\n";
				gold -= 100 * jznum;
				jy.jingyan += 10 * jznum;
			}
		}
	} else	if (jz_what == "飞机厂") {//建造飞机厂
		if (jy.dengji < 10) {
			cout << "等级需要10\n您的等级是:" << jy.dengji << "\n快去升级!!!\n";
		} else {
			cout << "请输入建造数量\n";
			int jznum;
			cin >> jznum;
			if (gold < 100 * jznum) {
				cout << "金币不足,无法建造\n";
				addgold();
			} else {
				cout << "建造成功!\n";
				kj.GCnum += jznum;
				cout << "飞机厂数量:" << kj.GCnum << "\n";
				gold -= 100 * jznum;
				jy.jingyan += 10 * jznum;
			}
		}
	} else {
		cout << "不支持建造该建筑\n";
	}
	cout << "\n您还剩金币" << gold << "\n";
	cout << "\n请按任意键继续\n";
	string c;
	cin >> c;
	system("cls");
}

//训练
void xvnlian() {
	system("cls");
	cout << "您要训练什么军种呢?\n(陆军、海军、空军)\n(需要先建造相应的工厂)\n您有金币:" << gold << "\n每训练一个士兵需要10金币\n";
	string xuanz;
	cin >> xuanz;
	//训练陆军
	if (xuanz == "陆军") {
		if (lj.GC_NUM == 0) {
			cout << "请先建造兵工厂!\n";
		} else {
			cout << "请输入训练数量:\n";
			int nm;
			cin >> nm;
			if (nm * 10 > gold) {
				cout << "金币不足!\n";
				addgold();
			} else {
				cout << "请稍等\n";
				int wait = nm * 1000;
				Sleep(wait / lj.GC_NUM);
				lj.SHIBING_NUM += nm;
				cout << "训练完成!\n陆军士兵数量:" << lj.SHIBING_NUM << "\n";
				jy.jingyan += nm;
			}
		}
	} else if (xuanz == "海军") {//训练海军
		if (jy.dengji < 5) {
			cout << "等级需要5\n您的等级是:" << jy.dengji << "\n快去升级!!!\n";
		} else {
			if (hj.gongchangnum == 0) {
				cout << "请先建造造船厂!\n";
			} else {
				cout << "请输入训练数量:\n";
				int nm;
				cin >> nm;
				if (nm * 10 > gold) {
					cout << "金币不足!\n";
					addgold();
				} else {
					cout << "请稍等\n";
					int wait = nm * 1000;
					Sleep(wait / hj.gongchangnum);
					hj.shibingnum += nm;
					cout << "训练完成!\n海军士兵数量:" << hj.shibingnum << "\n";
					jy.jingyan += nm;
				}
			}
		}
	} else if (xuanz == "空军") {//训练空军
		if (jy.dengji < 10) {
			cout << "等级需要10\n您的等级是:" << jy.dengji << "\n快去升级!!!\n";
		} else {
			if (kj.GCnum == 0) {
				cout << "请先建造飞机厂!\n";
			} else {
				cout << "请输入训练数量:\n";
				int nm;
				cin >> nm;
				if (nm * 10 > gold) {
					cout << "金币不足!\n";
					addgold();
				} else {
					cout << "请稍等\n";
					int wait = nm * 1000;
					Sleep(wait / kj.GCnum);
					kj.SHIBINGnum += nm;
					cout << "训练完成!\n空军士兵数量:" << kj.SHIBINGnum << "\n";
					jy.jingyan += nm;
				}
			}
		}
	} else {
		cout << "不支持训练该军种\n";
	}
	cout << "\n您还剩金币" << gold << "\n";
	cout << "\n请按任意键继续\n";
	string c;
	cin >> c;
	system("cls");
}

//金矿收益
void golden() {
	int x = jk.NUM * 10;
	gold += x;
}

//管理员调试——更改数据
void ts() {
	gold = 100 * 1000;
	zuanshi = 10000;
	money = 1000;
	lj.GC_NUM = 0;
	hj.gongchangnum = 0;
	kj.GCnum = 0;
	lj.SHIBING_NUM = 0;
	hj.shibingnum = 0;
	kj.SHIBINGnum = 0;
	tili = 75;
	jy.dengji = 1;
	jy.jingyan = 100;
}
//调试通关
void tstg() {
	jy.jingyan = 1000000;
}

//管理员调试——判断
void ts2() {
	cout << "\n您确定调试吗?\n这将会导致数据丢失\n确定请按1,否则请按0\n";
	int flagnum;
	cin >> flagnum;
	if (flagnum == 1) {
		ts();
		Sleep(2000);
		cout << "各项数据修改完成,请查看:\n体力回满,金币100K,钻石10K,钱币1K,\n建筑清零,士兵清零,\n等级变为1,经验变为100\n完毕\n";
		cout << "\n请按任意键退出\n";
		string c;
		cin >> c;
		system("cls");
	} else {
		cout << "已退出管理员调试\n";
		Sleep(2000);
		system("cls");
	}
}

//购买勋章——执行
void addwzxz_shop() {
	cout << "10钱币=1勋章\n请输入您要购买的勋章数量\n您有钱币:" << money << "\n";
	int wzxzgetnum;
	cin >> wzxzgetnum;
	int ssmoney = wzxzgetnum * 10;
	if (ssmoney > money) {
		cout << "钱币不足!\n";
	} else {
		dgbz.wzxznum += 1000 * wzxzgetnum;
		money -= ssmoney;
		cout << "购买成功!\n获得勋章:" << wzxzgetnum << "\n您共有勋章" << dgbz.wzxznum / 1000 << "\n您的钱币还剩:" << money << "\n";
	}
}

//购买伪造勋章——判断
void addwzxz() {
	cout << "是否购买勋章?\n如果是请按1,否则请按0\n";
	int cmpwzxz;
	cin >> cmpwzxz;
	if (cmpwzxz == 1) {
		addwzxz_shop();
	} else if (cmpwzxz == 0) {
	} else {
		cout << "请在1和0之间选择!\n";
	}
	cout << "\n请按任意键继续\n";
	string sss;
	cin >> sss;
	system("cls");
}

//购买体力
void addtili() {
	cout << "是否购买体力?\n3钻石=5体力\n购买请输入1,否则请输入0\n您有钻石:" << zuanshi << "\n" ;
	int flagg;
	cin >> flagg;
	if (flagg == 1) {
		cout << "请输入您要购买的体力数量:(体力数量必须为五的倍数)\n";
		int cntt;
		cin >> cntt;
		if (cntt % 5 != 0) {
			cout << "不支持该购买数量!\n";
		} else	if (cntt / 5 * 3 > zuanshi) {
			cout << "钻石不足!\n";
			addzuanshi();
		} else {
			cout << "购买成功!\n";
			tili += cntt;
			cout << "您有体力:" << tili << "\n您的钻石还剩:" << zuanshi << "\n";
		}
	}
	cout << "\n请按任意键继续\n";
	string c;
	cin >> c;
	system("cls");
}
struct pqsbing {
	int ljnum, hjnum, kjnum;
	bool gou;
} pqshibing;
void pqsb() {
	int a, b, c;
	cout << "请输入您要派出的陆军,海军,空军数量\n(a b c)(a->陆军数量)(b->海军数量)(c->空军数量)\n\n";
	cout << "您有陆军:" << lj.SHIBING_NUM << "\n海军:" << hj.shibingnum << "\n空军:" << kj.SHIBINGnum << "\n";
	cin >> a >> b >> c;
	if (a > lj.SHIBING_NUM || b > hj.shibingnum || c > kj.SHIBINGnum) {
		pqshibing.gou = 0;
	} else {
		pqshibing.ljnum = a;
		pqshibing.hjnum = b;
		pqshibing.kjnum = c;
		pqshibing.gou = 1;
	}
	cout << "请按任意键继续\n";
	string qaw;
	cin >> qaw;
	system("cls");
}

//雷达——任务
void rw(int n) {
	cout << "您有体力:" << tili << "\n";
	switch (10 % n) {
		case 0:
			cout << "救援任务:\n是否救援,是请按1,否请按0\n(体力-5)\n";
			int n1;
			cin >> n1;
			if (n1 == 0) {
				break;
			}
			if (tili < 5) {
				cout << "体力不足!\n";
				addtili();
			}
			cout << "救援中(体力已减5)\n";
			tili -= 5;
			Sleep(5000);
			cout << "救援完成,奖励:金币50";
			gold += 50;
			jy.jingyan += 5;
			break;
		case 2:
			cout << "挖矿任务:\n是否挖矿,是请按1,否请按0\n(体力-10)\n";
			int n2;
			cin >> n2;
			if (n2 == 0) {
				break;
			}
			if (tili < 10) {
				cout << "体力不足!\n";
				addtili();
			}
			cout << "挖掘中(体力已减10)\n";
			Sleep(10000);
			tili -= 10;
			cout << "挖掘完成,奖励:钻石1";
			zuanshi += 1;
			jy.jingyan += 10;
			break;
		default:
			cout << "攻击任务:\n是否攻击,是请按1,否请按0\n(体力-5)\n";
			int n3;
			cin >> n3;
			if (n3 == 0) {
				break;
			}
			if (tili < 5) {
				cout << "体力不足!\n";
				addtili();
			}
			cout << "攻击中(体力已减5)\n";
			tili -= 5;
			Sleep(3000);
			if (lj.SHIBING_NUM + hj.shibingnum + kj.SHIBINGnum == 0) {
				cout << "你没有士兵!!!\n";
			} 	else {
				pqsb();
				if (pqshibing.gou == 0) {
					cout << "士兵不足!\n";
				} else {
					cout << "胜利!奖励:金币100";
					gold += 100;
					jy.jingyan += 5;
				}
			}
			break;
	}
}

//雷达——进入
void ld() {
	srand(time(0));
	int n = rand() % 10;
	rw(n);
	cout << "\n您还有体力:" << tili << "\n";
	cout << "已退出雷达\n";
	cout << "\n请按任意键继续\n";
	string c;
	cin >> c;
	system("cls");
}

//体力增加(自动)
void uptili() {
	if (tili >= 75) {
		return;
	}
	tili++;
}

//查看资源数量
void check() {
	//输入查看种类
	cout << "您要查看什么?\n";
	cout << "(钱币、金币、钻石)\n";
	cout << "(经验、等级、体力)\n";
	cout << "(建筑数量、士兵数量)\n(伪造勋章)\n";
	string sss;
	cin >> sss;
	//输出资源数量
	if (sss == "钱币") {
		cout << "钱币数量:" << money << "\n";
	} else if (sss == "金币") {
		cout << "金币数量:" << gold << "\n";
	} else if (sss == "钻石") {
		cout << "钻石数量:" << zuanshi << "\n";
	} else if (sss == "体力") {
		cout << "体力数量:" << tili << "\n";
	} else if (sss == "经验") {
		cout << "您有经验:" << jy.jingyan << "\n";
	} else if (sss == "等级") {
		cout << "您目前的等级是:" << jy.dengji << "\n";
	} else if (sss == "建筑数量") {
		cout << "您想要查看哪种建筑呢?\n";
		cout << "(金矿、兵工厂、造船厂、飞机厂)\n";
		string ssss;
		cin >> ssss;
		if (ssss == "金矿") {
			cout << jk.NUM << "\n";
		} else if (ssss == "兵工厂") {
			cout << lj.GC_NUM << "\n";
		} else if (ssss == "造船厂") {
			cout << hj.gongchangnum << "\n";
		} else if (ssss == "飞机厂") {
			cout << kj.GCnum << "\n";
		} else {
			cout << "不支持查看此类型建筑\n";
		}
	} else if (sss == "士兵数量") {
		cout << "您想要查看哪个军种呢?\n";
		cout << "(陆军、海军、空军)\n";
		string ssss;
		cin >> ssss;
		if (ssss == "陆军") {
			cout << "您有陆军士兵:" << lj.SHIBING_NUM << "\n";
		} else if (ssss == "海军") {
			cout << "您有海军士兵:" << hj.shibingnum << "\n";
		} else if (ssss == "空军") {
			cout << "您有空军士兵:" << kj.SHIBINGnum << "\n";
		} else {
			cout << "无该军种\n";
		}
	} else if (sss == "勋章") {
		cout << "您有勋章:" << dgbz.wzxznum / 1000 << "\n";
	} else {
		cout << "不支持查看\n";
	}
	cout << "请按任意键继续\n";
	string c;
	cin >> c;
	system("cls");
}

//前置世界函数,以便在主城函数中调用
void world();

//伪造勋章增加(自动)
void upwzxz() {
	if (dgbz.wzxznum >= 5000) {
		return;
	}
	dgbz.wzxznum++;
}

//金币快速收割
bool fl = 1;
void quickgolden() {
	cout << "金币快速收割\n您可以获得" << jk.NUM * 5 << "金币\n";
	cout << "是否开始收割?\n是请按1 ,否请按0\n";
	int startfl;
	cin >> startfl;
	if (startfl == 1) {
		if (fl) {
			cout << "本次免费\n";
			Sleep(500);
			fl = 0;
			cout << "恭喜您!\n获得" << jk.NUM * 5 << "金币\n";
			gold += jk.NUM * 5;
			fl = 0;
		} else {
			cout << "本次需耗费100钻石\n";
			cout << "是否开始收割?\n是请按1 ,否请按0\n";
			int startfl;
			cin >> startfl;
			if (startfl == 1) {
				zuanshi -= 100;
				cout << "恭喜您!\n获得" << jk.NUM * 5 << "金币\n";
				gold += jk.NUM * 5;
			} else if (startfl == 0) {
				cout << "已停止收割\n";
			} else {
				cout << "请在1和0中选择!\n";
			}
		}
	} else if (startfl == 0) {
		cout << "已停止收割\n";
	} else {
		cout << "请在1和0中选择!\n";
	}

}


//主城函数
void zhucheng() {
	cout << "主城模块\n";
	string s;
	while (1) {
		jingji();
		golden();
		uptili();
		upwzxz();
		cout << "请输入您想打开的功能(主城)\n(金币快速收割、查看、雷达、金融中心、退出、建造、训练、升级方法)\n(输入世界切换到世界模块)\n";
		cin >> s;
		if (s == "金融中心") {
			system("cls");
			jingrzx();
		} else if (s == "金币快速收割") {
			quickgolden();
		} else if (s == "退出") {
			system("cls");
			outof();
		} else if (s == "建造") {
			system("cls");
			jianzao();
		} else if (s == "管理员调试") {
			system("cls");
			cout << "请输入密码:\n";
			string s1;
			cin >> s1;
			if (s1 == "123456") {
				ts2();
			} else {
				cout << "密码错误,已退出管理员调试\n";
			}
		} else if (s == "管理员调试通关") {
			system("cls");
			cout << "请输入密码:\n";
			string s1;
			cin >> s1;
			if (s1 == "123456") {
				tstg();
			} else {
				cout << "密码错误,已退出管理员调试\n";
			}
		} else if (s == "清屏") {
			system("cls");
		} else if (s == "训练") {
			system("cls");
			xvnlian();
		} else if (s == "雷达") {
			system("cls");
			ld();
		} else if (s == "升级方法") {
			system("cls");
			sjff();
		} else if (s == "查看") {
			system("cls");
			check();
		} else if (s == "jrzx") {
			cout << "请问您是想要打开金融中心吗?\n";
			Sleep(500);
			cout << "是请输入1,否则请输入0\n";
			int cmpopen;
			cin >> cmpopen;
			if (cmpopen == 1) {
				jingrzx();
			} else if (cmpopen == 0) {
				cout << "请按任意键继续\n";
				string cccccccccc;
				cin >> cccccccccc;
				system("cls");
			} else {
				cout << "请输入1或0!\n";
				Sleep(500);
				cout << "请按任意键继续\n";
				string cccccccccc;
				cin >> cccccccccc;
				system("cls");
			}
		} else if (s == "世界") {
			system("cls");
			world();
		} else {
			cout << "不支持该功能\n";
			cout << "\n请按任意键继续\n";
			string c;
			cin >> c;
			system("cls");
		}
	}
}

//进入游戏函数,包含登录、选服、回馈、初始化函数
void intothegame() {
	init();
	xvanfu();
	huikui();
	chushihua();
}

//主函数
int main() {
	intothegame();
	cout << "游戏内容以文字形式呈现\n\n";
	zhucheng();
	return 0;
}

//获取宝藏——判断执行一体
void togetdgbz() {
	srand(time(0));
	int y1 = rand() % 3 + 1;
	string dgjz;
	if (y1 == 1) {
		dgjz = "陆";
	} else if (y1 == 2) {
		dgjz = "海";
	} else {
		dgjz = "空";
	}
	cout << "是否获取宝藏?\n是请输入1,否则请输入0\n攻打需耗费1勋章\n您目前有勋章" << dgbz.wzxznum / 1000 << "\n";
	int hqdgbzflag;
	cin >> hqdgbzflag;
	if (hqdgbzflag == 1) {
		if (dgbz.wzxznum < 1000) {
			cout << "勋章数量不足!\n";
			addwzxz();
		} else {
			if (0 == lj.SHIBING_NUM + hj.shibingnum + kj.SHIBINGnum) {
				cout << "您没有士兵!!!\n";
			}	 else {
				pqsb();
				if (pqshibing.gou == 0) {
					cout << "士兵不足!\n";
				} else {
					if ( pqshibing.ljnum + pqshibing.hjnum + pqshibing.kjnum < 20) {
						cout << "敌强我弱,毫无胜算!\n快去训练士兵!\n";
					} else {
						dgbz.wzxznum -= 1000;
						cout << "攻打成功,勋章数量-1\n获得钻石3,金币200\n您还有勋章:" << dgbz.wzxznum / 1000 << "\n";
						zuanshi += 3;
						gold += 200;
						jy.jingyan += 30;
					}
				}
			}
		}
	} else if (hqdgbzflag != 0) {
		cout << "请在1和0中选择\n";
	}
	cout << "请按任意键继续\n";
	string qwertyuiop;
	cin >> qwertyuiop;
	system("cls");
}

//攻打敌对势力——执行判断一体
void heianjtuan() {
	cout << "是否攻打敌对势力?\n是请输入1,否则请输入0\n攻打1次需耗费5体力\n攻打5次需耗费25体力\n您目前有体力" << tili << "\n";
	int gdflag;
	cin >> gdflag;
	if (gdflag == 1) {
		srand(time(0));
		int x = rand() % 10 + 1;
		int y = rand() % 3 + 1;
		string djjz;
		if (y == 1) {
			djjz = "陆";
		} else if (y == 2) {
			djjz = "海";
		} else {
			djjz = "空";
		}
		cout << "(敌对势力等级:" << x << ")\n(守军数量:" << djjz << "军*" << x << ")\n";
		if (0 == lj.SHIBING_NUM + hj.shibingnum + kj.SHIBINGnum) {
			cout << "您没有士兵!!!\n";
		} else {
			pqsb();
			if (pqshibing.gou == 0) {
				cout << "士兵不足!\n";
			} else {
				if (pqshibing.ljnum + pqshibing.hjnum + pqshibing.kjnum < x) {
					cout << "敌强我弱,毫无胜算!\n快去训练士兵!\n";
				} else {
					cout << "您要攻击1次还是攻击5次\n攻击1次请输入1(5体力),攻击5次请输入5(25体力)\n您有体力" << tili << "\n";
					int cmpgjcs;
					cin >> cmpgjcs;
					if (cmpgjcs == 1) {
						if (tili < 5) {
							cout << "体力不足!\n";
							addtili();
						} else {
							tili -= 5;
							cout << "攻打成功,体力-5\n获得金币100\n您还有体力:" << tili << "\n";
							gold += 100;
							jy.jingyan += 10;
						}
					} else if (cmpgjcs == 5) {
						if (tili < 25) {
							cout << "体力不足!\n";
							addtili();
						} else {
							tili -= 25;
							cout << "攻打成功,体力-25\n获得金币500\n您还有体力:" << tili << "\n";
							gold += 500;
							jy.jingyan += 50;
						}
					} else {
						cout << "请输入1或5!!!\n";
					}
				}
			}
		}
	} else if (gdflag != 0) {
		cout << "请在1和0中选择\n";
	}
	cout << "请按任意键继续\n";
	string asdfghjkl;
	cin >> asdfghjkl;
	system("cls");
}

//演习
int spyccs = 5; //演习次数
void spyanxi(int ljnum, int hjnum, int kjnum) { //三个参数->陆军数量,海军数量,空军数量
	if (spyccs < 1) {
		cout << "次数不足!\n";
	} else {
		cout << "恭喜您,获得金币:" << (ljnum + hjnum + kjnum) * 3;
		spyccs--;
	}
	jy.jingyan += 10;
	cout << "请按任意键继续\n";
	string weh;
	cin >> weh;
	system("cls");
}

//世界函数
void world() {
	cout << "世界模块\n";
	string s;
	while (1) {
		jingji();
		golden();
		uptili();
		upwzxz();
		cout << "请输入您想打开的功能(世界)\n(演习、宝藏、查看、雷达、退出、升级方法、敌对势力)\n(输入主城切换到主城模块)\n";
		cin >> s;
		if (s == "退出") {
			system("cls");
			outof();
		} else if (s == "管理员调试") {
			system("cls");
			cout << "请输入密码:\n";
			string s1;
			cin >> s1;
			if (s1 == "123456") {
				ts2();
			} else {
				cout << "密码错误,已退出管理员调试\n";
			}
		} else if (s == "管理员调试通关") {
			system("cls");
			cout << "请输入密码:\n";
			string s1;
			cin >> s1;
			if (s1 == "123456") {
				tstg();
			} else {
				cout << "密码错误,已退出管理员调试\n";
			}
		} else if (s == "清屏") {
			system("cls");
		} else if (s == "雷达") {
			system("cls");
			ld();
		} else if (s == "升级方法") {
			system("cls");
			sjff();
		} else if (s == "查看") {
			system("cls");
			check();
		}  else if (s == "主城") {
			system("cls");
			zhucheng();
		} else if (s == "宝藏") {
			system("cls");
			togetdgbz();
		} else if (s == "敌对势力") {
			system("cls");
			heianjtuan();
		} else if (s == "演习") {
			system("cls");
			pqsb();
			if (pqshibing.gou == 0) {
				cout << "士兵不足!\n";
			} else {
				spyanxi(pqshibing.ljnum, pqshibing.hjnum, pqshibing.kjnum);
			}
		} else {
			cout << "不支持该功能\n";
			cout << "\n请按任意键继续\n";
			string c;
			cin >> c;
			system("cls");
		}
	}
}

注意事项:必须在Windows系统上运行!!!否则会出错。

                最好在Dev-C++上运行。否则可能会出错。(这句话是2025.1.9加上的)

第四次发博客,挑战一下自己。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值