Advertisement
Elfik

Lol App

Feb 9th, 2017
287
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.28 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <conio.h>
  4. #include <Windows.h>
  5.  
  6. class champion {
  7. public:
  8.     std::string name;  // Nazwa bohatera
  9.     float hp;
  10.     float hp_g;
  11.     float hp_r;
  12.     float hp_r_g;
  13.     float mana;
  14.     float mana_g;
  15.     float mana_r;
  16.     float mana_r_g;
  17.     float range;
  18.     float ad;
  19.     float ad_g;
  20.     float as;
  21.     float as_g;
  22.     float armor;
  23.     float armor_g;
  24.     float mr;
  25.     float mr_g;
  26.     float ms;
  27.  
  28.     void assign(std::string pick)
  29.     {
  30.         if (pick == "ezreal")
  31.         {
  32.             name = "Ezreal";
  33.             hp = 484.4;     hp_g = 80;
  34.             hp_r = 6.4;     hp_r_g = 0.55;
  35.             mana = 360.6;   mana_g = 42;
  36.             mana_r = 8.09;  mana_r_g = 0.65;
  37.             ad = 55.66;     ad_g = 2.41;
  38.             as = 0.625;     as_g = 2.8;
  39.             armor = 21.88;  armor_g = 3.5;
  40.             mr = 30;        mr_g = 0;
  41.             ms = 325;       range = 550;
  42.         }
  43.         else if (pick == "leblanc")
  44.         {
  45.             name = "LeBlanc";
  46.             hp = 516;       hp_g = 80;
  47.             hp_r = 7.42;    hp_r_g = 0.55;
  48.             mana = 334;     mana_g = 50;
  49.             mana_r = 6;     mana_r_g = 0.8;
  50.             ad = 54.88;     ad_g = 3.5;
  51.             as = 0.625;     as_g = 1.4;
  52.             armor = 21.88;  armor_g = 3.5;
  53.             mr = 30;        mr_g = 0;
  54.             ms = 340;       range = 550;
  55.         }
  56.  
  57.         return;
  58.     }
  59. };
  60.  
  61. class menu {
  62.  
  63. private:
  64.     void cursor(int x, int y)
  65.     {
  66.         COORD pozycja = { x,y };
  67.         SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pozycja);
  68.         return;
  69.     }
  70.  
  71.     short key()
  72.     {
  73.         int k = _getch();
  74.         k = static_cast<int>(k);
  75.  
  76.         if (k == 224) //jeśli strzałki
  77.         {
  78.             k = _getch();  //która strzałka? 80-w dol, 72-w górę, 75-w lewo, 77-w prawo
  79.             k = static_cast<int>(k); // zamiana na typ int
  80.             return k;
  81.         }
  82.         return k;
  83.     }
  84.  
  85.     void clear(short x_min, short x_max, short y_min, short y_max)
  86.     {
  87.         for (short y = y_min; y <= y_max; y++)
  88.         {
  89.             for (short x = x_min; x <= x_max; x++)
  90.             {
  91.                 cursor(x, y);
  92.                 std::cout << " ";
  93.             }
  94.         }
  95.     }
  96.    
  97.     void clear(std::string opcja)
  98.     {
  99.         int x_min, x_max, y_min, y_max;
  100.  
  101.         if (opcja == "Blackboard")
  102.         {
  103.             x_min = 1;
  104.             x_max = 17;
  105.             y_min = 1;
  106.             y_max = 18;
  107.         }
  108.         else if (opcja == "Console")
  109.         {
  110.             x_min = 19;
  111.             x_max = 74;
  112.             y_min = 1;
  113.             y_max = 23;
  114.         }
  115.         else if (opcja == "Extra Menu")
  116.         {
  117.             x_min = 1;
  118.             x_max = 17;
  119.             y_min = 20;
  120.             y_max = 23;
  121.         }
  122.         else
  123.         {
  124.             return;
  125.         }
  126.  
  127.         for (short y = y_min; y <= y_max; y++)
  128.         {
  129.             for (short x = x_min; x <= x_max; x++)
  130.             {
  131.                 cursor(x, y);
  132.                 std::cout << " ";
  133.             }
  134.         }
  135.     }
  136.  
  137.     void frame()
  138.     {
  139.         using namespace std;
  140.  
  141.         for (short w = 1; w <= y_size; w++)
  142.         {
  143.             for (short z = 1; z <= x_size; z++)
  144.             {
  145.                 if (w == 1 && z == 1)
  146.                     cout << char(201);
  147.                 else if (w == y_size && z == 1)
  148.                     cout << char(200);
  149.                 else if (w == 1 && z == x_size)
  150.                     cout << char(187);
  151.                 else if (w == y_size && z == x_size)
  152.                     cout << char(188);
  153.  
  154.                 else if (w == 1 && z == x_size * 0.25)
  155.                     cout << char(203);
  156.                 else if (w == y_size && z == x_size * 0.25)
  157.                     cout << char(202);
  158.                 else if (w == y_size * 0.8 && z == 1)
  159.                     cout << char(204);
  160.                 else if (w == y_size * 0.8 && z == x_size * 0.25)
  161.                     cout << char(185);
  162.  
  163.                 else if (w == 1 || w == y_size || (w == y_size * 0.8 && z < x_size * 0.25))
  164.                     cout << char(205);
  165.                 else if (z == 1 || z == x_size || z == 0.25 * x_size)
  166.                     cout << char(186);
  167.                 else
  168.                     cout << " ";
  169.             }
  170.             cout << endl;
  171.         }
  172.     }
  173.  
  174.     void line()
  175.     {
  176.         for (short i = 19; i < 75; i++)
  177.         {
  178.             cursor(i, 2);
  179.             std::cout << "=";
  180.         }
  181.         return;
  182.     }
  183.  
  184.     int x_size = 76, y_size = 25;
  185.  
  186. public:
  187.     std::string mainOptions[3] = { "Bohater  ", "Przedmiot","Wyjscie  " };
  188.     std::string dispOptions[4] = {"Przedmiot","Runy     ","Specjalizacje","Wyjscie  "};
  189.     std::string data[9] = {"HP","HP Regen","Mana","Mana Regen","AD","AS","Armor","MResist","MSpeed"};
  190.     std::string champions[5] = { "Ezreal","Katarina","LeBlanc","Lulu","End" };
  191.    
  192.     void mainMenu()
  193.     {
  194.         using namespace std;
  195.  
  196.         frame();
  197.  
  198.         short pointer = 0;
  199.  
  200.         while (1)
  201.         {
  202.             for (short i = 0; i < 3; i++)
  203.             {
  204.                 cursor(2, y_size*0.8 + i);
  205.                 if (i == pointer)
  206.                 {
  207.                     cout << "> ";
  208.                 }
  209.                 else
  210.                 {
  211.                     cout << "  ";
  212.                 }
  213.  
  214.                 cout << mainOptions[i];
  215.             }
  216.  
  217.             short click = key();
  218.  
  219.             if (click == 72 && pointer != 0)
  220.             {
  221.                 pointer--;
  222.             }
  223.             else if (click == 80 && pointer != 2)
  224.             {
  225.                 pointer++;
  226.             }
  227.            
  228.             else if (click == 13)
  229.             {
  230.                 if (pointer == 0)
  231.                 {
  232.                     clear("Extra Menu");
  233.                     championMenu();
  234.                 }
  235.                 else if (pointer == 1)
  236.                 {
  237.                     continue;
  238.                 }
  239.                 else if (pointer == 2)
  240.                 {
  241.                     return;
  242.                 }
  243.             }
  244.  
  245.             else
  246.             {
  247.                 continue;
  248.             }
  249.         }
  250.         return;
  251.     }
  252.  
  253.     void displayMenu(std::string opcja)
  254.     {
  255.         using namespace std;
  256.  
  257.         clear("Console");
  258.         champion pick;
  259.         pick.assign(opcja);
  260.         cursor(20, 1);
  261.         cout << pick.name;
  262.         line();
  263.  
  264.         cursor(20, 4); cout << "HP: " << pick.hp    << " (+" << pick.hp_g << ")";
  265.         cursor(42, 4); cout << "HP Regen: " << pick.hp_r    << " (+" << pick.hp_r_g << ")";
  266.         cursor(20, 5); cout << "Mana: " << pick.mana  << " (+" << pick.mana_g << ")";
  267.         cursor(42, 5); cout << "Mana Regen: " << pick.mana_r<< " (+" << pick.mana_r_g << ")";
  268.         cursor(20, 6); cout << "AD: " << pick.ad    << " (+" << pick.ad_g << ")";
  269.         cursor(42, 6); cout << "AS: " << pick.as    << " (+" << pick.as_g << "%)";
  270.         cursor(20, 7); cout << "Armor: " << pick.armor  << " (+" << pick.armor_g << ")";
  271.         cursor(42, 7); cout << "MR " << pick.mr << " (+" << pick.mr_g << ")";
  272.         cursor(20, 8); cout << "Range: " << pick.range;
  273.         cursor(42, 8); cout << "MS: " << pick.ms;
  274.  
  275.         short pointer = 0;
  276.  
  277.         while (1)
  278.         {
  279.             for (short i = 0; i < 4; i++)
  280.             {
  281.                 cursor(2, y_size*0.8 + i);
  282.                 if (i == pointer)
  283.                 {
  284.                     cout << "> ";
  285.                 }
  286.                 else
  287.                 {
  288.                     cout << "  ";
  289.                 }
  290.  
  291.                 cout << dispOptions[i];
  292.             }
  293.  
  294.             short click = key();
  295.  
  296.             if (click == 72 && pointer != 0)
  297.             {
  298.                 pointer--;
  299.             }
  300.             else if (click == 80 && pointer != 3)
  301.             {
  302.                 pointer++;
  303.             }
  304.  
  305.             else if (click == 13)
  306.             {
  307.                 if (pointer == 0)
  308.                 {
  309.                     continue;
  310.                 }
  311.                 else if (pointer == 1)
  312.                 {
  313.                     continue;
  314.                 }
  315.                 else if (pointer == 2)
  316.                 {
  317.                     continue;
  318.                 }
  319.                 else if (pointer == 3)
  320.                 {
  321.                     clear("Console");
  322.                     clear("Extra Menu");
  323.                     return;
  324.                 }
  325.             }
  326.  
  327.             else
  328.             {
  329.                 continue;
  330.             }
  331.         }
  332.  
  333.     }
  334.  
  335.     void championMenu()
  336.     {
  337.         using namespace std;
  338.  
  339.         short p_x = 0, p_y = 0;
  340.  
  341.         while (1)
  342.         {
  343.  
  344.             int lb = 0;
  345.             for (int i = 0; ; i++)
  346.             {
  347.                 if (champions[i] == "End")
  348.                 {
  349.                     break;
  350.                 }
  351.                 else
  352.                 {
  353.                     lb++;
  354.                 }
  355.             }
  356.  
  357.             cursor(20, 1);
  358.             cout << "Lista bohaterow: " << lb << endl;
  359.  
  360.             line();
  361.  
  362.             for (short i = 0; i < lb; i++)
  363.             {
  364.                 cursor(19, 3 + i);
  365.  
  366.                 if (p_y == i)
  367.                 {
  368.                     cout << "> ";
  369.                 }
  370.                 else
  371.                 {
  372.                     cout << "  ";
  373.                 }
  374.  
  375.                 cout << champions[i] << endl;
  376.             }
  377.            
  378.             short click = key();
  379.  
  380.             if (click == 72 && p_y != 0)
  381.             {
  382.                 p_y--;
  383.             }
  384.             else if (click == 80 && p_y != lb-1)
  385.             {
  386.                 p_y++;
  387.             }
  388.  
  389.             else if (click == 13)
  390.             {
  391.                 if (p_y == 0)
  392.                 {
  393.                     displayMenu("ezreal");
  394.                     continue;
  395.                 }
  396.                 else if (p_y == 1)
  397.                 {
  398.                     return;
  399.                 }
  400.                 else if (p_y == 2)
  401.                 {
  402.                     displayMenu("leblanc");
  403.                     continue;
  404.                 }
  405.                 else if (p_y == 3)
  406.                 {
  407.                     return;
  408.                 }
  409.             }
  410.  
  411.             else
  412.             {
  413.                 continue;
  414.             }
  415.         }
  416.        
  417.  
  418.         return;
  419.     }
  420.  
  421. };
  422.  
  423. int main()
  424. {
  425.     using namespace std;
  426.  
  427.     menu start;
  428.     start.mainMenu();
  429.  
  430.     return 0;
  431. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement