Advertisement
Guest User

.cpp

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