Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <string>
- #include <cstdlib>
- using namespace std;
- class Hero
- {
- public:
- // Atrybuty
- string name;
- int health;
- int strength;
- int intelligence;
- vector<string> equipment;
- // Konstruktor
- Hero(string heroName, int heroHealth, int heroStrength, int heroIntelligence)
- {
- name = heroName;
- health = heroHealth;
- strength = heroStrength;
- intelligence = heroIntelligence;
- }
- // Metody
- void attack()
- {
- // Symulacja ataku
- cout << name << " atakuje z siłą " << strength << endl;
- }
- void defend()
- {
- // Symulacja obrony
- cout << name << " broni się z życiem " << health << endl;
- }
- void gather_resources()
- {
- // Symulacja zbierania surowców
- cout << name << " zbiera surowce z inteligencją " << intelligence << endl;
- }
- };
- // Klasa dla Przeciwnika (Enemy)
- class Enemy
- {
- public:
- // Atrybuty
- string type;
- int health;
- int strength;
- // Konstruktor
- Enemy(string enemyType, int enemyHealth, int enemyStrength)
- {
- type = enemyType;
- health = enemyHealth;
- strength = enemyStrength;
- }
- // Metody
- void attack()
- {
- // Symulacja ataku
- cout << type << " atakuje z siłą " << strength << endl;
- }
- void defend()
- {
- // Symulacja obrony
- cout << type << " broni się z życiem " << health << endl;
- }
- };
- // Klasa dla Surowców (Resources)
- class Resources {
- public:
- // Atrybuty
- int metal;
- int fuel;
- int food;
- // Konstruktor
- Resources(int initialMetal, int initialFuel, int initialFood) {
- metal = initialMetal;
- fuel = initialFuel;
- food = initialFood;
- }
- // Metody
- void gather_metal() {
- // Symulacja zbierania metalu
- cout << "Zbieranie metalu. Aktualna ilość: " << ++metal << endl;
- }
- void gather_fuel() {
- // Symulacja zbierania paliwa
- cout << "Zbieranie paliwa. Aktualna ilość: " << ++fuel << endl;
- }
- void gather_food() {
- // Symulacja zbierania jedzenia
- cout << "Zbieranie jedzenia. Aktualna ilość: " << ++food << endl;
- }
- };
- class Game
- {
- public:
- // Atrybuty
- Hero hero;
- vector<Enemy> enemies;
- Resources resources;
- // Konstruktor
- Game(Hero gameHero, vector<Enemy> gameEnemies, Resources gameResources) :
- hero(gameHero), enemies(gameEnemies), resources(gameResources) {}
- // Metody
- void start_game()
- {
- // Rozpoczęcie gry
- cout << "Gra się rozpoczęła, powodzenia, " << hero.name << "!" << endl;
- }
- void end_game()
- {
- // Zakończenie gry
- cout << "Koniec gry, dzięki za spróbowanie!" << endl;
- }
- void battle()
- {
- // Symulacja walki
- cout << "Walka się zaczęła!" << endl;
- hero.attack();
- enemies[0].attack(); // Symulacja ataku pierwszego przeciwnika
- }
- void show_menu()
- {
- int choice;
- cout << "Witaj w Galactic Survivor!" << endl;
- cout << "1. Zacznij nową grę" << endl;
- cout << "0. Zakończ grę" << endl;
- cout << "Wpisz swój wybór: ";
- cin >> choice;
- switch (choice)
- {
- case 1:
- start_game();
- break;
- case 0:
- end_game();
- break;
- default:
- cout << "Nieprawidłowy wybór. Spróbuj ponownie." << endl;
- }
- }
- void start_game() {
- // Rozpoczęcie gry
- cout << "Gra się rozpoczęła, powodzenia, " << hero.name << "!" << endl;
- bool game;
- while (game)
- {
- cout << "\n**************\n" << endl;
- cout << "Co byś chciał teraz zrobić?" << endl;
- cout << "1. Szukaj zasobów." << endl;
- cout << "2. Walka z przeciwnikiem." << endl;
- cout << "3. Spróbuj zbudować statek do domu." << endl;
- cout << "4. Sprawdź ekwipunek." << endl;
- cout << "Wpisz swój wybór: ";
- int choice;
- int type;
- cin >> choice;
- cout << "\n**************\n" << endl;
- switch (choice)
- {
- case 1:
- type = rand() % 3;
- switch (type)
- {
- case 0:
- resources.gather_metal();
- break;
- case 1:
- resources.gather_fuel();
- break;
- case 2:
- resources.gather_food();
- break;
- }
- break;
- case 2:
- battle();
- break;
- case 3:
- if (resources.fuel > 5 && resources.metal > 10)
- {
- cout << "Zbudowałeś statek do domu! Wygrałeś!" << endl;
- end_game();
- game = false;
- }
- else
- {
- cout << "Nie masz wystarczająco dużo zasobów by zbudować statek..." << endl;
- }
- break;
- case 4:
- cout << "Sprawdzasz swój ekwipunek: " << endl;
- cout << resources.metal << " metalu " << endl;
- cout << resources.food << " jedzenia " << endl;
- cout << resources.fuel << " paliwa " << endl;
- break;
- default:
- cout << "Nieprawidłowy wybór. Spróbuj ponownie." << endl;
- }
- }
- }
- };
- int main()
- {
- // Stworzenie bohatera
- Hero hero("Adam", 100, 50, 30);
- // Stworzenie przeciwników
- vector<Enemy> enemies;
- enemies.push_back(Enemy("Kosmita", 40, 20));
- enemies.push_back(Enemy("Robot", 50, 25));
- // Stworzenie surowców
- Resources resources(0, 0, 0);
- // Stworzenie gry
- Game game(hero, enemies, resources);
- // Rozpoczęcie gry
- game.start_game();
- // Symulacja bitwy
- game.battle();
- // Zakończenie gry
- game.end_game();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement