无意中找到大一用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(); } }