#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
// 属性枚举
enum Type {
FIRE, GRASS, WATER
};
// 咕噜球类型
enum BallType {
BALL_NORMAL, // 普通咕噜球
BALL_MEDIUM, // 中级咕噜球
BALL_HIGH // 高级咕噜球
};
// 宠物结构体
struct Pet {
string name;
Type type;
int hp;
int maxHp;
int attack;
int level;
};
// 玩家背包
struct Bag {
int normalBall; // 普通咕噜球
int mediumBall; // 中级咕噜球
int highBall; // 高级咕噜球
Bag() {
normalBall = 10;
mediumBall = 3;
highBall = 1;
}
};
// 创建初始宠物
Pet createPet(int select) {
Pet p;
p.level = 5;
if (select == 1) {
p.name = "火花";
p.type = FIRE;
p.maxHp = 65;
p.attack = 18;
} else if (select == 2) {
p.name = "喵喵";
p.type = GRASS;
p.maxHp = 68;
p.attack = 16;
} else {
p.name = "水蓝蓝";
p.type = WATER;
p.maxHp = 72;
p.attack = 15;
}
p.hp = p.maxHp;
return p;
}
// 捕捉系统核心函数
bool tryCapture(Pet& target, BallType ball, Bag& bag)
{
// 检查咕噜球数量
if (ball == BALL_NORMAL) {
if (bag.normalBall <= 0) {
cout << "普通咕噜球不足!\n";
return false;
}
bag.normalBall--;
} else if (ball == BALL_MEDIUM) {
if (bag.mediumBall <= 0) {
cout << "中级咕噜球不足!\n";
return false;
}
bag.mediumBall--;
} else {
if (bag.highBall <= 0) {
cout << "高级咕噜球不足!\n";
return false;
}
bag.highBall--;
}
}
void showBag(const Bag& bag)
{
cout << "\n===== 背包咕噜球 =====" << endl;
cout << "普通咕噜球:" << bag.normalBall << endl;
cout << "中级咕噜球:" << bag.mediumBall << endl;
cout << "高级咕噜球:" << bag.highBall << endl;
}
// 战斗界面
void battle(Pet& player, Pet& wild, Bag& bag) {
cout << "\n===== 野生" << wild.name << "出现了!=====\n";
while (player.hp > 0 && wild.hp > 0) {
cout << "\n【你的" << player.name << " HP:" << player.hp << "/" << player.maxHp << "】\n";
cout << "【野生" << wild.name << " HP:" << wild.hp << "/" << wild.maxHp << "】\n";
cout << "1.攻击 2.使用咕噜球捕捉 3.查看背包 4.逃跑\n";
int op;
cin >> op;
}
int main() {
srand((unsigned)time(nullptr));
Bag playerBag;
}