#include #include #include class Item { public: std::string name; std::string type; int value; Item(std::string name, std::string type, int value) : name(name), type(type), value(value) {} }; class Character { public: std::string name; int level; int hitPoints; int manaPoints; std::vector inventory; Character(std::string name, int level, int hitPoints, int manaPoints) : name(name), level(level), hitPoints(hitPoints), manaPoints(manaPoints) {} void addItem(const Item& item) { inventory.push_back(item); } }; class Monster : public Character { public: int strength; int speed; Monster(std::string name, int level, int hitPoints, int manaPoints, int strength, int speed) : Character(name, level, hitPoints, manaPoints), strength(strength), speed(speed) {} }; class Game { public: std::vector characters; std::vector monsters; void createCharacter(std::string name, int level, int hitPoints, int manaPoints) { characters.emplace_back(name, level, hitPoints, manaPoints); } void createMonster(std::string name, int level, int hitPoints, int manaPoints, int strength, int speed) { monsters.emplace_back(name, level, hitPoints, manaPoints, strength, speed); } void fight(Character& character, Monster& monster) { // Prosta symulacja walki std::cout << "Walka rozpoczyna się między " << character.name << " a " << monster.name << std::endl; // Założenie: pierwszy atakuje potwór int attack = monster.strength - character.level; character.hitPoints -= (attack > 0 ? attack : 0); if (character.hitPoints > 0) { attack = character.level - monster.speed; monster.hitPoints -= (attack > 0 ? attack : 0); if (monster.hitPoints > 0) { std::cout << "Obie postacie nadal walczą." << std::endl; } else { std::cout << character.name << " wygrywa walkę." << std::endl; } } else { std::cout << monster.name << " wygrywa walkę." << std::endl; } } }; int main() { Game rpgGame; rpgGame.createCharacter("Hero", 5, 100, 30); rpgGame.createMonster("Goblin", 3, 50, 10, 20, 15); rpgGame.characters[0].addItem(Item("Miecz", "Broń", 10)); rpgGame.fight(rpgGame.characters[0], rpgGame.monsters[0]); return 0; }