C++小游戏(部分地方没做 请等待C++小游戏2)

#pragma warning (disable:4996)
#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},
};
void ch()//按任意键继续
{
    _getch();
}
void bg()//警告
{
    system("cls");
    cout << "请不要乱输\n";
    ch();
}
void cls()//清屏
{
    system("cls");
}
void sj()
{
    if (jyt[x] >= man[x][5][dj[x]])
    {
        cls();
        jyt[x] -= man[x][5][dj[x]];
        dj[x]++;
        for (int i = 1;i <= 100;i++) {
            if (jyt[x] >= man[x][5][dj[x]]) {
                jyt[x] -= man[x][5][dj[x]];
                dj[x]++;

            }
        }
        cout << "升到了" << dj[x] << "级\n";
        ch();
        cls();
    }
}
/*亿些初始化*/
void keel()
{
    cout << "欢迎来到 荣耀之战1:初战 VS/DEV 版\n";
    cout << "版本号 : 1.000.000.00\n";
    cout << "按任意键开始游戏...\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";
    }
    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";
    }
    else
    {
        cout << "金币不足\n";
    }
    ch();
    cls();
}
void men()//判断
{
    if (wendi[x]==0)
    {
        cout << "请输入你的名字:";
        cin >> name[x];
        wendi[x]++;
        cls();
    }
}
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]]<<"+"<< wq[x] << endl;
    cout << "速度为" << man[u][4][dj[x]] << endl;
    ch();
}
void shang()
{
    system("cls");
    cout << "要去哪家商店?\n";
    cout << "1.武器商店\n";
    cout << "2.防具商店\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 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:
        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;
    }
}
int main()
{

    SetWindowTextA(GetConsoleWindow(), "荣耀之战1:初战 VS/DEV 版 版本号 : 1.000.000.00");
    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;
    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:
            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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值