Vla_DOS

Untitled

May 25th, 2023
702
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.17 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. // Клас Герой
  7. class Hero {
  8. public:
  9.     string type;    // Тип персонажа
  10.     int strength;   // Сила
  11.     int speed;      // Швидкість руху
  12.     int damage;     // Шкода, яку може нанести
  13.     int receivedDamage; // Шкода, яку отримує
  14.  
  15.     // Конструктор
  16.     Hero() {
  17.         type = "Герой";
  18.         strength = 10;
  19.         speed = 5;
  20.         damage = 20;
  21.         receivedDamage = 10;
  22.     }
  23.  
  24.     // Функція атаки
  25.     void attack() {
  26.         cout << type << " атакує та наносить " << damage << " одиниць шкоди.\n";
  27.     }
  28.  
  29.     // Функція отримання пошкоджень
  30.     void takeDamage() {
  31.         cout << type << " отримує " << receivedDamage << " одиниць шкоди.\n";
  32.     }
  33. };
  34.  
  35. // Клас Антигерой
  36. class AntiHero : public Hero {
  37. public:
  38.     // Конструктор
  39.     AntiHero() {
  40.         type = "Антигерой";
  41.         strength = 8;
  42.         speed = 3;
  43.         damage = 15;
  44.         receivedDamage = 12;
  45.     }
  46.  
  47.     // Функція допомоги герою
  48.     void help(Hero& hero) {
  49.         cout << type << " допомагає герою " << hero.type << ".\n";
  50.         // Реалізація допомоги герою
  51.     }
  52. };
  53.  
  54. int main() {
  55.     // Створення героя і антигероя
  56.     Hero hero;
  57.     AntiHero antiHero;
  58.  
  59.     // Взаємодія між героями
  60.     cout << "Герой + Герой:\n";
  61.     hero.attack();
  62.     hero.takeDamage();
  63.  
  64.     // Взаємодія між антигероями
  65.     cout << "Антигерой + Антигерой:\n";
  66.     antiHero.attack();
  67.     antiHero.takeDamage();
  68.  
  69.     // Взаємодія між героєм і антигероєм
  70.     cout << "Герой + Антигерой:\n";
  71.     antiHero.help(hero);
  72.     hero.takeDamage();
  73.  
  74.     // Взаємодія між антигероєм і героєм
  75.     cout << "Антигерой + Герой:\n";
  76.     hero.attack();
  77.     antiHero.takeDamage();
  78.  
  79.     return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment