C++写的简易的控制台游戏

无意中找到大一用C++写的文字游戏,哈哈

命名不规范,很多地方都不完善,但是这是我入程序员这一行的第一个作品!

#include "stdafx.h"
#include<iostream>
#include <string>
#include<vector>
#include<Windows.h>
#include<time.h>
#include<conio.h>
#include<fstream>
using namespace std;
bool SetConsoleColor(WORD forceGroundColor)

{
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    if (handle == 0)
        return false;
    BOOL ret = SetConsoleTextAttribute(handle, forceGroundColor);
    return(ret == TRUE);
}
struct JUESE
{
};
struct WUQI
{
    int STR;
    int wuqiqian;
    int BAOJI;
};
struct FANGJU
{
    int DEF;
    int fangjuqian;
};
struct DANYAO
{
    int danyaoxiaoguo;
    int danyaoqian;
    int danyaoliang;
};
struct GUAI1
{
    int GUAI1STR;
    int GUAI1DEF;
    int GUAI1HP;
    int GUAI1HPM;
    int GUAI1MONEY;
};
struct ZHIZUN
{
    string ZHIZUNNAME;
    int ZHIZUNSTR;
    int ZHIZUNDEF;
    int ZHIZUNHP;
    int ZHIZUNHPM;
};
struct NPC
{
    int NPCSTR;
    int NPCDEF;
    int NPCHP;
    int NPCHPM;
    int NPCMONEY;
};
struct YOU
{
    int YOUSTR;
    int YOUDEF;
    int YOUHP;
    int YOUHPM;
    int YOUMP;
    int EXP;
    int EXPM;
    int money;
    int jibie;
    int wuqi;
    int fangju;
    int zhiye;
};

NPC NPC1 = {1000,200,5000,5000,10000};
NPC NPC2 = { 500,100,3000,3000,5000 };
NPC NPC3 = { 200,50,1000,1000,2000 };
YOU you = { 10,10,10,10,100,0,15,0,0,0};
GUAI1 guai1 = { 8,8,8,8,10 };
ZHIZUN zhizun1 = { "无上主宰",10000,10000,1000000,1000000 };
GUAI1 jushou = { 20,30,100,100,200 };
struct XUETIAO
{
    string xuetiao1 = "---------------------------";
    string xuetiao2 = "|";
    char nidexueliang[26] = "|||||||||||||||||||||||||";
    void xueliang(int a,int b)
    {
        cout << xuetiao1 << endl;
        cout << xuetiao2;
        for (unsigned ix = 0; ix < double(a)/double(b)* 25; ++ix)
        {
            cout << nidexueliang[ix];
        }
        cout << xuetiao2[0] << endl;
        cout << xuetiao1 << endl;
    };

};
DANYAO D1= { 30,100,0 };
DANYAO D2 = { 100,250,0 };
DANYAO D3 = { 0,1000,0 };
DANYAO D4 = { 20,200,0 };
DANYAO D5 = { 50,300,0 };
DANYAO D6 = { 20,300,0 };
DANYAO D7 = { 1000,1000,0 };
WUQI W1 = { 10,100,10 };
WUQI W2 = { 20,300,30 };
WUQI W3 = { 20,500,60 };
WUQI W4 = { 60,1000,10 };
WUQI W5 = { 100,1500,50 };
WUQI W6 = { 120,2000,10 };
WUQI W7 = { 500,5000,10 };
FANGJU F1 = { 10,100 };
FANGJU F2 = { 15,300 };
FANGJU F3 = { 20,500 };
FANGJU F4 = { 70,1000 };
FANGJU F5 = { 100,1500 };
FANGJU F6 = { 300,3000 };
FANGJU F7 = { 666,5000 };


unsigned i(0);
int temp[3];
vector<WUQI> W;
vector<FANGJU> F;
vector<DANYAO> D;

XUETIAO NIDEXUE;
XUETIAO GUAIDEXUE;

//此处暂时收起来

void kaiju()
{
    fstream kaiju;
    kaiju.open("kaiju.txt", ios::out);
    kaiju << "**********************************************************************************************************" << endl;
    kaiju << "*|------------------------------------------------------------------------------------------------------|*" << endl;
    kaiju << "*|                                                                                                      |*" << endl;
    kaiju << "*|                                       异界修仙记(第二部)                                           |*" << endl;
    kaiju << "*|                                                                                                      |*" << endl;
    kaiju << "*|                 按1:开始新游戏                                     按2:打开存档                     |*" << endl;
    kaiju << "*|                                                                                                      |*" << endl;
    kaiju << "*|                                                                                                      |*" << endl;
    kaiju << "*|                                                                                                      |*" << endl;
    kaiju << "*|------------------------------------------------------------------------------------------------------|*" << endl;
    kaiju << "**********************************************************************************************************" << endl;
    kaiju << "新版本:" << endl;
    kaiju << "最大更新!:不再是文字打怪,更有游戏感。" << endl;
    kaiju << "1.加入存档系统,游戏中随时可以存档,再次打开可以继续上次的(第一次玩请不要按2)" << endl;
    kaiju << "2.可以选择职业,剑士,战士,刺客" << endl;
    kaiju << "3.加入了血影阁系统,可以接任务" << endl;
    kaiju << "4.防具和武器拥有新的属性" << endl;
    kaiju << "9.血量显示方式改进" << endl;
    kaiju << "10.修正了游戏公平性" << endl;
    kaiju.close();
    string kaijustr;
    kaiju.open("kaiju.txt", ios::in);
    while (getline(kaiju, kaijustr))
    {
        cout << kaijustr << endl;
    }
    kaiju.close();
}

void ducundang()
{
    vector<int>v;
    unsigned i1(0);
    string cundangstr;
    cout << "              这里是您的存档" << endl;
    fstream cundang1;
    string buffer;
    cundang1.open("cundang1.txt", ios::in);
    while (getline(cundang1, buffer))
    {
        int num = atoi(buffer.c_str());//强转int型
        v.push_back(num);
    }
    cout << "您的职业:";
    if (v[8] == 1)cout << "剑士" << endl;
    else if (v[8] == 2)cout << "刺客" << endl;
    else cout << "战士" << endl;
    cout << "您的等级为" << v[0] << endl;//等级
    cundang1.close();
    you.jibie = v[0];
    you.EXP = v[3];
    you.EXPM = v[7];
    you.money = v[4];
    you.YOUDEF = v[2];
    you.YOUHP = v[5];
    you.YOUHPM = v[6];
    you.YOUSTR = v[1];
    you.zhiye = v[8];
    you.YOUMP = v[9];
    guai1.GUAI1HP = v[10];
    guai1.GUAI1HPM = v[11];
    guai1.GUAI1DEF = v[12];
    guai1.GUAI1MONEY = v[13];
    guai1.GUAI1STR = v[14];
    you.wuqi = v[15];
    you.fangju = v[16];
    D1.danyaoliang = v[17];
    D2.danyaoliang = v[18];
    D3.danyaoliang = v[19];
    D4.danyaoliang = v[20];
    D5.danyaoliang = v[21];
    D6.danyaoliang = v[22];
    D7.danyaoliang = v[23];

    string ducundangstr;
s2:    cout << "继续游戏?y/n" << endl;
    cin >> ducundangstr;
    if (ducundangstr == "n")
    {
        kaiju();
    }
    else if (ducundangstr != "y")
    {
        system("cls");
        goto s2;
    }
    else
    {
        system("cls");
    }

}
void xiecundang()
{
    fstream cundang1;
    cundang1.open("cundang1.txt", ios::out);
    cundang1 << you.jibie << endl;//等级
    cundang1 << you.YOUSTR << endl;
    cundang1 << you.YOUDEF << endl;
    cundang1 << you.EXP << endl;
    cundang1 << you.money << endl;
    cundang1 << you.YOUHP << endl;
    cundang1 << you.YOUHPM << endl;
    cundang1 << you.EXPM << endl;
    cundang1 << you.zhiye << endl;
    cundang1 << you.YOUMP << endl;
    cundang1 << guai1.GUAI1HP << endl;
    cundang1 << guai1.GUAI1HPM << endl;
    cundang1 << guai1.GUAI1DEF << endl;
    cundang1 << guai1.GUAI1MONEY << endl;
    cundang1 << guai1.GUAI1STR << endl;
    cundang1 << you.wuqi << endl;
    cundang1 << you.fangju << endl;
    cundang1 << D1.danyaoliang << endl;
    cundang1 << D2.danyaoliang << endl;
    cundang1 << D3.danyaoliang << endl;
    cundang1 << D4.danyaoliang << endl;
    cundang1 << D5.danyaoliang << endl;
    cundang1 << D6.danyaoliang << endl;
    cundang1 << D7.danyaoliang << endl;
    cundang1.close();
    cout << "存档成功!" << endl;
}

void start()
{
    system("cls");
    SetConsoleColor(FOREGROUND_GREEN);
    string str1 = "欢迎来到本游戏第二部,游戏体验方面将有极大的改善。";
    string str2 = "一天,一清和他的女朋友在回华电的路上";
    string str3 = "突然两人穿越到未知之地";
    for (i = 0; i<str1.length(); i++)
    {
        cout << str1[i];
        Sleep(80);
    }
    SetConsoleColor(FOREGROUND_RED);
    cout << endl;
    for (i = 0; i < str2.length(); i++)
    {
        cout << str2[i];
        Sleep(80);
    }
    cout << endl;
    for (i = 0; i < str3.length(); i++)
    {
        cout << str3[i];
        Sleep(100);
    }
    system("cls");
    SetConsoleColor(FOREGROUND_GREEN);
    cout << "                           " << "华电大陆" << endl << endl;
    string str4 = "两人发现来到了陌生的一个世界,既然来了,二人下定决心要成为至尊。";
    string str6 = ".............";
    for (i = 0; i < str4.length(); i++)
    {
        cout << str4[i];
        Sleep(70);
    }
    cout << endl;
    for (i = 0; i < str6.length(); i++)
    {
        cout << str6[i];
        Sleep(80);
    }
    system("cls");
}

void zhiye()
{
    cout << "请选择您的职业" << endl;
    cout << "1.剑士         2.刺客          3.战士" << endl << endl << endl;
    cout << "1.剑士:攻守平衡的职业" << endl;
    cout << "2.刺客:注重输出的职业" << endl;
    cout << "3.战士:注重防御的职业" << endl;
    string zhiyestr;
    cin >> zhiyestr;
    if (zhiyestr == "1")you.zhiye = 1;
    else if (zhiyestr == "2")you.zhiye = 2;
    else if (zhiyestr == "3")you.zhiye = 3;
    else
    {
        cout << "您的输入有误,请重新输入" << endl;
        zhiye();
    }
    system("cls");
}

int main()
{
s1:    kaiju();
    string n1;
    cin >> n1;
    if (n1 == "1")
    {
        start();
        zhiye();
    }
    else if (n1 == "2")
    {
        system("cls");
        ducundang();
    }
    else {
        system("cls");
        goto s1;
    }
    SetConsoleColor(FOREGROUND_GREEN);
    temp[2] = temp[3] = 0;
    W.push_back(W1);
    W.push_back(W2);
    W.push_back(W3);
    W.push_back(W4);
    W.push_back(W5);
    W.push_back(W6);
    W.push_back(W7);
    F.push_back(F1);
    F.push_back(F2);
    F.push_back(F3);
    F.push_back(F4);
    F.push_back(F5);
    F.push_back(F6);
    F.push_back(F7);
    D.push_back(D1);
    D.push_back(D2);
    D.push_back(D3);
    D.push_back(D4);
    D.push_back(D5);
    D.push_back(D6);
    D.push_back(D7);
step:    string n;
    void daguai(int, int, int, int,int), zhuangtai(), shangdian(), author(), xueyinlou(), chengjiu();
    while (zhizun1.ZHIZUNHP >= 0)
    {

        cout << "----------------------------------------------" << endl;
        cout << "|--1.打小怪修炼------------2.前往险地打巨兽--|" << endl;
        cout << "|--3.查看状态--------------4.血影楼----------|" << endl;
        cout << "|--5.访问商店--------------6.挑战至尊--------|" << endl;
        cout << "|--z.制作者信息------------------------------|" << endl;
        cout << "|--c.存档------------------q.退出游戏--------|" << endl;
        cout << "|--------------------------------------------|" << endl;
        cin >> n;
        if (n == "1")
        {
            daguai(guai1.GUAI1HP,guai1.GUAI1HPM,guai1.GUAI1STR,guai1.GUAI1DEF,guai1.GUAI1MONEY);
        }
        else if (n == "2")daguai(jushou.GUAI1HP,jushou.GUAI1HPM,jushou.GUAI1STR,jushou.GUAI1DEF,jushou.GUAI1MONEY);
        else if (n == "3")zhuangtai();
        else if (n == "4")xueyinlou();
        else if (n == "5")shangdian();
        else if (n == "6")daguai(zhizun1.ZHIZUNHP, zhizun1.ZHIZUNHPM, zhizun1.ZHIZUNSTR, zhizun1.ZHIZUNDEF,0);
        else if (n == "z")author();
        else if (n == "c")xiecundang();
        else if (n == "q")break;
        else 
        {
            system("cls");
            continue;
        }
        if (you.YOUHP <= 0)
        {
            cout << "你在异界死亡,回华电上课吧,哇哈哈!" << endl;
            cout << "继续玩吗?y/n   注意:有存档才可继续玩" << endl;
            string Y;
            cin >> Y;
            if (Y == "y")
                ducundang();
            else
            break;
        }
        cout << "按任意键继续" << endl;
        string p;
        cin >> p;
        if (p == "a")
        {
            system("cls");
            goto step;
        }
        else
        {
            system("cls");
            goto step;
        }
    }
        system("pause");
    return EXIT_SUCCESS;
}


void shengjila()
{
    if (you.zhiye == 1)//剑士
    {
        you.YOUSTR +=3;
        you.YOUDEF +=2;
        you.YOUHP = you.YOUHPM = you.YOUHPM + 10;
        cout << "恭喜你升级了,物理攻击变为:" << you.YOUSTR << "防御变为" << you.YOUDEF << endl;
    }
    else if (you.zhiye == 3)//战士
    {
        you.YOUSTR += 1;
        you.YOUDEF += 5;
        you.YOUHP = you.YOUHPM = you.YOUHPM + 12;
        cout << "恭喜你升级了,物理攻击变为:" << you.YOUSTR << "防御变为" << you.YOUDEF << endl;
    }
    else if (you.zhiye == 2)//刺客
    {
        you.YOUSTR += 5;
        you.YOUDEF += 1;
        you.YOUHP = you.YOUHPM = you.YOUHPM + 8;
        cout << "恭喜你升级了,物理攻击变为:" << you.YOUSTR << "防御变为" << you.YOUDEF << endl;
    }
    if (you.jibie == 5)
    {
        cout << "你已经成为一方强者,寻常人物无法与你抗衡,不过,到至尊的路还很漫长" << endl;
    }
    if (you.jibie == 10)
    {
        cout << "你已经十分强大了,在江湖上有了一定的威望,继续努力吧" << endl;
    }
    if (you.jibie == 20)
    {
        cout << "您已经是一代宗师,大佬受我一拜!!" << endl;
    }
    you.EXP = 0;
    you.EXPM += 10;
    you.jibie++;
    guai1.GUAI1MONEY += 3;
    jushou.GUAI1MONEY += 10;
    guai1.GUAI1HPM += 10;
    guai1.GUAI1HP = guai1.GUAI1HPM;
    guai1.GUAI1STR += 1;

}
void victory(int guaim)
{
    if (guaim == guai1.GUAI1MONEY) {
        cout << "恭喜你杀死了小怪,获得金币" << guai1.GUAI1MONEY << endl;
        cout << "获得经验:" << 10 << endl;
        cout << "当前等级:" << you.jibie << endl;
        you.EXP += 10;
        you.money += guai1.GUAI1MONEY;
        guai1.GUAI1HP = guai1.GUAI1HPM;
        guai1.GUAI1DEF += 2;
        if (you.EXP >= you.EXPM)
            shengjila();
    }
    else if (guaim == jushou.GUAI1MONEY) {
        cout << "恭喜你杀死了巨兽,获得金币" << jushou.GUAI1MONEY << endl;
        cout << "获得经验:" << 200 << endl;
        you.EXP += 200;
        jushou.GUAI1HP=jushou.GUAI1HPM += 100;
        jushou.GUAI1DEF += 10;
        jushou.GUAI1STR += 15;
        jushou.GUAI1MONEY += 50;
        you.money += jushou.GUAI1MONEY;
        if (you.EXP >= you.EXPM)
            shengjila();
    }
    else if (guaim == 0)
    {
        void author();
        cout << "恭喜您,打通关本游戏!" << endl;
        author();
    }
    else if(guaim==NPC1.NPCMONEY||guaim==NPC2.NPCMONEY||guaim==NPC3.NPCMONEY)
    {
        cout << "完成血影楼任务!" << endl;
        you.money += guaim;
    }
}


void zhuangtai()
{
    string chenghao="初入江湖";
    cout << "***************************************************************" << endl;
    cout << "               您的职业:" << endl;
    if (you.zhiye == 1)cout << "剑士" << endl;
    else if (you.zhiye == 2)cout << "刺客" << endl;
    else cout << "战士" << endl;
    if (you.jibie >= 5 && you.jibie < 10)
        chenghao = "一方高手";
    else if (you.jibie >= 10 && you.jibie < 20)
        chenghao = "江湖高手";
    else if (you.jibie >= 20 && you.jibie < 30)
        chenghao = "一代宗师";
    else if (you.jibie >= 30)
        chenghao = "一代传奇";
    cout << "您在江湖上的名声:" << chenghao << endl;
    cout << "您的等级:" << you.jibie << endl;
    cout << "HP:" << you.YOUHP << "/" << you.YOUHPM << endl;
    NIDEXUE.xueliang(you.YOUHP,you.YOUHPM);
    cout << "您的物理攻击:" << you.YOUSTR << endl;
    cout << "您的防御:" << you.YOUDEF << endl;
    cout << "金币:" << you.money << endl;
    cout << "您的武器:";
    if (you.wuqi == 1) cout << "多兰之刃";
    else if (you.wuqi == 2) cout << "风暴巨剑";
    else if (you.wuqi == 3) cout << "无尽之刃";
    else if (you.wuqi == 4) cout << "破军长剑";
    else if (you.wuqi == 5) cout << "雷神之锤";
    else if (you.wuqi == 6) cout << "血影神刃";
    else if (you.wuqi == 1) cout << "无名长剑";
    else cout << "";
    cout << endl;
    cout << "您的防具:";
    if (you.fangju == 1) cout << "多兰之盾";
    else if (you.fangju == 2) cout << "日炎斗篷";
    else if (you.fangju == 3) cout << "荆棘之甲";
    else if (you.fangju == 4) cout << "振奋铠甲";
    else if (you.fangju == 5) cout << "狂徒铠甲";
    else if (you.fangju == 6) cout << "重装铠甲";
    else if (you.fangju == 7) cout << "无名铠甲";
    else cout << "" << endl;
    cout << "您会心一击伤害:" <<you.YOUSTR*3<<endl;
    cout << "***************************************************************" << endl;
    cout << endl;
}
//完成

//完成
void daguai(int guaihp,int guaihpm,int guaistr,int guaidef,int guaim)
{
    srand(time(NULL));
    void vic1();
    void shiyong();
    string c;
    int b, cishu(2);
    do
    {
        system("cls");
    step1:    if (you.YOUHP <= 0) { break; }
        cout << "你的HP" << endl;
        NIDEXUE.xueliang(you.YOUHP,you.YOUHPM);
        cout << you.YOUHP << "/" << you.YOUHPM << endl;
        cout << endl;
        cout << "怪的HP:" << endl;
        GUAIDEXUE.xueliang(guaihp,guaihpm);
        cout << guaihp << "/" << guaihpm<< endl;
        cout << "攻击=a 全力一击=w 技能=e 逃跑=b 使用物品=c" << '\n';
        cin >> c;
        if (c == "w")
        {
            cout << "您使用:" << endl;

            cout << "怪大叫一声" << endl;

        }
        if (c == "a")
        {
            int baoji(0);
            b = you.YOUSTR * 2 -guaidef * 3 / 2 + you.YOUSTR * 4 / guaidef;
            for (i = 0; i < 7; i++)
            {
                if (you.wuqi == 1)
                    baoji = W[i].BAOJI;
            }
            if (rand() % 100 <= baoji)            //%10概率发生重击
            {
                b *= 2;
                cout << "发出暴击:";
                cout << endl;
            }
            if (b <= 0) b = 1;
            guaihp-= b;
            if (guaihp <= 0) {
                guaihp = 0;
                cout << "怪物大叫一声,倒在地上" << '\n';
            }
            if (you.wuqi == 5)
            {
                you.YOUHP += b / 2;
                cout << "吸血效果,你回复" << b / 2 << "滴血";
            }
            if (guaihp>0)
            {
                b = guaistr* 2 - you.YOUDEF * 3 / 2 + guaistr * 4 / you.YOUDEF;
                if (b <= 0) b = 1;
                you.YOUHP -= b;
                system("cls");
                goto step1;
            }
        }
        if (c == "c")
        {
            shiyong();
            b =guaistr * 2 - you.YOUDEF * 3 / 2 + guaistr * 4 / you.YOUDEF;
            if (b <= 0) b = 1;
            you.YOUHP -= b;
            system("cls");
            goto step1;
        }
        if (c == "w")
        {
            cishu -= 1;
            if (cishu > 0)
            {
                guaihp -= you.YOUSTR;
                system("cls");
                goto step1;
            }
        }
        if (c == "b")
        {
            cout << "逃跑成功 hp-5" << '\n';
            if (you.YOUHP>5)you.YOUHP -= 5;
            break;
        }
    } while (guaihp>0);
    if (guaihp<= 0) victory(guaim);
}
//完成

void author()
{
    string str0 = "计算机系1704班许一清", str00 = "下一部作品将是图形化游戏";
    cout << "                   ";
    for (i = 0; i < str0.length(); i++)
    {
        cout << str0[i];
        Sleep(80);
    }
    cout << endl;
    cout << "                   ";
    for (i = 0; i < str00.length(); i++)
    {
        cout << str00[i];
        Sleep(80);
    }
    cout << endl;
}
//完成
void shangdian()
{
    void wuqidian();
    void danyaodian();
    void fangjudian();
    void shenmidian();
    cout << "                    " << "这里是华电大陆最全面的商行" << endl;
    cout << "1.深渊武器店" << endl;
    cout << "2.神草丹药店" << endl;
    cout << "3.玄武防具店" << endl;
    string d;
    cin >> d;
    if (d == "1")wuqidian();
    else if (d == "2")danyaodian();
    else if (d == "3")fangjudian();
    else
        cout << "不存在的" << endl;
}
void wuqidian()
{
    string b;
    int f;
    cout << "             " << "欢迎来到深渊武器店,这里应有尽有" << endl;
    cout << "1.多兰之刃 ¥100 物理攻击+10   无属性" << endl;
    cout << "2.风暴巨剑 ¥300 物理攻击+15   加20暴击" << endl;
    cout << "3.无尽之刃 ¥500 物理攻击+20   加50暴击" << endl;
    cout << "4.破军长剑 ¥1000 物理攻击+60   无属性" << endl;
    cout << "5.雷神之锤 ¥1500 物理攻击+100    加40暴击" << endl;
    cout << "6.血影神刀 ¥2000 物理攻击+120    吸血50%" << endl;
    cout << "7.无名之剑 ¥5000 物理攻击+500     无属性" << endl;
    cout << "q.退出" << endl;
    cin >> b;
    if (b == "q") cout << "退出!" << '\n' << '\n';
    else if (b != "1"&&b != "2"&&b != "3"&&b != "4"&&b != "5"&&b != "6"&&b != "7")cout << "输入错误!" << '\n' << '\n';
    else {
        if (b == "1") f = 1;
        if (b == "2") f = 2;
        if (b == "3") f = 3;
        if (b == "4") f = 4;
        if (b == "5") f = 5;
        if (b == "6") f = 6;
        if (b == "7") f = 7;
        if (you.money<W[f - 1].wuqiqian) cout << "失败" << '\n' << '\n';
        else
        {
            you.money -= W[f - 1].wuqiqian;
            you.wuqi = f;
            you.YOUSTR = you.YOUSTR + W[f - 1].STR - temp[2];
            temp[2] = W[f - 1].STR;
            cout << "购买成功" << '\n' << '\n';
        }
    }
}
void danyaodian()
{

    string b;
    int c, f;
    cout << "1.回血丹 ¥100 hp+30" << '\n';
    cout << "2.大补丹 ¥250 hp+100" << '\n';
    cout << "3.和尚乐 ¥1000 hp+100%" << '\n';
    cout << "4.大力丸 ¥200 物理攻击永久升20" << '\n';
    cout << "5.升血丹 ¥300  最大生命值永久升50" << '\n';
    cout << "6.神龙丹 ¥300 物理防御永久升20 " << '\n';
    cout << "7.一清丹 ¥1000 效果未知???" << '\n';
    cout << "退出=q" << '\n';
    cin >> b;
    if (b == "q")  cout << "退出!" << '\n' << '\n';
    else if (b != "1" && b != "2" && b != "3" && b != "4" && b != "5"&&b != "6"&&b != "7")
        cout << "输入错误!" << '\n' << '\n';
    else {
        cout << "要几颗?(请不要输入非数字)" << '\n';
        cin >> c;
        if (c <= 0)
        {
            for (;;)
            {
                cout << "重新输入" << '\n';
                cin >> c;
                if (c>0) break;
            }
        }
        if (b == "1") f = 1;
        if (b == "2") f = 2;
        if (b == "3") f = 3;
        if (b == "4") f = 4;
        if (b == "5") f = 5;
        if (b == "6") f = 6;
        if (b == "7") f = 7;
        if (you.money<D[f - 1].danyaoqian* c) cout << "失败" << '\n' << '\n';
        else {
            you.money -= D[f - 1].danyaoqian * c;
            D[f - 1].danyaoliang += c;
            cout << "购买成功" << '\n' << '\n';
        }
    }
}
void fangjudian()
{
    string b;
    int f;
    cout << "             " << "欢迎来到深渊武器店,这里应有尽有" << endl;
    cout << "1.多兰之盾 ¥100 物理防御+10   " << endl;
    cout << "2.日炎斗篷 ¥300 物理防御+15   " << endl;
    cout << "3.荆棘之甲 ¥500 物理防御+20   " << endl;
    cout << "4.振奋铠甲 ¥1000 物理防御+70  " << endl;
    cout << "5.狂徒铠甲 ¥1500 物理防御+100 " << endl;
    cout << "6.重装铠甲 ¥3000 物理防御+300 " << endl;
    cout << "7.无名铠甲 ¥5000 物理防御+666 " << endl;
    cout << "q.退出" << endl;
    cin >> b;
    if (b == "q") cout << "退出!" << '\n' << '\n';
    else if (b != "1"&&b != "2"&&b != "3"&&b != "4"&&b != "5"&&b != "6"&&b != "7")cout << "输入错误!" << '\n' << '\n';
    else {
        if (b == "1") f = 1;
        if (b == "2") f = 2;
        if (b == "3") f = 3;
        if (b == "4") f = 4;
        if (b == "5") f = 5;
        if (b == "6") f = 6;
        if (b == "7") f = 7;
        if (you.money<F[f - 1].fangjuqian) cout << "失败" << '\n' << '\n';
        else
        {
            you.money -= F[f - 1].fangjuqian;
            you.fangju = f;
            you.YOUDEF = you.YOUDEF + F[f - 1].DEF - temp[3];
            temp[3] = F[f - 1].DEF;
            cout << "购买成功" << '\n' << '\n';
        }
    }
}


void shiyong()
{
    cout << "1 回血丹有" << D[0].danyaoliang << "" << '\n';
    cout << "2 大补丹有" << D[1].danyaoliang << "" << '\n';
    cout << "3 和尚乐有" << D[2].danyaoliang << "" << '\n';
    cout << "4 大力丸有" << D[3].danyaoliang << "" << '\n';
    cout << "5 升血丹有" << D[4].danyaoliang << "" << '\n';
    cout << "6 神龙丹有" << D[5].danyaoliang << "" << '\n';
    cout << "7 一清丹有" << D[6].danyaoliang << "" << '\n';
    int c;
    cout << "使用丹药=";
    cin >> c;
    if (D[c - 1].danyaoliang == 0) cout << "失败!!!!" << '\n' << '\n';
    else
    {
        D[c - 1].danyaoliang--;
        switch (c)
        {
        case 1:cout << "生命回复" << '\n'; you.YOUHP += D[0].danyaoxiaoguo;
            if (you.YOUHP > you.YOUHPM) you.YOUHP = you.YOUHPM;
            break;
        case 2:cout << "生命回复" << '\n'; you.YOUHP += D[1].danyaoxiaoguo;
            if (you.YOUHP > you.YOUHPM) you.YOUHP = you.YOUHPM;
            break;
        case 3:cout << "满血" << '\n'; you.YOUHP = you.YOUHPM;
            break;
        case 4:cout << "物理攻击+" << '\n'; you.YOUSTR += D[3].danyaoxiaoguo;
            break;
        case 5:cout << " 生命上线+" << '\n';
            you.YOUHPM += D[4].danyaoxiaoguo;
            break;
        case 6:cout << " 物理防御+" << '\n';
            you.YOUDEF += D[5].danyaoxiaoguo;
            break;
        case 7:cout << " 迷之效果" << '\n';
            you.EXP += D[6].danyaoxiaoguo;
        }
    }
}

void xueyinlou()
{
    cout << "                   " << "血影楼" << endl;
    cout << "杀手通缉榜,有能力才可以领任务" << endl;
    cout << "1.无名者  $10000        要求:物理攻击500可接任务" << endl;
    cout << "2.深渊大魔头$5000     要求:拥有血影神刀可接任务" << endl;
    cout << "3.无极巨魔 $2000       要求:30级以上可接任务" << endl;
    cout << "按q退出" << endl;
    string xylstr;
    cin >> xylstr;
    if (xylstr == "1")
    {
        if (you.YOUSTR >= 500)
            daguai(NPC1.NPCHP,NPC1.NPCHPM,NPC1.NPCSTR,NPC1.NPCDEF,NPC1.NPCMONEY);
        else
        {
            cout << "条件不够!回去继续修炼吧" << endl;
            cout << "按任意键返回" << endl;
            string strn;
            cin >> strn;
            if (strn == "q")
            {
                system("cls");
                xueyinlou();
            }
            else
            {
                system("cls");
                xueyinlou();
            }

        }
    }
    else if (xylstr == "2")
    {
        {
            if (you.wuqi==5)
                daguai(NPC2.NPCHP, NPC2.NPCHPM, NPC2.NPCSTR, NPC2.NPCDEF, NPC2.NPCMONEY);
            else
            {
                cout << "条件不够!回去继续修炼吧" << endl;
                cout << "按任意键返回" << endl;
                string strn;
                cin >> strn;
                if (strn == "q")
                {
                    system("cls");
                    xueyinlou();
                }
                else
                {
                    system("cls");
                    xueyinlou();
                }

            }
        }
    }
    else if (xylstr == "3")
    {
        {
            if (you.jibie>=30)
                daguai(NPC3.NPCHP, NPC3.NPCHPM, NPC3.NPCSTR, NPC3.NPCDEF, NPC3.NPCMONEY);
            else
            {
                cout << "条件不够!回去继续修炼吧" << endl;
                cout << "按任意键返回" << endl;
                string strn;
                cin >> strn;
                if (strn == "q")
                {
                    system("cls");
                    xueyinlou();
                }
                else
                {
                    system("cls");
                    xueyinlou();
                }

            }
        }
    }
    else if (xylstr == "q")
    {
        system("cls");
    }
    else
    {
        system("cls");
        xueyinlou();
    }
}

猜你喜欢

转载自www.cnblogs.com/xuyiqing/p/11452739.html