Advertisement
Guest User

Untitled

a guest
Sep 9th, 2017
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.80 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <time.h>
  4.  
  5. class Building;
  6.  
  7. class Player
  8. {
  9. protected:
  10.  
  11.     int iWood;
  12.     int iGold;
  13.     int iStone;
  14.     int iNumOfPosGM;
  15.     int iNumOfPosSM;
  16.     char cChoice;
  17.     int* gM;
  18.     int* sM;
  19.     int* cHu;
  20.  
  21. public:
  22.  
  23.     Player(int d = 1000, int z = 10, int k = 1000, int kZ = 0, int iMKZ = 0, int iMK = 3, int ch = '0')
  24.     {
  25.  
  26.         iWood = d;
  27.         iGold = z;
  28.         iStone = k;
  29.         iNumOfPosGM = iMKZ;
  30.         iNumOfPosSM = iMK;
  31.         cChoice = ch;
  32.  
  33.     }
  34.  
  35.     void showMenu()
  36.     {
  37.  
  38.         std::cout << "1. Odkryj nowe tereny" << std::endl;
  39.         std::cout << "2. Wybuduj kopalnie zlota" << std::endl;
  40.         std::cout << "3. Wybuduj kopalnie kamienia" << std::endl;
  41.         std::cout << "4. Wybuduj chate drwala" << std::endl;
  42.         std::cout << "5. Ulepsz kopalnie zlota" << std::endl;
  43.         std::cout << "6. Ulepsz kopalnie kamienia" << std::endl;
  44.         std::cout << "7. Ulepsz chate drwala" << std::endl;
  45.  
  46.     }
  47.  
  48.     void showResult()
  49.     {
  50.  
  51.         std::cout << "Masz " << iGold << " zlota," << iWood << " drewna i " << iStone << " kamienia.";
  52.  
  53.     }
  54.  
  55.     void askForDec(Building b)
  56.     {
  57.  
  58.         std::cin >> choice;
  59.         switch(choice)
  60.         {
  61.  
  62.         case '2':
  63.         {
  64.  
  65.             //TODO: Kod odpowiedzialny za stworzenie nowej kopalni zlota
  66.  
  67.         }
  68.  
  69.         case '3':
  70.         {
  71.  
  72.             //TODO: Kod odpowiedzialny za stworzenie nowej kopalni kamienia
  73.  
  74.         }
  75.         case '4':
  76.         {
  77.  
  78.             //TODO: Kod odpowiedzialny za stworzenie nowej chaty drwala
  79.  
  80.         }
  81.         case '5':
  82.         {
  83.  
  84.             b -> GoldMine.lvl++;
  85.  
  86.         }
  87.         case '6':
  88.         {
  89.  
  90.             b -> StoneMine.lvl++;
  91.  
  92.         }
  93.         case '7':
  94.         {
  95.  
  96.             b -> ChopperHut.lvl++;
  97.  
  98.         }
  99.         default:
  100.         {
  101.  
  102.             exit(0);
  103.  
  104.         }
  105.  
  106.     }
  107.  
  108. };
  109.  
  110.  
  111.  
  112. class Building :public Player
  113. {
  114. protected:
  115.     float fEffeciency;
  116.     int iLvl;
  117.     float fModifier;
  118.  
  119.  
  120. public:
  121.     Building(float e = 1, int l = 1, float m = 0)
  122.     {
  123.  
  124.         fEffeciency = e;
  125.         iLvl = l;
  126.         fModifier = m;
  127.  
  128.     }
  129.  
  130.     virtual void get() = 0;
  131.  
  132. };
  133.  
  134. class GoldMine :public Building
  135. {
  136. public:
  137.  
  138.     void get()
  139.     {
  140.  
  141.         fModifier = ( ( std::rand()*125 ) +25 ) / 100;
  142.         Player::iGold += fEffeciency * fModifier;
  143.  
  144.     }
  145.  
  146.  
  147. };
  148.  
  149. class StoneMine :public Building
  150. {
  151.  
  152. public:
  153.  
  154.     void get()
  155.     {
  156.  
  157.         fModifier = ( ( std::rand()*125 ) +25 ) / 100;
  158.         Player::iStone += fEffeciency * fModifier;
  159.  
  160.     }
  161.  
  162.  
  163. };
  164.  
  165. class ChopperHut :public Building
  166. {
  167.  
  168. public:
  169.  
  170.     void get()
  171.     {
  172.  
  173.         fModifier = ( ( std::rand()*125 ) +25 ) / 100;
  174.         Player::iWood += fEffeciency*fModifier;
  175.  
  176.     }
  177.  
  178.  
  179. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement