自制小游戏(转载戴上我的名字,否则后果)
2026-01-24 16:54:20
发布于:广东
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
using namespace std;
// 解决min/max和Windows宏冲突(Dev C++必备)
#undef min
#undef max
// 玩家结构体(新增附魔相关属性)
struct Player{
int blood=100;
int Max_blood=100;
int Attack=50;
int Defence=20;
int money=100;
int level=1;
bool Die=false;
// 升级相关属性
int currentExp=0;
int expToNextLevel=50;
// 附魔相关:记录当前装备的附魔等级
int weaponEnchantLevel=0; // 武器附魔等级(0-3)
int defenceEnchantLevel=0; // 护符附魔等级(0-3)
// 道具持有量(附魔石)
int lowEnchantStone=0; // 低级附魔石
int midEnchantStone=0; // 中级附魔石
int highEnchantStone=0; // 高级附魔石
};
// 史莱姆怪物结构体
struct Slime{
string name;
int blood;
int Attack;
int Defence;
int colorCode;
};
// 道具/武器结构体(新增附魔相关字段)
struct Item{
string name;
string type; // weapon/prop/enchant(附魔石)
int price;
int effectValue; // 基础效果值
int unlockLevel; // 解锁等级
string desc;
int maxEnchant; // 最大附魔等级
};
// 颜色常量定义
#define COLOR_BLUE 1
#define COLOR_GREEN 2
#define COLOR_SKY 3
#define COLOR_RED 4
#define COLOR_PURPLE 5
#define COLOR_YELLOW 6
#define COLOR_WHITE 7
#define COLOR_GRAY 8
#define COLOR_WATER 9
// 设置控制台文字颜色
void setConsoleColor(int color) {
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, color);
}
// 隐藏控制台光标
void hideCursor() {
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO cursorInfo;
GetConsoleCursorInfo(hConsole, &cursorInfo);
cursorInfo.bVisible = false;
SetConsoleCursorInfo(hConsole, &cursorInfo);
}
// 清理cin输入缓冲区(解决无效输入导致的卡死问题)
void clearCinBuffer() {
cin.clear(); // 重置输入状态
cin.ignore(numeric_limits<streamsize>::max(), '\n'); // 清空缓冲区
}
// 计算伤害的核心函数
int calculateDamage(int attackerAtk, int defenderDef) {
int damage = attackerAtk - defenderDef;
return (damage > 1) ? damage : 1;
}
// 初始化不同类型的史莱姆
Slime initSlime(int type) {
Slime slime;
switch(type) {
case 1:
slime.name = "蓝色史莱姆";
slime.blood = 50 + (rand() % 10);
slime.Attack = 10;
slime.Defence = 10;
slime.colorCode = COLOR_BLUE;
break;
case 2:
slime.name = "紫色史莱姆";
slime.blood = 75 + (rand() % 15);
slime.Attack = 5;
slime.Defence = 15;
slime.colorCode = COLOR_PURPLE;
break;
case 3:
slime.name = "红色史莱姆";
slime.blood = 45 + (rand() % 10);
slime.Attack = 15;
slime.Defence = 8;
slime.colorCode = COLOR_RED;
break;
case 4:
slime.name = "冰史莱姆";
slime.blood = 50 + (rand() % 10);
slime.Attack = 10;
slime.Defence = 5;
slime.colorCode = COLOR_SKY;
break;
default:
slime.name = "蓝色史莱姆";
slime.blood = 50;
slime.Attack = 10;
slime.Defence = 10;
slime.colorCode = COLOR_BLUE;
break;
}
return slime;
}
// 初始化商店物品列表(新增更多装备+附魔道具)
vector<Item> initShopItems() {
vector<Item> items;
// 武器类(新增更多等级武器)
items.push_back({"青铜剑", "weapon", 50, 10, 1, "攻击力+10", 3});
items.push_back({"铁剑", "weapon", 100, 20, 2, "攻击力+20", 3});
items.push_back({"钻石剑", "weapon", 200, 35, 3, "攻击力+35", 3});
items.push_back({"王者之剑", "weapon", 500, 60, 5, "攻击力+60(等级5解锁)", 3});
items.push_back({"屠龙刀", "weapon", 800, 80, 7, "攻击力+80(等级7解锁)", 3});
// 防御护符类(新增更多护符)
items.push_back({"基础防御护符", "prop", 80, 10, 1, "防御力+10(永久)", 3});
items.push_back({"高级防御护符", "prop", 200, 20, 3, "防御力+20(等级3解锁)", 3});
items.push_back({"神圣守护符", "prop", 500, 35, 6, "防御力+35(等级6解锁)", 3});
// 血瓶类(保留)
items.push_back({"小血瓶", "prop", 20, 30, 1, "恢复30点血量", 0});
items.push_back({"大血瓶", "prop", 50, 80, 1, "恢复80点血量", 0});
items.push_back({"超级血瓶", "prop", 150, 150, 4, "恢复150点血量(等级4解锁)", 0});
// 附魔石类(新增附魔道具)
items.push_back({"低级附魔石", "enchant", 100, 5, 2, "武器/护符附魔1级(+5效果)", 0});
items.push_back({"中级附魔石", "enchant", 300, 10, 4, "武器/护符附魔2级(+10效果)", 0});
items.push_back({"高级附魔石", "enchant", 800, 20, 6, "武器/护符附魔3级(+20效果)", 0});
return items;
}
// 附魔功能函数(核心:给武器/护符附魔)
void enchantSystem(Player &player) {
system("cls");
hideCursor();
setConsoleColor(COLOR_YELLOW);
cout << "==================== 附魔工坊 " << endl;
setConsoleColor(COLOR_GREEN);
cout << "当前金币:" << player.money << " | 玩家等级:Lv." << player.level << endl;
setConsoleColor(COLOR_PURPLE);
cout << "附魔石持有:低级x" << player.lowEnchantStone
<< " | 中级x" << player.midEnchantStone
<< " | 高级x" << player.highEnchantStone << endl;
setConsoleColor(COLOR_WHITE);
cout << "" << endl;
setConsoleColor(COLOR_SKY);
cout << "【当前附魔状态】" << endl;
cout << "武器附魔等级:Lv." << player.weaponEnchantLevel
<< "(攻击力加成:+" << player.weaponEnchantLevel * 5 + (player.weaponEnchantLevel>1?5:0) + (player.weaponEnchantLevel>2?10:0) << ")" << endl;
cout << "护符附魔等级:Lv." << player.defenceEnchantLevel
<< "(防御力加成:+" << player.defenceEnchantLevel * 5 + (player.defenceEnchantLevel>1?5:0) + (player.defenceEnchantLevel>2?10:0) << ")" << endl;
setConsoleColor(COLOR_WHITE);
cout << "====================" << endl;
cout << "1. 武器附魔(当前Lv." << player.weaponEnchantLevel << "/3)" << endl;
cout << "2. 护符附魔(当前Lv." << player.defenceEnchantLevel << "/3)" << endl;
cout << "0. 返回商店" << endl;
cout << "请选择附魔类型(输入数字,按回车确认):";
// 改用cin原生输入,无自定义函数
int choice;
cin >> choice;
clearCinBuffer(); // 清理缓冲区,避免后续输入异常
if(choice == 0) return;
int targetType = 0; // 1=武器,2=护符
int currentEnchantLv = 0;
string targetName = "";
if(choice == 1) {
targetType = 1;
currentEnchantLv = player.weaponEnchantLevel;
targetName = "武器";
} else if(choice == 2) {
targetType = 2;
currentEnchantLv = player.defenceEnchantLevel;
targetName = "护符";
} else {
setConsoleColor(COLOR_RED);
cout << "\n无效输入!按任意键返回..." << endl;
setConsoleColor(COLOR_WHITE);
_getch();
return;
}
// 检查是否已达最大附魔等级
if(currentEnchantLv >= 3) {
setConsoleColor(COLOR_RED);
cout << "\n" << targetName << "已达最高附魔等级(Lv.3),无法继续附魔!" << endl;
setConsoleColor(COLOR_WHITE);
_getch();
return;
}
// 判定所需附魔石和金币
int needStoneType = 0; // 1=低级,2=中级,3=高级
int needStoneNum = 1;
int needMoney = 0;
int addEffect = 0;
switch(currentEnchantLv + 1) {
case 1: // 附魔1级:低级附魔石
needStoneType = 1;
needMoney = 200;
addEffect = 5;
break;
case 2: // 附魔2级:中级附魔石
needStoneType = 2;
needMoney = 500;
addEffect = 10;
break;
case 3: // 附魔3级:高级附魔石
needStoneType = 3;
needMoney = 1000;
addEffect = 20;
break;
}
// 检查等级限制
int needLevel = (currentEnchantLv + 1) * 2;
if(player.level < needLevel) {
setConsoleColor(COLOR_RED);
cout << "\n等级不足!附魔Lv." << currentEnchantLv+1 << "需要Lv." << needLevel << "!" << endl;
setConsoleColor(COLOR_WHITE);
_getch();
return;
}
// 检查金币
if(player.money < needMoney) {
setConsoleColor(COLOR_RED);
cout << "\n金币不足!需要" << needMoney << "金币(当前:" << player.money << ")" << endl;
setConsoleColor(COLOR_WHITE);
_getch();
return;
}
// 检查附魔石
bool hasStone = false;
switch(needStoneType) {
case 1:
if(player.lowEnchantStone >= needStoneNum) hasStone = true;
break;
case 2:
if(player.midEnchantStone >= needStoneNum) hasStone = true;
break;
case 3:
if(player.highEnchantStone >= needStoneNum) hasStone = true;
break;
}
if(!hasStone) {
setConsoleColor(COLOR_RED);
string stoneName = (needStoneType==1)?"低级附魔石":(needStoneType==2)?"中级附魔石":"高级附魔石";
cout << "\n缺少附魔材料!需要" << stoneName << "x" << needStoneNum << "!" << endl;
setConsoleColor(COLOR_WHITE);
_getch();
return;
}
// 执行附魔
// 扣除金币
player.money -= needMoney;
// 扣除附魔石
switch(needStoneType) {
case 1: player.lowEnchantStone--; break;
case 2: player.midEnchantStone--; break;
case 3: player.highEnchantStone--; break;
}
// 提升附魔等级
if(targetType == 1) {
player.weaponEnchantLevel++;
player.Attack += addEffect; // 提升攻击力
} else {
player.defenceEnchantLevel++;
player.Defence += addEffect; // 提升防御力
}
// 显示附魔成功
setConsoleColor(COLOR_GREEN);
cout << "\n==================================================" << endl;
cout << " 附魔成功!?? " << endl;
cout << "==================================================" << endl;
setConsoleColor(COLOR_YELLOW);
cout << targetName << "附魔等级提升至 Lv." << currentEnchantLv+1 << endl;
cout << "消耗:" << needMoney << "金币 + "
<< (needStoneType==1?"低级附魔石":(needStoneType==2)?"中级附魔石":"高级附魔石") << "x1" << endl;
cout << targetName << "效果加成 +" << addEffect << endl;
if(targetType == 1) {
cout << "当前攻击力:" << player.Attack << endl;
} else {
cout << "当前防御力:" << player.Defence << endl;
}
setConsoleColor(COLOR_WHITE);
cout << "\n按任意键返回附魔工坊..." << endl;
_getch();
enchantSystem(player); // 附魔后重新显示界面
}
// 升级处理函数
void levelUp(Player &player) {
player.level++;
setConsoleColor(COLOR_RED);
cout << "\n=====================================" << endl;
cout << " 升级成功! " << endl;
cout << " 当前等级:Lv." << player.level << endl;
cout << "=====================================" << endl;
int bloodAdd = 20 + (player.level - 1) * 5;
int attackAdd = 5 + (player.level - 1) * 2;
int defenceAdd = 3 + (player.level - 1) * 1;
player.Max_blood += bloodAdd;
player.blood = player.Max_blood;
player.Attack += attackAdd;
player.Defence += defenceAdd;
setConsoleColor(COLOR_YELLOW);
cout << "属性提升:" << endl;
cout << "? 最大血量 +" << bloodAdd << "(当前:" << player.Max_blood << ")" << endl;
cout << "? 攻击力 +" << attackAdd << "(当前:" << player.Attack << ")" << endl;
cout << "? 防御力 +" << defenceAdd << "(当前:" << player.Defence << ")" << endl;
setConsoleColor(COLOR_WHITE);
player.expToNextLevel = 50 + (player.level - 1) * 20;
player.currentExp = player.currentExp - (player.expToNextLevel - 20);
if(player.currentExp < 0) player.currentExp = 0;
Sleep(2000);
}
// 商店系统函数(新增附魔选项+更多装备)
void shopSystem(Player &player) {
vector<Item> items = initShopItems();
while(true) {
system("cls");
hideCursor();
setConsoleColor(COLOR_YELLOW);
cout << "==================== 史莱姆商店 " << endl;
setConsoleColor(COLOR_GREEN);
cout << "当前金币:" << player.money << " | 玩家等级:Lv." << player.level << endl;
setConsoleColor(COLOR_WHITE);
cout << "================================" << endl;
// 武器区
cout << "【武器区】" << endl;
for(int i=0; i<items.size(); i++) {
if(items[i].type == "weapon") {
if(player.level < items[i].unlockLevel) {
setConsoleColor(COLOR_GRAY);
cout << i+1 << ". " << items[i].name << " | 价格:" << items[i].price << "金币 | " << items[i].desc << "(Lv." << items[i].unlockLevel << "解锁)" << endl;
} else {
setConsoleColor(COLOR_SKY);
cout << i+1 << ". " << items[i].name << " | 价格:" << items[i].price << "金币 | " << items[i].desc << "(可附魔Lv." << items[i].maxEnchant << ")" << endl;
}
setConsoleColor(COLOR_WHITE);
}
}
// 道具区(护符+血瓶)
cout << "\n【道具区】" << endl;
for(int i=0; i<items.size(); i++) {
if(items[i].type == "prop" && items[i].name.find("血瓶") != string::npos) {
setConsoleColor(COLOR_PURPLE);
cout << i+1 << ". " << items[i].name << " | 价格:" << items[i].price << "金币 | " << items[i].desc << endl;
setConsoleColor(COLOR_WHITE);
}
}
for(int i=0; i<items.size(); i++) {
if(items[i].type == "prop" && items[i].name.find("护符") != string::npos) {
if(player.level < items[i].unlockLevel) {
setConsoleColor(COLOR_GRAY);
cout << i+1 << ". " << items[i].name << " | 价格:" << items[i].price << "金币 | " << items[i].desc << "(Lv." << items[i].unlockLevel << "解锁)" << endl;
} else {
setConsoleColor(COLOR_PURPLE);
cout << i+1 << ". " << items[i].name << " | 价格:" << items[i].price << "金币 | " << items[i].desc << "(可附魔Lv." << items[i].maxEnchant << ")" << endl;
}
setConsoleColor(COLOR_WHITE);
}
}
// 附魔石区
cout << "\n【附魔材料区】" << endl;
for(int i=0; i<items.size(); i++) {
if(items[i].type == "enchant") {
if(player.level < items[i].unlockLevel) {
setConsoleColor(COLOR_GRAY);
cout << i+1 << ". " << items[i].name << " | 价格:" << items[i].price << "金币 | " << items[i].desc << "(Lv." << items[i].unlockLevel << "解锁)" << endl;
} else {
setConsoleColor(COLOR_RED);
cout << i+1 << ". " << items[i].name << " | 价格:" << items[i].price << "金币 | " << items[i].desc << endl;
setConsoleColor(COLOR_WHITE);
}
}
}
cout << "====================================================" << endl;
cout << "0. 返回主菜单" << endl;
cout << "99. 附魔工坊(给装备附魔)" << endl;
cout << "请选择要购买的物品编号(输入数字,按回车确认):";
// 改用cin原生输入,支持多位数字(如99)
int choice;
cin >> choice;
clearCinBuffer(); // 清理缓冲区
if(choice == 0) break;
// 识别99进入附魔工坊
if(choice == 99) {
enchantSystem(player);
continue;
}
// 处理物品购买(支持多位数字编号)
int idx = choice - 1;
if(idx < 0 || idx >= (int)items.size()) {
setConsoleColor(COLOR_RED);
cout << "\n无效的物品编号!按任意键重新选择..." << endl;
setConsoleColor(COLOR_WHITE);
_getch();
continue;
}
Item selected = items[idx];
// 检查解锁等级
if(player.level < selected.unlockLevel) {
setConsoleColor(COLOR_RED);
cout << "\n等级不足!需要Lv." << selected.unlockLevel << "(当前Lv." << player.level << ")" << endl;
setConsoleColor(COLOR_WHITE);
_getch();
continue;
}
// 检查金币
if(player.money < selected.price) {
setConsoleColor(COLOR_RED);
cout << "\n金币不足!当前:" << player.money << ",需要:" << selected.price << endl;
setConsoleColor(COLOR_WHITE);
_getch();
continue;
}
// 执行购买
player.money -= selected.price;
if(selected.type == "weapon") {
player.Attack += selected.effectValue;
setConsoleColor(COLOR_YELLOW);
cout << "\n购买成功!" << selected.name << "已装备,攻击力+" << selected.effectValue << endl;
cout << "当前攻击力:" << player.Attack << endl;
} else if(selected.type == "prop") {
if(selected.name.find("护符") != string::npos) {
player.Defence += selected.effectValue;
setConsoleColor(COLOR_YELLOW);
cout << "\n购买成功!" << selected.name << "已生效,防御力+" << selected.effectValue << endl;
cout << "当前防御力:" << player.Defence << endl;
} else { // 血瓶
int newBlood = player.blood + selected.effectValue;
player.blood = (newBlood > player.Max_blood) ? player.Max_blood : newBlood;
setConsoleColor(COLOR_YELLOW);
cout << "\n使用" << selected.name << ",恢复" << selected.effectValue << "点血量!" << endl;
cout << "当前血量:" << player.blood << "/" << player.Max_blood << endl;
}
} else if(selected.type == "enchant") {
// 购买附魔石,存入玩家背包
if(selected.name == "低级附魔石") player.lowEnchantStone++;
else if(selected.name == "中级附魔石") player.midEnchantStone++;
else if(selected.name == "高级附魔石") player.highEnchantStone++;
setConsoleColor(COLOR_YELLOW);
cout << "\n购买成功!获得" << selected.name << "x1!" << endl;
cout << "当前持有:" << endl;
cout << "低级附魔石:x" << player.lowEnchantStone << endl;
cout << "中级附魔石:x" << player.midEnchantStone << endl;
cout << "高级附魔石:x" << player.highEnchantStone << endl;
}
setConsoleColor(COLOR_GREEN);
cout << "剩余金币:" << player.money << endl;
setConsoleColor(COLOR_WHITE);
cout << "按任意键继续购物..." << endl;
_getch();
}
}
// 战斗流程函数
void battle(Player &player, Slime &slime) {
system("cls");
hideCursor();
cout << "==================== 战斗开始 " << endl;
setConsoleColor(COLOR_GREEN);
cout << "玩家状态:血量 " << player.blood << "/" << player.Max_blood
<< " | 攻击力 " << player.Attack << " | 防御力 " << player.Defence << " | 等级 Lv." << player.level << endl;
setConsoleColor(slime.colorCode);
cout << slime.name << " 状态:血量 " << slime.blood
<< " | 攻击力 " << slime.Attack << " | 防御力 " << slime.Defence << endl;
setConsoleColor(COLOR_WHITE);
cout << "==============================" << endl;
cout << "按任意键开始攻击...(退出按ESC)" << endl;
_getch();
while(true) {
int playerDmg = calculateDamage(player.Attack, slime.Defence);
slime.blood -= playerDmg;
setConsoleColor(COLOR_GREEN);
cout << "\n你攻击了" << slime.name << ",造成了 " << playerDmg << " 点伤害!" << endl;
setConsoleColor(slime.colorCode);
cout << slime.name << " 剩余血量:" << (slime.blood > 0 ? slime.blood : 0) << endl;
setConsoleColor(COLOR_WHITE);
if(slime.blood <= 0) {
setConsoleColor(COLOR_YELLOW);
cout << "\n恭喜!你击败了" << slime.name << "!" << endl;
int rewardMoney = 20 + player.level * 5;
int expReward = 10 + player.level * 5;
player.money += rewardMoney;
player.currentExp += expReward;
setConsoleColor(COLOR_SKY);
cout << "获得 " << rewardMoney << " 金币(当前:" << player.money << ")" << endl;
cout << "获得 " << expReward << " 经验(当前:" << player.currentExp << "/" << player.expToNextLevel << ")" << endl;
setConsoleColor(COLOR_WHITE);
while(player.currentExp >= player.expToNextLevel) {
levelUp(player);
}
setConsoleColor(COLOR_WHITE);
cout << "\n按任意键返回主菜单..." << endl;
_getch();
break;
}
Sleep(800);
int slimeDmg = calculateDamage(slime.Attack, player.Defence);
player.blood -= slimeDmg;
setConsoleColor(slime.colorCode);
cout << "\n" << slime.name << " 反击了你,造成了 " << slimeDmg << " 点伤害!" << endl;
setConsoleColor(COLOR_GREEN);
cout << "你的剩余血量:" << player.blood << endl;
setConsoleColor(COLOR_WHITE);
if(player.blood <= 0) {
player.Die = true;
setConsoleColor(COLOR_RED);
cout << "\n你被" << slime.name << "击败了!游戏结束!" << endl;
setConsoleColor(COLOR_WHITE);
Sleep(2000);
exit(0);
}
cout << "\n按任意键继续攻击...(退出按ESC)" << endl;
char key = _getch();
if(key == 27) {
cout << "\n你选择逃离战斗!" << endl;
Sleep(1000);
break;
}
}
}
// 游戏主菜单(优化玩家状态显示,增加附魔信息)
void mainMenu(Player &player) {
while(!player.Die) {
system("cls");
hideCursor();
setConsoleColor(COLOR_YELLOW);
cout << "==================== 史莱姆大作战 " << endl;
setConsoleColor(COLOR_WHITE);
cout << "1. 挑战史莱姆" << endl;
cout << "2. 查看玩家状态" << endl;
cout << "3. 商店(购买武器/道具/附魔石)" << endl;
cout << "4. 退出游戏" << endl;
cout << "==================================" << endl;
cout << "请选择操作(输入数字,按回车确认):";
// 改用cin原生输入
int choice;
cin >> choice;
clearCinBuffer(); // 清理缓冲区
switch(choice) {
case 1: {
srand((unsigned int)time(NULL));
int slimeType = rand() % 4 + 1;
Slime slime = initSlime(slimeType);
battle(player, slime);
break;
}
case 2: {
system("cls");
setConsoleColor(COLOR_GREEN);
cout << "==================== 玩家状态 ====================" << endl;
cout << "等级:Lv." << player.level << endl;
cout << "经验:" << player.currentExp << "/" << player.expToNextLevel << "(升级到Lv." << player.level+1 << ")" << endl;
cout << "血量:" << player.blood << "/" << player.Max_blood << endl;
cout << "攻击力:" << player.Attack << "(含附魔+" << player.weaponEnchantLevel * 5 + (player.weaponEnchantLevel>1?5:0) + (player.weaponEnchantLevel>2?10:0) << ")" << endl;
cout << "防御力:" << player.Defence << "(含附魔+" << player.defenceEnchantLevel * 5 + (player.defenceEnchantLevel>1?5:0) + (player.defenceEnchantLevel>2?10:0) << ")" << endl;
cout << "金币:" << player.money << endl;
cout << "附魔石:低级x" << player.lowEnchantStone << " | 中级x" << player.midEnchantStone << " | 高级x" << player.highEnchantStone << endl;
cout << "是否死亡:" << (player.Die ? "是" : "否") << endl;
cout << "==================================================" << endl;
setConsoleColor(COLOR_WHITE);
cout << "按任意键返回主菜单..." << endl;
_getch();
break;
}
case 3: {
shopSystem(player);
break;
}
case 4: {
cout << "\n感谢游玩!再见!" << endl;
Sleep(1000);
exit(0);
}
default: {
setConsoleColor(COLOR_RED);
cout << "\n无效输入!请重新选择!" << endl;
setConsoleColor(COLOR_WHITE);
Sleep(1000);
break;
}
}
}
}
int main(){
SetConsoleTitleA("史莱姆大作战 - 控制台版");
Player player;
setConsoleColor(COLOR_YELLOW);
cout << "==================== 欢迎来到史莱姆大作战 ====================" << endl;
setConsoleColor(COLOR_WHITE);
cout << "游戏规则:击败史莱姆获得金币/经验,升级解锁装备和附魔!" << endl;
cout << " 商店可购买武器/护符/血瓶/附魔石,附魔工坊强化装备!" << endl;
cout << " 附魔等级越高,装备效果越强,所需材料也越稀有!" << endl;
cout << "==============================================================" << endl;
cout << "按任意键开始游戏..." << endl;
_getch();
mainMenu(player);
return 0;
}
这里空空如也















有帮助,赞一个