#include <iostream>
#include <vector>
#include <string>
#include <cstdlib>
#include <ctime>
#include <windows.h>
using namespace std;
struct Item
{
string name;
string desc;
int type;
int value;
int price;
int count;
};
struct DropGoods
{
string name;
int sellGold;
int count;
};
struct Charm
{
string name;
string skill;
string effect;
int level;
int cd;
int maxCd;
bool have;
};
struct Monster
{
string name;
int hp;
int atk;
int dropGoldMin;
int dropGoldMax;
};
class Player
{
public:
int hp, maxHp, atk, luck, gold;
vector<Charm> charmBag;
vector<Item> itemBag;
vector<DropGoods> dropBag;
};
vector<Charm> initAllCharm()
{
vector<Charm> c;
}
vector<Monster> initAllMonster()
{
vector<Monster>m;
Monster m1; m1.name = "黑影小兵"; m1.hp = 120; m1.atk = 12; m1.dropGoldMin = 30; m1.dropGoldMax = 60; m.push_back(m1);
Monster m2; m2.name = "秘境守卫"; m2.hp = 180; m2.atk = 16; m2.dropGoldMin = 50; m2.dropGoldMax = 90; m.push_back(m2);
Monster m3; m3.name = "恶魔使徒"; m3.hp = 260; m3.atk = 22; m3.dropGoldMin = 80; m3.dropGoldMax = 130; m.push_back(m3);
Monster m4; m4.name = "暗影魔王"; m4.hp = 900; m4.atk = 35; m4.dropGoldMin = 200; m4.dropGoldMax = 350; m.push_back(m4);
Monster m5; m5.name = "幽影猎手"; m5.hp = 320; m5.atk = 28; m5.dropGoldMin = 100; m5.dropGoldMax = 150; m.push_back(m5);
Monster m6; m6.name = "火焰巨魔"; m6.hp = 450; m6.atk = 38; m6.dropGoldMin = 140; m6.dropGoldMax = 200; m.push_back(m6);
Monster m7; m7.name = "冰霜女巫"; m7.hp = 550; m7.atk = 45; m7.dropGoldMin = 180; m7.dropGoldMax = 250; m.push_back(m7);
Monster m8; m8.name = "深渊魔神"; m8.hp = 1800; m8.atk = 70; m8.dropGoldMin = 400; m8.dropGoldMax = 600; m.push_back(m8);
return m;
}
void shopSystem(Player &p)
{
while (1)
{
system("cls");
cout << "商店" << endl;
cout << "金币:" << p.gold << endl;
cout << "1.小血瓶 50" << endl;
cout << "2.大血瓶 120" << endl;
cout << "3.冷却精华 80" << endl;
cout << "4.力量药剂 150(永久+5攻)" << endl;
cout << "5.兑换战利品" << endl;
cout << "6.返回主界面" << endl;
int op; cin >> op;
if (op == 1) { if (p.gold >= 50) { p.gold -= 50; p.addItem("小型生命药水", "恢复30HP", 1, 30, 50, 1); cout << "购买成功!"; } }
else if (op == 2) { if (p.gold >= 120) { p.gold -= 120; p.addItem("大型生命药水", "恢复80HP", 1, 80, 120, 1); cout << "购买成功!"; } }
else if (op == 3) { if (p.gold >= 80) { p.gold -= 80; p.addItem("冷却精华", "清空CD", 2, 1, 80, 1); cout << "购买成功!"; } }
else if (op == 4) { if (p.gold >= 150) { p.gold -= 150; p.atk += 5; cout << "攻击力提升!"; } }
else if (op == 5)
{
int r = p.showDrop();
if (r == 13)continue;
}
else if (op == 6)break;
Sleep(800);
}
}
bool fightBattle(Player &p, Monster m)
{
while (1)
{
system("cls");
cout << "战斗:" << m.name << endl;
cout << "你的HP:" << p.hp << "/" << p.maxHp << " 敌人HP:" << m.hp << endl;
cout << "1.攻击 2.符咒 3.道具 4.查看状态 5.逃跑" << endl;
int op; cin >> op;
int hurt = 0;
bool hide = false;
}
void mainMenu(Player &p, vector<Monster> &mon, vector<Charm> &charm)
{
while (1)
{
system("cls");
cout << "====== 主界面 ======" << endl;
cout << "1.进入关卡挑战" << endl;
cout << "2.进入商店" << endl;
cout << "3.查看背包" << endl;
cout << "4.查看符咒" << endl;
cout << "5.退出游戏" << endl;
int op; cin >> op;
}
int main()
{
srand(time(0));
Player player;
vector<Charm> charms = initAllCharm();
vector<Monster> mons = initAllMonster();
}