上代码
#pragma warning (disable:4996)//防_getch的
#include<windows.h>
#include<time.h>
#include<cmath>
#include<vector>
#include<string>
#include<fstream>
#include<conio.h>
#include<iostream>
#include<stdlib.h>
#include<string>
using namespace std;
int man[11][6][101], dj[11] = { 0,1,1,1,1,1,1,1,1,1,1 }, Q[11] = {}, jy[11] = {}, wendi[11] = {}, jyt[11] = {}, wq[11] = {}, fj[11] = {}, wqzb[11][5] = {}, fyzb[11][5] = {};
int whsp[11] = {};
int n, x;//x为存档地址
char b;
string name[11], cdname[11];
bool ss()//初始化
{
for (int i = 1;i <= 10;i++)
{
cdname[i] = "空存档";
}
for (int i = 1;i <= 10;i++)
{
for (int j = 1, sm = 20, gj = 10, fy = 6, sd = 14, jy = 30;j <= 100;j++)
{
man[i][1][j] = sm;
man[i][2][j] = gj;
man[i][3][j] = fy;
man[i][4][j] = sd;
man[i][5][j] = jy;
if (j % 5 == 0)
{
if (j % 10 == 0)
{
sm += 8;
gj += 4;
fy += 2;
sd += 6;
jy += 100;
}
else
{
sm += 4;
gj += 2;
fy += 1;
sd += 4;
jy += 50;
}
}
else
{
sm += 3;
gj += 1;
fy += 1;
sd += 2;
jy += 40;
}
}
}
return 0;
}
struct shangdian
{
string na;
int km;
int jg1;
}shangdian[5] = {
{"",0},
{"木剑",20,100},
{"石剑",40,200},
{"铁剑",60,800},
{"钻石剑",80,2000}
};
struct uu
{
string lo;
int li;
int jg2;
}uu[5] = {
{"",0,0},
{"皮甲",10,200},
{"铁甲",25,1000},
{"金甲",35,2000},
{"钻石甲",50,3500},
};
struct gw
{
string nm;
int nhp;
int ngj;
int nfy;
int nsd;
}gw[3] = {
{""},
{"丛林毒蝎",50,30,10,30},
{"泰坦巨人",500,300,300,100}
}
;
void ch()//按任意键继续
{
_getch();
}
void bg()//警告
{
system("cls");
cout << "请不要乱输\n";
ch();
}
void cls()//清屏
{
system("cls");
}
void sj()
{
if (dj[x] <= 100)
{
for (int i = 1;i <= 10;i++)
{
if (jyt[x] >= man[x][5][dj[x]])
{
jyt[x] -= man[x][5][dj[x]];
dj[x]++;
}
}
}
}
/*亿些初始化*/
void keel()
{
string nl,opl;
cout<<"欢迎来到 荣耀之战1:初战 VS/DEV 版\n版本号 : 1.000.000.16\n按任意键开始游戏...\n";
ch();
}
void wen()//存档
{
byo:
cls();
cout << "是否为存档改名?\n";
cout << "N/n==no Y/y==yes\n";
cout << "请输入:";
cin >> b;
cls();
if (b == 'y' || b == 'Y')
{
cls();
cout << "请输入新存档的名字:";
cin >> cdname[x];
cls();
}
else if (b == 'n' || b == 'N')
{
}
else
{
bg();
goto byo;
}
}
void pd1()
{
cls();
if (shangdian[n].jg1 <= Q[x])
{
Q[x] -= shangdian[n].jg1;
wqzb[x][n]++;
cout << "购买成功" << shangdian[n].na << "+1";
wq[x] = shangdian[n].km;
}
else
{
cout << "金币不足\n";
}
ch();
cls();
}
void pd2()
{
cls();
if (uu[n].jg2 <= Q[x])
{
Q[x] -= uu[n].jg2;
fyzb[x][n]++;
cout << "购买成功" << uu[n].lo << "+1";
fj[x] = uu[n].li;
}
else
{
cout << "金币不足\n";
}
ch();
cls();
}
void men()//判断
{
if (wendi[x] == 0)
{
cout << "请输入你的名字:";
cin >> name[x];
wendi[x]++;
cls();
}
}
void zd()
{
ks:
system("cls");
cout << "你要去哪里?\n";
cout << "1.库忙谷丛林\n";
cout << "2.神秘矿洞\n0.返回\n";
cout << "请输入:";
cin >> n;
if (n == 1 || n == 2)
{
int gw1 = gw[n].nhp, gw2 = gw[n].ngj, gw3 = gw[n].nfy, gw4 = gw[n].nsd;
int pl1 = man[x][1][dj[x]], pl2 = man[x][2][dj[x]]+wq[x], pl3 = man[x][3][dj[x]]+fj[x], pl4 = man[x][4][dj[x]];
cls();
int y;
cout << "你遇到了" << gw[n].nm << endl;
ch();
while (1)
{
cls();
cout << "1.攻击 2.逃跑\n";
cout << "请输入:";
cin >> y;
if (y == 1)
{
if (pl4 >= gw4)
{
if (gw3 <= pl2) {
gw1 = gw1 - pl2 + gw3;
cout << name[x] << "发起了攻击\n";
cout << gw[n].nm << "受到了" << pl2 -gw3 << "点伤害\n";
cout << "剩余生命值" << gw1 << endl;
}
else
{
gw1 = gw1 - 1;
cout << name[x] << "发起了攻击\n";
cout << gw[n].nm << "受到了1点伤害\n";
cout << "剩余生命值" << gw1 << endl;
}
ch();
cls();
if (gw1 <= 0)
{
cls();
cout << name[x] << "战胜了" << gw[n].nm << endl;
cout << "获得了" << gw[n].nhp /2<< "个金币\n";
cout << "获得了" << gw[n].nsd /2 << "点经验\n";
Q[x] += gw[n].nhp * 5;
jyt[x] += gw[n].nsd * 5;
ch();
sj();
goto ks;
break;
}
if (pl3 <= gw2)
{
pl1 = pl1 - gw2 + pl3;
cout << gw[n].nm << "发起了攻击\n";
cout << name[x] << "受到了" << gw2 - pl3 << "点伤害\n";
cout << "剩余生命值" << pl1 << endl;
}
else
{
pl1 = pl1 - 1;
cout << gw[n].nm << "发起了攻击\n";
cout << name[x] << "受到了1点伤害\n";
cout << "剩余生命值" << pl1 << endl;
}
ch();
if (pl1 <= 0)
{
cls();
cout << name[x] << "战死\n";
ch();
goto ks;
break;
}
}
else
{
if (pl3 <= gw2)
{
pl1 = pl1 - gw2 + pl3;
cout << gw[n].nm << "发起了攻击\n";
cout << name[x] << "受到了" << gw2 - pl3 << "点伤害\n";
cout << "剩余生命值" << pl1 << endl;
}
else
{
pl1 = pl1 - 1;
cout << gw[n].nm << "发起了攻击\n";
cout << name[x] << "受到了1点伤害\n";
cout << "剩余生命值" << pl1 << endl;
}
ch();
cls();
if (pl1 <= 0)
{
cls();
cout << name[x] << "战死\n";
ch();
goto ks;
break;
}
if (gw3 <= pl2) {
gw1 = gw1 - pl2 + gw3;
cout << name[x] << "发起了攻击\n";
cout << gw[n].nm << "受到了" << gw3 - pl2 << "点伤害\n";
cout << "剩余生命值" << gw1 << endl;
}
else
{
gw1 = gw1 - 1;
cout << name[x] << "发起了攻击\n";
cout << gw[n].nm << "受到了1点伤害\n";
cout << "剩余生命值" << gw1 << endl;
}
ch();
if (gw1 <= 0)
{
cls();
cout << name[x] << "战胜了" << gw[n].nm << endl;
cout << "获得了" << gw[n].nhp /2 << "个金币\n";
cout << "获得了" << gw[n].nsd /2 << "点经验\n";
Q[x] += gw[n].nhp * 5;
jyt[x] += gw[n].nsd * 5;
ch();
sj();
goto ks;
break;
}
}
ch();
}
else if (y == 2)
{
goto ks;
break;
}
else
{
bg();
}
}
}
else if (n == 0)
{
}
else
{
bg();
goto ks;
}
}
void st(int u)
{
system("cls");
cout << "您好," << name[u] << endl;
cout << "您剩余金币为" << Q[u] << "个" << endl;
cout << "您的等级为" << dj[x] << "级" << endl;
cout << "还需要" << man[u][5][dj[x]] - jyt[u] << "点经验可以升级" << endl;
cout << "您的生命为" << man[u][1][dj[x]] << endl;
cout << "攻击力为" << man[u][2][dj[x]] << "+" << wq[x] << endl;
cout << "防御力为" << man[u][3][dj[x]] << "+" << fj[x] << endl;
cout << "速度为" << man[u][4][dj[x]] << endl;
ch();
}
void shang()
{
system("cls");
cout << "要去哪家商店?\n";
cout << "1.武器商店\n";
cout << "2.防具商店\n";
cout << "3.道具商店\n";
cout << "0.返回\n";
cout << "请输入:";
cin >> n;
switch (n)
{
case 1:
kl:
system("cls");
cout << "欢迎来到武器商店\n";
for (int i = 1;i <= 4;i++)
{
cout << i << "." << shangdian[i].na << " " << shangdian[i].jg1 << "金币 +" << shangdian[i].km << "点攻击" << endl;
}
cout << "0.返回\n";
cout << "请选择:";
cin >> n;
switch (n)
{
case 1:
pd1();
break;
case 2:
pd1();
break;
case 3:
pd1();
break;
case 4:
pd1();
break;
case 0:
break;
default:
bg();
goto kl;
break;
}
break;
case 2:
oo:
system("cls");
cout << "欢迎来到防具商店\n";
for (int i = 1;i <= 4;i++)
{
cout << i << "." << uu[i].lo << " " << uu[i].jg2 << "金币 +" << uu[i].li << "点防御\n";
}
cout << "0.返回\n";
cout << "请选择:";
cin >> n;
switch (n)
{
case 1:
pd2();
break;
case 2:
pd2();
break;
case 3:
pd2();
break;
case 4:
pd2();
break;
case 0:
break;
default:
bg();
goto oo;
break;
}
break;
case 3:
lo:
cls();
cout << "欢迎来到道具商店\n";
cout << "1.巨人晶石 5000 金币 (加5等级)\n";
cout << "2.经验包 4000金币 (加400点经验)\n";
cout << 0 << ".返回\n";
cout << "请输入:";
cin >> n;
switch (n)
{
case 1:
cls();
if (Q[x] >= 5000)
{
Q[x] -= 5000;
dj[x] += 5;
cout << "购买成功\n";
}
else
{
cout << "金币不足\n";
}
break;
case 2:
cls();
if (Q[x] >= 4000)
{
Q[x] -= 4000;
jy[x] += 400;
sj();
cout << "购买成功\n";
}
else
{
cout << "金币不足\n";
}
break;
case 0:
break;
default:
bg();
goto lo;
break;
}
break;
case 0:
break;
default:
break;
}
}
void gh()
{
il:
system("cls");
cout << "要干什么活呢?(当前文化水平" << whsp[x] << ")\n";
cout << "1.学习\n";
cout << "2.乞讨 需要文化水平0\n";
cout << "3.扫地 需要文化水平5\n";
cout << "4.当工人 需要文化水平20\n";
cout << "5.当白领 需要文化水平50\n";
cout << "0.返回\n";
cout << "请输入:";
cin >> n;
switch (n)
{
case 1:
cls();
cout << "学习中...\n";
Sleep(2000);
cls();
whsp[x]++;
cout << "学习完毕 文化水平+1\n";
ch();
goto il;
break;
case 2:
cls();
cout << "乞讨中...";
Sleep(5000);
Q[x] += 5;
cls();
cout << "乞讨完成 金币+5\n";
ch();
break;
case 3:
cls();
if (whsp[x] >= 5) {
cout << "工作中...";
Sleep(5000);
cls();
Q[x] += 20;
cout << "工作完成 金币+20\n";
ch();
}
else
{
cout << "文化水平不足\n";
}
goto il;
break;
case 4:
cls();
if (whsp[x] >= 20) {
cout << "工作中...";
Sleep(5000);
cls();
Q[x] += 40;
cout << "工作完成 金币+40\n";
ch();
}
else
{
cout << "文化水平不足\n";
}
goto il;
break;
case 5:
cls();
if (whsp[x] >= 50) {
cout << "工作中...";
Sleep(5000);
cls();
Q[x] += 100;
cout << "工作完成 金币+100\n";
ch();
}
else
{
cout << "文化水平不足\n";
}
goto il;
break;
case 0:
break;
default:
bg();
goto il;
break;
}
}
void c()
{
for (int i = 1;i <= 10;i++)
{
Q[i] = 200000000;
dj[i] = 100;
}
x = 1;
}
int main()
{
SetWindowTextA(GetConsoleWindow(), "荣耀之战1:初战 VS/DEV 版 版本号 : 1.000.000.16");
ss();
keel();
lop:
cls();
cout << "要读取那个存档呢?\n";
for (int i = 1;i <= 10;i++)
{
cout << i << "." << cdname[i] << endl;
}
cout << "请输入:";
cin >> x;
switch (x)
{
case 1:
wen();
break;
case 2:
wen();
break;
case 3:
wen();
break;
case 4:
wen();
break;
case 5:
wen();
break;
case 6:
wen();
break;
case 7:
wen();
break;
case 8:
wen();
break;
case 9:
wen();
break;
case 10:
wen();
break;
case 8712:
cls();
cout << "开启管理员模式\n";
ch();
c();
break;
default:
bg();
goto lop;
break;
}
men();
while (1)
{
cls();
cout << "========================================\n\n";
cout << " 1.战斗 2.查看状态 3.商店 4.干活 5.设置\n\n";
cout << "========================================\n";
cout << "请输入:";
cin >> n;
switch (n)
{
case 1:
zd();
break;
case 2:
st(x);
break;
case 3:
shang();
break;
case 4:
gh();
break;
case 5:
m:
cls();
cout << "=============\n";
cout << "| 1.改名 |\n";
cout << "| 2.切换账号|\n";
cout << "| 0.返回 |\n";
cout << "=============\n";
cout << "请输入:";
cin >> n;
switch (n)
{
case 1:
cls();
cout << "请输入新名字:";
cin >> name[x];
break;
case 2:
goto lop;
break;
case 0:
break;
default:
bg();
goto m;
break;
}
break;
default:
bg();
break;
}
}
return 0;
}