Advertisement
ada1711

Untitled

Sep 30th, 2023
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.30 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <cstdlib>
  5.  
  6. using namespace std;
  7.  
  8. class Hero
  9. {
  10.  
  11. public:
  12.  
  13. // Atrybuty
  14.  
  15. string name;
  16. int health;
  17. int strength;
  18. int intelligence;
  19.  
  20. vector<string> equipment;
  21.  
  22. // Konstruktor
  23.  
  24. Hero(string heroName, int heroHealth, int heroStrength, int heroIntelligence)
  25. {
  26. name = heroName;
  27. health = heroHealth;
  28. strength = heroStrength;
  29. intelligence = heroIntelligence;
  30. }
  31.  
  32. // Metody
  33. void attack()
  34. {
  35. // Symulacja ataku
  36. cout << name << " atakuje z siłą " << strength << endl;
  37. }
  38.  
  39. void defend()
  40. {
  41. // Symulacja obrony
  42. cout << name << " broni się z życiem " << health << endl;
  43. }
  44.  
  45. void gather_resources()
  46. {
  47. // Symulacja zbierania surowców
  48. cout << name << " zbiera surowce z inteligencją " << intelligence << endl;
  49.  
  50. }
  51. };
  52.  
  53. // Klasa dla Przeciwnika (Enemy)
  54.  
  55. class Enemy
  56. {
  57.  
  58. public:
  59.  
  60. // Atrybuty
  61.  
  62. string type;
  63. int health;
  64. int strength;
  65.  
  66. // Konstruktor
  67.  
  68. Enemy(string enemyType, int enemyHealth, int enemyStrength)
  69. {
  70. type = enemyType;
  71. health = enemyHealth;
  72. strength = enemyStrength;
  73. }
  74.  
  75. // Metody
  76. void attack()
  77. {
  78. // Symulacja ataku
  79. cout << type << " atakuje z siłą " << strength << endl;
  80. }
  81.  
  82. void defend()
  83. {
  84. // Symulacja obrony
  85. cout << type << " broni się z życiem " << health << endl;
  86. }
  87. };
  88.  
  89.  
  90. // Klasa dla Surowców (Resources)
  91. class Resources {
  92.  
  93. public:
  94.  
  95. // Atrybuty
  96. int metal;
  97. int fuel;
  98. int food;
  99. // Konstruktor
  100. Resources(int initialMetal, int initialFuel, int initialFood) {
  101. metal = initialMetal;
  102. fuel = initialFuel;
  103. food = initialFood;
  104. }
  105.  
  106. // Metody
  107. void gather_metal() {
  108. // Symulacja zbierania metalu
  109. cout << "Zbieranie metalu. Aktualna ilość: " << ++metal << endl;
  110.  
  111. }
  112.  
  113. void gather_fuel() {
  114. // Symulacja zbierania paliwa
  115. cout << "Zbieranie paliwa. Aktualna ilość: " << ++fuel << endl;
  116. }
  117. void gather_food() {
  118. // Symulacja zbierania jedzenia
  119. cout << "Zbieranie jedzenia. Aktualna ilość: " << ++food << endl;
  120. }
  121. };
  122.  
  123. class Game
  124. {
  125.  
  126. public:
  127. // Atrybuty
  128. Hero hero;
  129. vector<Enemy> enemies;
  130. Resources resources;
  131.  
  132. // Konstruktor
  133. Game(Hero gameHero, vector<Enemy> gameEnemies, Resources gameResources) :
  134. hero(gameHero), enemies(gameEnemies), resources(gameResources) {}
  135.  
  136.  
  137.  
  138. // Metody
  139. void start_game()
  140. {
  141. // Rozpoczęcie gry
  142. cout << "Gra się rozpoczęła, powodzenia, " << hero.name << "!" << endl;
  143. }
  144.  
  145. void end_game()
  146. {
  147. // Zakończenie gry
  148. cout << "Koniec gry, dzięki za spróbowanie!" << endl;
  149. }
  150.  
  151. void battle()
  152. {
  153. // Symulacja walki
  154. cout << "Walka się zaczęła!" << endl;
  155. hero.attack();
  156. enemies[0].attack(); // Symulacja ataku pierwszego przeciwnika
  157. }
  158.  
  159. void show_menu()
  160. {
  161.  
  162. int choice;
  163. cout << "Witaj w Galactic Survivor!" << endl;
  164. cout << "1. Zacznij nową grę" << endl;
  165. cout << "0. Zakończ grę" << endl;
  166.  
  167. cout << "Wpisz swój wybór: ";
  168. cin >> choice;
  169.  
  170. switch (choice)
  171. {
  172. case 1:
  173. start_game();
  174. break;
  175.  
  176. case 0:
  177. end_game();
  178. break;
  179.  
  180. default:
  181. cout << "Nieprawidłowy wybór. Spróbuj ponownie." << endl;
  182. }
  183. }
  184.  
  185. void start_game() {
  186.  
  187. // Rozpoczęcie gry
  188. cout << "Gra się rozpoczęła, powodzenia, " << hero.name << "!" << endl;
  189. bool game;
  190.  
  191. while (game)
  192. {
  193. cout << "\n**************\n" << endl;
  194. cout << "Co byś chciał teraz zrobić?" << endl;
  195. cout << "1. Szukaj zasobów." << endl;
  196. cout << "2. Walka z przeciwnikiem." << endl;
  197. cout << "3. Spróbuj zbudować statek do domu." << endl;
  198. cout << "4. Sprawdź ekwipunek." << endl;
  199.  
  200.  
  201. cout << "Wpisz swój wybór: ";
  202.  
  203. int choice;
  204. int type;
  205.  
  206. cin >> choice;
  207.  
  208. cout << "\n**************\n" << endl;
  209.  
  210. switch (choice)
  211. {
  212. case 1:
  213. type = rand() % 3;
  214. switch (type)
  215. {
  216.  
  217. case 0:
  218. resources.gather_metal();
  219. break;
  220.  
  221. case 1:
  222.  
  223. resources.gather_fuel();
  224. break;
  225.  
  226. case 2:
  227. resources.gather_food();
  228. break;
  229. }
  230. break;
  231.  
  232. case 2:
  233. battle();
  234. break;
  235.  
  236. case 3:
  237. if (resources.fuel > 5 && resources.metal > 10)
  238. {
  239. cout << "Zbudowałeś statek do domu! Wygrałeś!" << endl;
  240. end_game();
  241. game = false;
  242. }
  243. else
  244. {
  245. cout << "Nie masz wystarczająco dużo zasobów by zbudować statek..." << endl;
  246. }
  247. break;
  248.  
  249. case 4:
  250. cout << "Sprawdzasz swój ekwipunek: " << endl;
  251. cout << resources.metal << " metalu " << endl;
  252. cout << resources.food << " jedzenia " << endl;
  253. cout << resources.fuel << " paliwa " << endl;
  254. break;
  255.  
  256.  
  257. default:
  258. cout << "Nieprawidłowy wybór. Spróbuj ponownie." << endl;
  259. }
  260. }
  261.  
  262. }
  263.  
  264.  
  265.  
  266. };
  267.  
  268.  
  269. int main()
  270. {
  271. // Stworzenie bohatera
  272. Hero hero("Adam", 100, 50, 30);
  273. // Stworzenie przeciwników
  274. vector<Enemy> enemies;
  275. enemies.push_back(Enemy("Kosmita", 40, 20));
  276. enemies.push_back(Enemy("Robot", 50, 25));
  277. // Stworzenie surowców
  278. Resources resources(0, 0, 0);
  279. // Stworzenie gry
  280. Game game(hero, enemies, resources);
  281. // Rozpoczęcie gry
  282. game.start_game();
  283. // Symulacja bitwy
  284. game.battle();
  285. // Zakończenie gry
  286. game.end_game();
  287. return 0;
  288. }
  289.  
  290.  
  291.  
  292.  
  293.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement