Advertisement
Guest User

.cpp

a guest
Aug 30th, 2015
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 13.03 KB | None | 0 0
  1. #include <iostream>
  2. #include "headlines.h"
  3. #include <time.h>
  4. #include <cstdlib>
  5. #include <stdio.h>
  6. #include <windows.h>
  7. #include <conio.h>
  8.  
  9. using namespace std;
  10.  
  11. void Heroes::lvl_up(Player * obj)
  12. {
  13.     Menu_Game menu;
  14.  
  15.     static int counter = 1;
  16.     int *pointer_array_lvl = new int[counter];
  17.     pointer_array_lvl[0] = 50;
  18.  
  19.     if(counter-1 == 1)
  20.     {
  21.         for(int i = 1; i <= counter-1; i++)
  22.         {
  23.             pointer_array_lvl[i] = pointer_array_lvl[i-1]*2 + pointer_array_lvl[i-1];
  24.         }
  25.     }
  26.     else if(counter > 1)
  27.     {
  28.         for(int i = 2; i <= counter-1; i++)
  29.         {
  30.             pointer_array_lvl[i] = pointer_array_lvl[i-2]*2 + pointer_array_lvl[i-1]*2;
  31.         }
  32.     }
  33.  
  34.     for(int j = counter-1; j < counter; j++)
  35.     {
  36.         if(obj -> _experience >= pointer_array_lvl[j])
  37.         {
  38.             cout << endl << endl << "LVL UP!!!!!";
  39.             obj -> _lvl = (j+2);
  40.             obj -> _strength += 10;
  41.             obj -> _const_HP += 20;
  42.  
  43.             counter++;
  44.             break;
  45.         }
  46.     }
  47.  
  48.     menu.nr_index = counter;
  49.  
  50.     cout << "W funkcji: " << menu.nr_index;
  51.     getchar();getchar();
  52.  
  53.     delete pointer_array_lvl;
  54.  
  55.     menu.lvl_up_bot(&menu);
  56. }
  57.  
  58. void Menu_Game::lvl_up_bot(Menu_Game * obj)
  59. {
  60.     _const_HP_bot = new int[nr_index];
  61.     _const_strength_bot = new int[nr_index];
  62.     _const_lvl_bot = new int[nr_index];
  63.  
  64.     cout << nr_index;
  65.  
  66.     getchar();getchar();
  67.  
  68.     if(nr_index == 1)
  69.     {
  70.         _const_HP_bot[0] = 0;
  71.         _const_strength_bot[0] = 0;
  72.         _const_lvl_bot[0] = 0;
  73.  
  74.         max_i = 0;
  75.     }
  76.     else if(nr_index == 2)
  77.     {
  78.         _const_HP_bot[1] = 20;
  79.         _const_strength_bot[1] = 10;
  80.         _const_lvl_bot[1] = 1;
  81.  
  82.         max_i = 1;
  83.     }
  84.     else if(nr_index > 2)
  85.     {
  86.         for(int i = 2; i < nr_index; i++)
  87.         {
  88.             _const_HP_bot[i] =  _const_HP_bot[i-1] +  _const_HP_bot[i-2];
  89.             _const_strength_bot[i] =  _const_strength_bot[i-1] +  _const_strength_bot[i-2];
  90.             _const_lvl_bot[i] =  _const_lvl_bot[i-1] +  1;
  91.  
  92.             max_i = i;
  93.         }
  94.     }
  95.  
  96.     _const_HP_b = _const_HP_bot[max_i];
  97.     _const_strength_b = _const_strength_bot[max_i];
  98.     _const_lvl_b = _const_lvl_bot[max_i];
  99.  
  100.     delete [] _const_HP_bot;
  101.     delete [] _const_strength_bot;
  102.     delete [] _const_lvl_bot;
  103. }
  104.  
  105. void Menu_Game::random_enemy()
  106. {
  107.     srand(time(NULL));
  108.     int random_number = rand()%3;
  109.  
  110.     if(random_number == 0)
  111.     {
  112.         Warrior war;
  113.  
  114.         name = war._name;
  115.         HP = war._HP;
  116.         strength = war._strength;
  117.         specialization = spec(war._specialization);
  118.         lvl = war._lvl;
  119.     }
  120.     else if(random_number == 1)
  121.     {
  122.         Wizard wiz;
  123.  
  124.         name = wiz._name;
  125.         HP = wiz._HP;
  126.         strength = wiz._strength;
  127.         specialization = spec(wiz._specialization);
  128.         lvl = wiz._lvl;
  129.     }
  130.     else if(random_number == 2)
  131.     {
  132.         Archer arch;
  133.  
  134.         name = arch._name;
  135.         HP = arch._HP;
  136.         strength = arch._strength;
  137.         specialization = spec(arch._specialization);
  138.         lvl = arch._lvl;
  139.     }
  140. }
  141.  
  142. void Menu_Game::system_figth(Player * obj)
  143. {
  144.     Heroes hero;
  145.     hero.lvl_up(obj);
  146.     Menu_Game menu;
  147.  
  148.     system("cls");
  149.  
  150.     random_enemy();
  151.  
  152.    cout << _const_HP_b << endl;
  153.     cout <<  _const_strength_b << endl;
  154.     cout << _const_lvl_b << endl;
  155.  
  156.     getchar();getchar();
  157.  
  158.     HP += _const_HP_b;
  159.     strength += _const_strength_b;
  160.     lvl +=  _const_lvl_b;
  161.  
  162.     int counter;
  163.     int percent = 90;
  164.     char choose;
  165.  
  166.     srand(time(NULL));
  167.  
  168.     int random_number = rand()%9+1;
  169.  
  170.     if((random_number == 1) || (random_number == 3) || (random_number == 5) || (random_number == 7) || (random_number == 9))
  171.     {
  172.         counter = 1;
  173.     }
  174.     else if((random_number == 2) || (random_number == 4) || (random_number == 6) || (random_number == 8) || (random_number == 10))
  175.     {
  176.         counter = 2;
  177.     }
  178.  
  179.     while(true)
  180.     {
  181.         srand(time(NULL));
  182.         int plus_minus_random_number = rand()%20-10;
  183.         srand(time(NULL));
  184.         int miss_random_number = rand()%10+1;
  185.  
  186.         cout << "   " << obj -> _name << "\t" << "\t" << name << endl;
  187.         cout << "   " << spec(obj -> _specialization) << "\t" << "\t" << specialization << endl;
  188.         cout << "   Lvl: " << obj -> _lvl << "\t" << "\t" << "Lvl: " << lvl << endl << endl;
  189.         cout << "   " << obj -> _HP << "\t" << "\t" <<  "\t" << HP << endl << endl;
  190.  
  191.         Sleep(1000);
  192.  
  193.         if(counter == 1)
  194.         {
  195.             if(obj -> _HP < obj -> _const_HP/2)
  196.             {
  197.               if(obj -> _my_heals > 0)
  198.               {
  199.                    cout << endl << endl << "Do you want use heal?        pieces: " << obj -> _my_heals;
  200.                    cout << endl << endl;
  201.                    cout << "1. Use" << endl;
  202.                    cout << "2. NO" << endl << endl;
  203.  
  204.                    choose = getch();
  205.  
  206.                    switch(choose)
  207.                    {
  208.                    case '1':
  209.                         {
  210.                             obj -> _HP += 30;
  211.                             obj -> _my_heals -= 1;
  212.                             cout << "   HP: +30" << endl << endl;
  213.                             break;
  214.                         }
  215.                    case '2':
  216.                         {
  217.                             break;
  218.                         }
  219.                    }
  220.                }
  221.             }
  222.             if(specialization == "Warrior")
  223.             {
  224.                 if((miss_random_number == 1) || (miss_random_number == 2) || (miss_random_number == 4) || (miss_random_number == 5) || (miss_random_number == 6) || (miss_random_number == 7) ||(miss_random_number == 8) ||  (miss_random_number == 9) || (miss_random_number == 10))
  225.                 {
  226.                     cout << "   Asks blow" << "\t" << "\t" << "-" << obj -> _strength - plus_minus_random_number;
  227.                     if((obj -> _strength - plus_minus_random_number) > ((obj -> _strength*percent)/70))
  228.                     {
  229.                             cout << "   CRITICAL";
  230.                     }
  231.                     HP -= obj -> _strength - plus_minus_random_number;
  232.  
  233.                     Sleep(1500);
  234.                 }
  235.                 else if(miss_random_number == 3)
  236.                 {
  237.                     cout << "   Asks blow" << "\t" << "\t" << "MISS" << endl;
  238.                     Sleep(1500);
  239.                 }
  240.             }
  241.             else if(specialization == "Wizard")
  242.             {
  243.                 if((miss_random_number == 1) || (miss_random_number == 2) || (miss_random_number == 4) || (miss_random_number == 6) || (miss_random_number == 7) ||(miss_random_number == 8) ||  (miss_random_number == 9) || (miss_random_number == 10))
  244.                 {
  245.                     cout << "   Asks blow" << "\t" << "\t" << "-" << obj -> _strength - plus_minus_random_number;
  246.                     if((obj -> _strength - plus_minus_random_number) > ((obj -> _strength*percent)/70))
  247.                     {
  248.                             cout << "   CRITICAL";
  249.                     }
  250.                     HP -= obj -> _strength - plus_minus_random_number;
  251.  
  252.                     Sleep(1500);
  253.                 }
  254.                 else if((miss_random_number == 3) || (miss_random_number == 5))
  255.                 {
  256.                     cout << "   Asks blow" << "\t" << "\t" << "MISS" << endl;
  257.                     Sleep(1500);
  258.                 }
  259.             }
  260.             else if(specialization == "Archer")
  261.             {
  262.                 if((miss_random_number == 1) || (miss_random_number == 2) || (miss_random_number == 4) || (miss_random_number == 6) || (miss_random_number == 7) || (miss_random_number == 9) || (miss_random_number == 10))
  263.                 {
  264.                     cout << "   Asks blow" << "\t" << "\t" << "-" << obj -> _strength - plus_minus_random_number;
  265.                     if((obj -> _strength - plus_minus_random_number) > ((obj -> _strength*percent)/70))
  266.                     {
  267.                             cout << "   CRITICAL";
  268.                     }
  269.                     HP -= obj -> _strength - plus_minus_random_number;
  270.  
  271.                     Sleep(1500);
  272.                 }
  273.                 else if((miss_random_number == 3) || (miss_random_number == 5) || (miss_random_number == 8))
  274.                 {
  275.                     cout << "   Asks blow" << "\t" << "\t" << "MISS" << endl;
  276.                     Sleep(1500);
  277.                 }
  278.             }
  279.         }
  280.         else if(counter == 2)
  281.         {
  282.             if(spec(obj -> _specialization) == "Warrior")
  283.             {
  284.                 if((miss_random_number == 1) || (miss_random_number == 2) || (miss_random_number == 4) || (miss_random_number == 5) || (miss_random_number == 6) || (miss_random_number == 7) ||(miss_random_number == 8) ||  (miss_random_number == 9) || (miss_random_number == 10))
  285.                 {
  286.                     cout << "   -" << strength - plus_minus_random_number << "\t" << "\t" << "\t" <<  "Asks blow";
  287.                     if((strength - plus_minus_random_number) > ((strength*percent)/70))
  288.                     {
  289.                             cout << "   CRITICAL";
  290.                     }
  291.                     obj -> _HP -= strength - plus_minus_random_number;
  292.  
  293.                     Sleep(1500);
  294.                 }
  295.                 else if(miss_random_number == 3)
  296.                 {
  297.                     cout << "   MISS" << "\t" << "\t" << "\t" << "Asks blow" << endl;
  298.                     Sleep(1500);
  299.                 }
  300.             }
  301.             else if(spec(obj -> _specialization) == "Wizard")
  302.             {
  303.                 if((miss_random_number == 1) || (miss_random_number == 2) || (miss_random_number == 4) || (miss_random_number == 6) || (miss_random_number == 7) ||(miss_random_number == 8) ||  (miss_random_number == 9) || (miss_random_number == 10))
  304.                 {
  305.                     cout << "   -" << strength - plus_minus_random_number << "\t" << "\t" << "\t" <<  "Asks blow";
  306.                     if((strength - plus_minus_random_number) > ((strength*percent)/70))
  307.                     {
  308.                             cout << "   CRITICAL";
  309.                     }
  310.                     obj -> _HP -= strength - plus_minus_random_number;
  311.  
  312.                     Sleep(1500);
  313.                 }
  314.                 else if((miss_random_number == 3) || (miss_random_number == 5))
  315.                 {
  316.                     cout << "   MISS" << "\t" << "\t" << "\t" << "Asks blow" << endl;
  317.                     Sleep(1500);
  318.                 }
  319.             }
  320.             else if(spec(obj -> _specialization) == "Archer")
  321.             {
  322.                 if((miss_random_number == 1) || (miss_random_number == 2) || (miss_random_number == 4) || (miss_random_number == 6) || (miss_random_number == 7) || (miss_random_number == 9) || (miss_random_number == 10))
  323.                 {
  324.                     cout << "   -" << strength - plus_minus_random_number << "\t" << "\t" << "\t" <<  "Asks blow";
  325.                     if((strength - plus_minus_random_number) > ((strength*percent)/70))
  326.                     {
  327.                             cout << "   CRITICAL";
  328.                     }
  329.                     obj -> _HP -= strength - plus_minus_random_number;
  330.  
  331.                     Sleep(1500);
  332.                 }
  333.                 else if((miss_random_number == 3) || (miss_random_number == 5) || (miss_random_number == 8))
  334.                 {
  335.                     cout << "   MISS" << "\t" << "\t" << "\t" << "Asks blow" << endl;
  336.                     Sleep(1500);
  337.                 }
  338.             }
  339.         }
  340.  
  341.         if(counter == 2)
  342.         {
  343.             counter = 0;
  344.         }
  345.         counter++;
  346.  
  347.         if(obj -> _HP <= 0)
  348.         {
  349.             system("cls");
  350.  
  351.             cout << "   " << obj -> _name << "\t" << "\t" << name << endl;
  352.             cout << "   " << spec(obj -> _specialization) << "\t" << "\t" << specialization << endl << endl;
  353.             cout << "   " << obj -> _HP << "\t" << "\t" <<  "\t" << HP << endl << endl;
  354.  
  355.             cout << endl << endl << endl << "   LOSE" << "\t" << "\t" << "WINNER" << endl << endl;
  356.             cout << endl << endl << "You get experience: " << 0;
  357.             if(obj -> _HP < 0)
  358.             {
  359.                 obj -> _HP = 0;
  360.             }
  361.             getchar();getchar();
  362.             break;
  363.         }
  364.         else if(HP <= 0)
  365.         {
  366.             system("cls");
  367.  
  368.             cout << "   " << obj -> _name << "\t" << "\t" << name << endl;
  369.             cout << "   " << spec(obj -> _specialization) << "\t" << "\t" << specialization << endl << endl;
  370.             cout << "   " << obj -> _HP << "\t" << "\t" <<  "\t" << HP << endl << endl;
  371.  
  372.             cout << endl << endl << endl <<  "   WINNER" << "\t" << "\t" << "LOSE" << endl << endl;
  373.             cout << endl << endl << "You get experience: " << 30 << endl;
  374.             cout << "You get coins: " << 50;
  375.             obj -> _experience += 30;
  376.             obj -> _coins += 50;
  377.             hero.lvl_up(obj);
  378.             getchar();getchar();
  379.             break;
  380.         }
  381.         system("cls");
  382.     }
  383.  
  384. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement