功能还很少,还可以继续完善
话不多说,上源代码
//头文件
#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加上的)
第四次发博客,挑战一下自己。