Momir

Zmijica 4

May 3rd, 2020
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 77.95 KB | None | 0 0
  1. #include <windows.h>
  2. #include <iostream>
  3. #include <stdio.h>
  4. #include <fcntl.h>
  5. #include <thread>
  6. #include <random>
  7. #include <queue>
  8. #include <mutex>
  9. #include <io.h>
  10. #include "resource.h"
  11. #pragma comment(lib, "winmm")
  12. #pragma warning(disable: 6031)
  13.  
  14. #define IVICAU               10
  15. #define IVICAR               38
  16. #define IVICAL               10
  17. #define IVICAD               20
  18.  
  19. #define GLAVAS             L'■'
  20. #define GLAVAG             L'▀'
  21. #define GLAVAD             L'▄'
  22. #define TELOX              L'━'
  23. #define TELOY              L'┃'
  24. #define TELO1              L'┏'
  25. #define TELO2              L'┓'
  26. #define TELO3              L'┛'
  27. #define TELO4              L'┗'
  28. #define TELODX             L'═'
  29. #define TELODY             L'║'
  30. #define TELOD1             L'╔'
  31. #define TELOD2             L'╗'
  32. #define TELOD3             L'╝'
  33. #define TELOD4             L'╚'
  34. #define NIŠTA              L' '
  35.  
  36. #define PRAZNO                0
  37. #define TELO                  1
  38. #define TELOD                 2
  39. #define HRANA                 4
  40. #define NAGRADA               5
  41.  
  42. #define B0                    1
  43. #define B1                    2
  44. #define B2                    3
  45. #define B3                    4
  46. #define B4                    5
  47. #define B5                    6
  48. #define B6                    7
  49. #define B7                    8
  50. #define B8                    9
  51. #define B9                   10
  52. #define LINL                 11
  53. #define LINR                 12
  54. #define SLUS                 13
  55. #define ESC                  14
  56. #define UP                   15
  57. #define RIGHT                16
  58. #define DOWN                 17
  59. #define LEFT                 18
  60. #define ENTER                19
  61. #define MUTE                 20
  62. #define SPEED                21
  63.  
  64. #define DGM                   0
  65. #define SRO                   0
  66. #define RAM                  10
  67. #define RAMO                  0
  68. #define TAST                  7
  69. #define TASTT                12
  70. #define TASTO                 2
  71. #define NOKIA                 8
  72. #define EKRAN                11
  73. #define EKRANO                0
  74. #define EKRAN1                9
  75. #define EKRAN2                6
  76. #define LINIJAC               3
  77. #define LINIJAP              15
  78. #define SLUSALICAZ           13
  79. #define SLUSALICAC           14
  80.  
  81. #define XX(x) ((x)-(9))
  82. #define YY(y) ((y)-(10))
  83. #define XXX(x) ((x)+(9))
  84. #define YYY(y) ((y)+(10))
  85. #define color(a, b) (SetConsoleTextAttribute(ConsoleOutputHandle, 16 * (b) + (a)))
  86. #define underline() (wcout << L"\033[4m")
  87.  
  88. using namespace std;
  89.  
  90. HANDLE ConsoleOutputHandle = GetStdHandle(STD_OUTPUT_HANDLE);
  91. HANDLE ConsoleInputHandle = GetStdHandle(STD_INPUT_HANDLE);
  92. mutex mtx;
  93. //bool kraj = false, isteklovreme = false, mute = false;
  94.  
  95. int smer = 0;
  96. int score = 0;
  97. int tabla[31][11];
  98. wstring hrana = L"¥҈☼₷֍ᴥ✶₷҉֏•֎₷";
  99. vector<COORD> zmija;
  100. vector<int> input;
  101. queue<wchar_t> prosireni;
  102. bool unos = true, klik = false, interupt = false, mousewait = false, keyboardwait = false;
  103.  
  104. void MouseInput();
  105. void KeyboardInput();
  106. void SakriKursor();
  107. void gotoxy(int, int);
  108. //void Mute();
  109. void CentrirajKonzolu();
  110. void PodesiKonzolu();
  111. void PrintNokia();
  112. void Animacija();
  113. void PrintConsole();
  114. void Init();
  115. void Hrana();
  116. void ScorePlus(int);
  117.  
  118. int main() {
  119.     //SetConsoleCtrlHandler((PHANDLER_ROUTINE)EXIT, TRUE);
  120.     //thread muz(Muzika);
  121.     //muz.detach();
  122.     //Slika(1);
  123.     PodesiKonzolu();
  124.     //thread mut(Mute);
  125.     //mut.detach();
  126.     PrintNokia();
  127.     //Animacija();     
  128.  
  129.     thread mouse(MouseInput);
  130.     thread keyboard(KeyboardInput);
  131.     mouse.detach();
  132.     keyboard.detach();
  133.  
  134.     //thread th([]() {
  135.     //  while (true) {
  136.     //      mtx.lock();
  137.     //      color(0, 8);
  138.     //      gotoxy(0, 0);
  139.     //      wcout << zmija.size() << L"     ";
  140.     //      mtx.unlock();
  141.     //      Sleep(1);
  142.     //  }});
  143.     //th.detach();
  144.  
  145.     //thread th2([]() {
  146.     //  while (true) {
  147.     //      mtx.lock();
  148.     //      color(0, 8);
  149.     //      gotoxy(0, 1);
  150.     //      for (int i = 0; i < 11; i++) {
  151.     //          for (int j = 0; j < 31; j++)
  152.     //              if (!tabla[j][i])
  153.     //                  wcout << L".";
  154.     //              else
  155.     //                  wcout << tabla[j][i];
  156.     //          wcout << endl;
  157.     //      }
  158.     //      mtx.unlock();
  159.     //      Sleep(1);
  160.     //  }});
  161.     //th2.detach();
  162.  
  163.     while (true) {
  164.         PrintConsole();
  165.         Init();
  166.         int speed = 100;
  167.         int smer = RIGHT;
  168.         int smerold = RIGHT;
  169.         Hrana();
  170.         while (true) {
  171.             bool preskoci = false;
  172.             clock_t begin = clock();
  173.             clock_t current;
  174.             do {
  175.                 if ((input[0] == B2 || input[0] == UP) && smerold != DOWN && smerold != UP)
  176.                     smer = UP;
  177.                 else if ((input[0] == B6 || input[0] == RIGHT) && smerold != LEFT && smerold != RIGHT)
  178.                     smer = RIGHT;
  179.                 else if ((input[0] == B4 || input[0] == LEFT) && smerold != RIGHT && smerold != LEFT)
  180.                     smer = LEFT;
  181.                 else if ((input[0] == B8 || input[0] == B0 || input[0] == DOWN) && smerold != UP && smerold != DOWN)
  182.                     smer = DOWN;
  183.                 Sleep(1);
  184.                 current = (clock() - begin) / (CLOCKS_PER_SEC / 1000);
  185.             } while (((smerold == RIGHT || smerold == LEFT) && (current < speed)) || ((smerold == UP || smerold == DOWN) && (current < speed)));
  186.  
  187.             if (tabla[XX(zmija[1].X)][YY(zmija[1].Y)] == TELOD && !prosireni.empty()) {
  188.                 mtx.lock();
  189.                 color(EKRANO, EKRAN);
  190.                 gotoxy(zmija[1].X, zmija[1].Y);
  191.                 wcout << prosireni.front();
  192.                 prosireni.pop();
  193.                 mtx.unlock();
  194.                 tabla[XX(zmija[1].X)][YY(zmija[1].Y)] = TELO;
  195.             }
  196.             else if (tabla[XX(zmija[2].X)][YY(zmija[2].Y)] == TELOD && (zmija[2].Y == zmija[3].Y || zmija[2].Y == zmija[1].Y) && !prosireni.empty()) {
  197.                 mtx.lock();
  198.                 color(EKRANO, EKRAN);
  199.                 gotoxy(zmija[2].X, zmija[2].Y);
  200.                 wcout << prosireni.front();
  201.                 prosireni.pop();
  202.                 mtx.unlock();
  203.                 tabla[XX(zmija[2].X)][YY(zmija[2].Y)] = TELO;
  204.             }
  205.             else if (tabla[XX(zmija[0].X)][YY(zmija[0].Y)] == TELOD && !prosireni.empty()) {
  206.                 mtx.lock();
  207.                 color(EKRANO, EKRAN);
  208.                 gotoxy(zmija[0].X, zmija[0].Y);
  209.                 wcout << prosireni.front();
  210.                 prosireni.pop();
  211.                 mtx.unlock();
  212.                 tabla[XX(zmija[0].X)][YY(zmija[0].Y)] = TELO;
  213.             }
  214.             if (smer == UP) {
  215.                 if ((zmija.back().Y == IVICAU && (tabla[XX(zmija.back().X)][YY(IVICAD)] == TELO || tabla[XX(zmija.back().X)][YY(IVICAD)] == TELOD)) || (zmija.back().Y != IVICAU && (tabla[XX(zmija.back().X)][YY(zmija.back().Y - 1)] == TELO || tabla[XX(zmija.back().X)][YY(zmija.back().Y - 1)] == TELOD)))
  216.                     break;  //crko
  217.                 mtx.lock();
  218.                 color(EKRANO, EKRAN);
  219.                 gotoxy(zmija.back().X, zmija.back().Y);
  220.                 if (tabla[XX(zmija.back().X)][YY(zmija.back().Y)] == TELOD) {
  221.                     if (smerold == UP) {
  222.                         wcout << TELODY;
  223.                         prosireni.push(TELOY);
  224.                     }
  225.                     else if (smerold == LEFT) {
  226.                         wcout << TELOD4;
  227.                         prosireni.push(TELO4);
  228.                     }
  229.                     else if (smerold == RIGHT) {
  230.                         wcout << TELOD3;
  231.                         prosireni.push(TELO3);
  232.                     }
  233.                 }
  234.                 else {
  235.                     if (smerold == UP)
  236.                         wcout << TELOY;
  237.                     else if (smerold == LEFT)
  238.                         wcout << TELO4;
  239.                     else if (smerold == RIGHT)
  240.                         wcout << TELO3;
  241.                     tabla[XX(zmija.back().X)][YY(zmija.back().Y)] = TELO;
  242.                 }
  243.                 mtx.unlock();
  244.                 if (zmija.back().Y == IVICAU) {
  245.                     mtx.lock();
  246.                     color(EKRANO, EKRAN);
  247.                     gotoxy(zmija.back().X, IVICAD);
  248.                     wcout << GLAVAD;
  249.                     mtx.unlock();
  250.                     if (tabla[XX(zmija.back().X)][YY(IVICAD)] == HRANA) {
  251.                         tabla[XX(zmija.back().X)][YY(IVICAD)] = TELOD;
  252.                         Hrana();
  253.                         ScorePlus(10);
  254.                         preskoci = true;
  255.                     }
  256.                     else
  257.                         tabla[XX(zmija.back().X)][YY(IVICAD)] = TELO;
  258.                     zmija.push_back({ zmija.back().X, IVICAD });
  259.                 }
  260.                 else {
  261.                     mtx.lock();
  262.                     color(EKRANO, EKRAN);
  263.                     gotoxy(zmija.back().X, zmija.back().Y - 1);
  264.                     wcout << GLAVAD;
  265.                     mtx.unlock();
  266.                     if (tabla[XX(zmija.back().X)][YY(zmija.back().Y - 1)] == HRANA) {
  267.                         tabla[XX(zmija.back().X)][YY(zmija.back().Y - 1)] = TELOD;
  268.                         Hrana();
  269.                         ScorePlus(10);
  270.                         preskoci = true;
  271.                     }
  272.                     else
  273.                         tabla[XX(zmija.back().X)][YY(zmija.back().Y - 1)] = TELO;
  274.                     zmija.push_back({ zmija.back().X, zmija.back().Y - 1 });
  275.                 }
  276.             }
  277.             else if (smer == RIGHT) {
  278.                 if ((zmija.back().X == IVICAR && (tabla[XX(IVICAL)][YY(zmija.back().Y)] == TELO || tabla[XX(IVICAL)][YY(zmija.back().Y)] == TELOD)) || (zmija.back().X != IVICAR && (tabla[XX(zmija.back().X + 2)][YY(zmija.back().Y)] == TELO || tabla[XX(zmija.back().X + 2)][YY(zmija.back().Y)] == TELOD)))
  279.                     break;  //crko
  280.                 mtx.lock();
  281.                 color(EKRANO, EKRAN);
  282.                 gotoxy(zmija.back().X, zmija.back().Y);
  283.                 if (tabla[XX(zmija.back().X)][YY(zmija.back().Y)] == TELOD) {
  284.                     if (smerold == RIGHT) {
  285.                         wcout << TELODX;
  286.                         prosireni.push(TELOX);
  287.                     }
  288.                     else if (smerold == UP) {
  289.                         wcout << TELOD1;
  290.                         prosireni.push(TELO1);
  291.                     }
  292.                     else if (smerold == DOWN) {
  293.                         wcout << TELOD4;
  294.                         prosireni.push(TELO4);
  295.                     }
  296.                 }
  297.                 else {
  298.                     if (smerold == RIGHT)
  299.                         wcout << TELOX;
  300.                     else if (smerold == UP)
  301.                         wcout << TELO1;
  302.                     else if (smerold == DOWN)
  303.                         wcout << TELO4;
  304.                     tabla[XX(zmija.back().X)][YY(zmija.back().Y)] = TELO;
  305.                 }
  306.                 mtx.unlock();
  307.                 if (zmija.back().X == IVICAR) {
  308.                     mtx.lock();
  309.                     color(EKRANO, EKRAN);
  310.                     gotoxy(IVICAL, zmija.back().Y);
  311.                     wcout << GLAVAS;
  312.                     mtx.unlock();
  313.                     if (tabla[XX(IVICAL)][YY(zmija.back().Y)] == HRANA) {
  314.                         tabla[XX(IVICAL)][YY(zmija.back().Y)] = TELOD;
  315.                         Hrana();
  316.                         ScorePlus(10);
  317.                         preskoci = true;
  318.                     }
  319.                     else
  320.                         tabla[XX(IVICAL)][YY(zmija.back().Y)] = TELO;
  321.                     zmija.push_back({ IVICAL, zmija.back().Y });
  322.                 }
  323.                 else {
  324.                     mtx.lock();
  325.                     color(EKRANO, EKRAN);
  326.                     gotoxy(zmija.back().X + 1, zmija.back().Y);
  327.                     wcout << TELOX;
  328.                     gotoxy(zmija.back().X + 2, zmija.back().Y);
  329.                     wcout << GLAVAS;
  330.                     mtx.unlock();
  331.                     if (tabla[XX(zmija.back().X + 2)][YY(zmija.back().Y)] == HRANA) {
  332.                         tabla[XX(zmija.back().X + 2)][YY(zmija.back().Y)] = TELOD;
  333.                         Hrana();
  334.                         ScorePlus(10);
  335.                         preskoci = true;
  336.                     }
  337.                     else
  338.                         tabla[XX(zmija.back().X + 2)][YY(zmija.back().Y)] = TELO;
  339.                     tabla[XX(zmija.back().X + 1)][YY(zmija.back().Y)] = TELO;
  340.                     zmija.push_back({ zmija.back().X + 1, zmija.back().Y });
  341.                     zmija.push_back({ zmija.back().X + 1, zmija.back().Y });
  342.                 }
  343.             }
  344.             else if (smer == LEFT) {
  345.                 if ((zmija.back().X == IVICAL && (tabla[XX(IVICAR)][YY(zmija.back().Y)] == TELO || tabla[XX(IVICAR)][YY(zmija.back().Y)] == TELOD)) || (zmija.back().X != IVICAL && (tabla[XX(zmija.back().X - 2)][YY(zmija.back().Y)] == TELO || tabla[XX(zmija.back().X - 2)][YY(zmija.back().Y)] == TELOD)))
  346.                     break;  //crko
  347.                 mtx.lock();
  348.                 color(EKRANO, EKRAN);
  349.                 gotoxy(zmija.back().X, zmija.back().Y);
  350.                 if (tabla[XX(zmija.back().X)][YY(zmija.back().Y)] == TELOD) {
  351.                     if (smerold == LEFT) {
  352.                         wcout << TELODX;
  353.                         prosireni.push(TELOX);
  354.                     }
  355.                     else if (smerold == UP) {
  356.                         wcout << TELOD2;
  357.                         prosireni.push(TELO2);
  358.                     }
  359.                     else if (smerold == DOWN) {
  360.                         wcout << TELOD3;
  361.                         prosireni.push(TELO3);
  362.                     }
  363.                 }
  364.                 else {
  365.                     if (smerold == LEFT)
  366.                         wcout << TELOX;
  367.                     else if (smerold == UP)
  368.                         wcout << TELO2;
  369.                     else if (smerold == DOWN)
  370.                         wcout << TELO3;
  371.                     tabla[XX(zmija.back().X)][YY(zmija.back().Y)] = TELO;
  372.                 }
  373.                 mtx.unlock();
  374.                 if (zmija.back().X == IVICAL) {
  375.                     mtx.lock();
  376.                     color(EKRANO, EKRAN);
  377.                     gotoxy(IVICAR, zmija.back().Y);
  378.                     wcout << GLAVAS;
  379.                     mtx.unlock();
  380.                     if (tabla[XX(IVICAR)][YY(zmija.back().Y)] == HRANA) {
  381.                         tabla[XX(IVICAR)][YY(zmija.back().Y)] = TELOD;
  382.                         Hrana();
  383.                         ScorePlus(10);
  384.                         preskoci = true;
  385.                     }
  386.                     else
  387.                         tabla[XX(IVICAR)][YY(zmija.back().Y)] = TELO;
  388.                     zmija.push_back({ IVICAR, zmija.back().Y });
  389.                 }
  390.                 else {
  391.                     mtx.lock();
  392.                     color(EKRANO, EKRAN);
  393.                     gotoxy(zmija.back().X - 1, zmija.back().Y);
  394.                     wcout << TELOX;
  395.                     gotoxy(zmija.back().X - 2, zmija.back().Y);
  396.                     wcout << GLAVAS;
  397.                     mtx.unlock();
  398.                     if (tabla[XX(zmija.back().X - 2)][YY(zmija.back().Y)] == HRANA) {
  399.                         tabla[XX(zmija.back().X - 2)][YY(zmija.back().Y)] = TELOD;
  400.                         Hrana();
  401.                         ScorePlus(10);
  402.                         preskoci = true;
  403.                     }
  404.                     else
  405.                         tabla[XX(zmija.back().X - 2)][YY(zmija.back().Y)] = TELO;
  406.                     tabla[XX(zmija.back().X - 1)][YY(zmija.back().Y)] = TELO;
  407.                     zmija.push_back({ zmija.back().X - 1, zmija.back().Y });
  408.                     zmija.push_back({ zmija.back().X - 1, zmija.back().Y });
  409.                 }
  410.             }
  411.             else if (smer == DOWN) {
  412.                 if ((zmija.back().Y == IVICAD && (tabla[XX(zmija.back().X)][YY(IVICAU)] == TELO || tabla[XX(zmija.back().X)][YY(IVICAU)] == TELOD)) || (zmija.back().Y != IVICAD && (tabla[XX(zmija.back().X)][YY(zmija.back().Y + 1)] == TELO || tabla[XX(zmija.back().X)][YY(zmija.back().Y + 1)] == TELOD)))
  413.                     break;  //crko
  414.                 mtx.lock();
  415.                 color(EKRANO, EKRAN);
  416.                 gotoxy(zmija.back().X, zmija.back().Y);
  417.                 if (tabla[XX(zmija.back().X)][YY(zmija.back().Y)] == TELOD) {
  418.                     if (smerold == DOWN) {
  419.                         wcout << TELODY;
  420.                         prosireni.push(TELOY);
  421.                     }
  422.                     else if (smerold == LEFT) {
  423.                         wcout << TELOD1;
  424.                         prosireni.push(TELO1);
  425.                     }
  426.                     else if (smerold == RIGHT) {
  427.                         wcout << TELOD2;
  428.                         prosireni.push(TELO2);
  429.                     }
  430.                 }
  431.                 else {
  432.                     if (smerold == DOWN)
  433.                         wcout << TELOY;
  434.                     else if (smerold == LEFT)
  435.                         wcout << TELO1;
  436.                     else if (smerold == RIGHT)
  437.                         wcout << TELO2;
  438.                     tabla[XX(zmija.back().X)][YY(zmija.back().Y)] = TELO;
  439.                 }
  440.                 mtx.unlock();
  441.                 if (zmija.back().Y == IVICAD) {
  442.                     mtx.lock();
  443.                     color(EKRANO, EKRAN);
  444.                     gotoxy(zmija.back().X, IVICAU);
  445.                     wcout << GLAVAG;
  446.                     mtx.unlock();
  447.                     if (tabla[XX(zmija.back().X)][YY(IVICAU)] == HRANA) {
  448.                         tabla[XX(zmija.back().X)][YY(IVICAU)] = TELOD;
  449.                         Hrana();
  450.                         ScorePlus(10);
  451.                         preskoci = true;
  452.                     }
  453.                     else
  454.                         tabla[XX(zmija.back().X)][YY(IVICAU)] = TELO;
  455.                     zmija.push_back({ zmija.back().X, IVICAU });
  456.                 }
  457.                 else {
  458.                     mtx.lock();
  459.                     color(EKRANO, EKRAN);
  460.                     gotoxy(zmija.back().X, zmija.back().Y + 1);
  461.                     wcout << GLAVAG;
  462.                     mtx.unlock();
  463.                     if (tabla[XX(zmija.back().X)][YY(zmija.back().Y + 1)] == HRANA) {
  464.                         tabla[XX(zmija.back().X)][YY(zmija.back().Y + 1)] = TELOD;
  465.                         Hrana();
  466.                         ScorePlus(10);
  467.                         preskoci = true;
  468.                     }
  469.                     else
  470.                         tabla[XX(zmija.back().X)][YY(zmija.back().Y + 1)] = TELO;
  471.                     zmija.push_back({ zmija.back().X, zmija.back().Y + 1 });
  472.                 }
  473.             }
  474.             if (!preskoci) {
  475.                 mtx.lock();
  476.                 color(EKRANO, EKRAN);
  477.                 gotoxy(zmija[0].X, zmija[0].Y);
  478.                 wcout << NIŠTA;
  479.                 mtx.unlock();
  480.                 tabla[XX(zmija[0].X)][YY(zmija[0].Y)] = PRAZNO;
  481.                 if (zmija[0].Y == zmija[1].Y && zmija[1].X != IVICAL && zmija[1].X != IVICAR) {
  482.                     mtx.lock();
  483.                     color(EKRANO, EKRAN);
  484.                     gotoxy(zmija[1].X, zmija[1].Y);
  485.                     wcout << NIŠTA;
  486.                     mtx.unlock();
  487.                     tabla[XX(zmija[1].X)][YY(zmija[1].Y)] = PRAZNO;
  488.                     zmija.erase(zmija.begin());
  489.                 }
  490.                 zmija.erase(zmija.begin());
  491.             }
  492.             smerold = smer;
  493.         }
  494.         mtx.lock();
  495.         color(EKRANO, EKRAN);
  496.         underline();
  497.         gotoxy(28, 8);
  498.         wcout << L"GAME OVER";
  499.         mtx.unlock();
  500.         Sleep(500);
  501.         while (!input[0])Sleep(1);
  502.     }
  503.  
  504.     Sleep(99999999);
  505.     return 0;
  506. }
  507.  
  508. void ScorePlus(int value) {
  509.     score += value;
  510.     mtx.lock();
  511.     color(EKRANO, EKRAN);
  512.     underline();
  513.     gotoxy(12, 8);  wcout << score / 1000 << L" " << (score % 1000) / 100 << L" " << (score % 100) / 10 << L" " << score % 10;
  514.     mtx.unlock();
  515. }
  516.  
  517. int random(int start, int end) {
  518.     random_device rnd;
  519.     mt19937 mt(rnd());
  520.     uniform_int_distribution<mt19937::result_type> rang(start, end);
  521.     return rang(mt);
  522. }
  523.  
  524. void Hrana() {
  525.     while (true) {
  526.         int x = random(0, 29);
  527.         int y = random(0, 10);
  528.         if (!tabla[x][y] && x % 2) {
  529.             tabla[x][y] = HRANA;
  530.             mtx.lock();
  531.             color(EKRANO, EKRAN);
  532.             gotoxy(XXX(x), YYY(y));
  533.             wcout << hrana[random(0, hrana.size() - 1)];
  534.             mtx.unlock();
  535.             break;
  536.         }
  537.     }
  538. }
  539.  
  540. void Init() {
  541.     for (int i = 0; i < 31; i++)
  542.         for (int j = 0; j < 11; j++)
  543.             tabla[i][j] = PRAZNO;
  544.  
  545.     //tabla[3][5] = TELO;
  546.     //tabla[4][5] = TELO;
  547.     tabla[5][5] = TELO;
  548.     tabla[6][5] = TELO;
  549.     tabla[7][5] = TELO;
  550.     tabla[8][5] = TELO;
  551.     tabla[9][5] = TELO;
  552.     tabla[10][5] = TELO;
  553.     tabla[11][5] = TELO;
  554.     tabla[12][5] = TELO;
  555.     tabla[13][5] = TELO;
  556.     tabla[14][5] = TELO;
  557.     tabla[15][5] = TELO;
  558.     zmija.clear();
  559.     //zmija.push_back({ 12, 15 });
  560.     //zmija.push_back({ 13, 15 });
  561.     zmija.push_back({ 14, 15 });
  562.     zmija.push_back({ 15, 15 });
  563.     zmija.push_back({ 16, 15 });
  564.     zmija.push_back({ 17, 15 });
  565.     zmija.push_back({ 18, 15 });
  566.     zmija.push_back({ 19, 15 });
  567.     zmija.push_back({ 20, 15 });
  568.     zmija.push_back({ 21, 15 });
  569.     zmija.push_back({ 22, 15 });
  570.     zmija.push_back({ 23, 15 });
  571.     zmija.push_back({ 24, 15 });
  572.     input.clear();
  573.     input.insert(input.begin(), 0);
  574.     prosireni = queue<wchar_t>();
  575.     score = 0;
  576. }
  577.  
  578. void PrintConsole() {
  579.     mtx.lock();
  580.     color(EKRANO, EKRAN);
  581.     underline();
  582.     gotoxy(8, 8);  wcout << L"    0 0 0 0                      ";
  583.     color(EKRANO, EKRAN);
  584.     gotoxy(8, 9);  wcout << L"┌───────────────────────────────┐";
  585.     gotoxy(8, 10); wcout << L"│                               │";
  586.     gotoxy(8, 11); wcout << L"│                               │";
  587.     gotoxy(8, 12); wcout << L"│                               │";
  588.     gotoxy(8, 13); wcout << L"│                               │";
  589.     gotoxy(8, 14); wcout << L"│                               │";
  590.     gotoxy(8, 15); wcout << L"│     ━━━━━━━━━━■               │";
  591.     gotoxy(8, 16); wcout << L"│                               │";
  592.     gotoxy(8, 17); wcout << L"│                               │";
  593.     gotoxy(8, 18); wcout << L"│                               │";
  594.     gotoxy(8, 19); wcout << L"│                               │";
  595.     gotoxy(8, 20); wcout << L"│                               │";
  596.     gotoxy(8, 21); wcout << L"└───────────────────────────────┘";
  597.  
  598.     SakriKursor();
  599.     mtx.unlock();
  600.     /*
  601.      ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  602.      ┃                           ┃
  603.      ┃    ▄                      ┃
  604.      ┃    ┃                      ┃
  605.      ┃    ┃                      ┃
  606.      ┃    ║                      ┃
  607.      ┃    ┃                      ┃
  608.      ┃    ┗━━═━━■                ┃
  609.      ┃                           ┃
  610.      ┃                           ┃
  611.      ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  612.  
  613.     */
  614.  
  615.     // ⌂  \033[4;143;37m sdsd \033[0m        ▀■▄━┃═║┏┓┗┛╔╗╚╝           ♠♣♥♦  ☼✶₷҈҉
  616. }
  617.  
  618. void PrintNokia() {
  619.     mtx.lock();
  620.     color(RAMO, RAM);
  621.     gotoxy(2, 1);  wcout << L"╭──┬─────────────────────────────────────┬──╮";
  622.     gotoxy(2, 1);  wcout << L"│  │                                     │  │";
  623.     gotoxy(2, 2);  wcout << L"│  │                                     │  │";
  624.     gotoxy(2, 3);  wcout << L"│  │                ▀▀▀▀▀                │  │";
  625.     gotoxy(2, 4);  wcout << L"│  │                                     │  │";
  626.     gotoxy(2, 5);  wcout << L"│  │                                     │  │";
  627.     gotoxy(2, 6);  wcout << L"│  │              N O K I A              │  │";
  628.     gotoxy(2, 7);  wcout << L"│  │                                     │  │";
  629.     gotoxy(2, 8);  wcout << L"│  │                                     │  │";
  630.     gotoxy(2, 9);  wcout << L"│  │                                     │  │";
  631.     gotoxy(2, 10); wcout << L"│  │                                     │  │";
  632.     gotoxy(2, 11); wcout << L"│  │                                     │  │";
  633.     gotoxy(2, 12); wcout << L"│  │                                     │  │";
  634.     gotoxy(2, 13); wcout << L"│  │                                     │  │";
  635.     gotoxy(2, 14); wcout << L"│  │                                     │  │";
  636.     gotoxy(2, 15); wcout << L"│  │                                     │  │";
  637.     gotoxy(2, 16); wcout << L"│  │                                     │  │";
  638.     gotoxy(2, 17); wcout << L"│  │                                     │  │";
  639.     gotoxy(2, 18); wcout << L"│  │                                     │  │";
  640.     gotoxy(2, 19); wcout << L"│  │                                     │  │";
  641.     gotoxy(2, 20); wcout << L"│  │                                     │  │";
  642.     gotoxy(2, 21); wcout << L"│  │                                     │  │";
  643.     gotoxy(2, 22); wcout << L"│  │                                     │  │";
  644.     gotoxy(2, 23); wcout << L"│  ├─────────────────────────────────────┤  │";
  645.     gotoxy(2, 24); wcout << L"│  │           ╭─────────────╮           │  │";
  646.     gotoxy(2, 25); wcout << L"│  │    ━━━    │      ▲      │    ━━━    │  │";
  647.     gotoxy(2, 26); wcout << L"│  ├───────────┤ ◄         ► ├───────────┤  │";
  648.     gotoxy(2, 27); wcout << L"│  │     C     │      ▼      │     ₵     │  │";
  649.     gotoxy(2, 28); wcout << L"│  │           ╰─────────────╯           │  │";
  650.     gotoxy(2, 29); wcout << L"│  ├────────────┬───────────┬────────────┤  │";
  651.     gotoxy(2, 30); wcout << L"│  │      1     │     2     │     3      │  │";
  652.     gotoxy(2, 31); wcout << L"│  ├────────────┼───────────┼────────────┤  │";
  653.     gotoxy(2, 32); wcout << L"│  │      4     │     5     │     6      │  │";
  654.     gotoxy(2, 33); wcout << L"│  ├────────────┼───────────┼────────────┤  │";
  655.     gotoxy(2, 34); wcout << L"│  │      7     │     8     │     9      │  │";
  656.     gotoxy(2, 35); wcout << L"│  ├────────────┼───────────┼────────────┤  │";
  657.     gotoxy(2, 36); wcout << L"│  │      *     │     0     │     #      │  │";
  658.     gotoxy(2, 37); wcout << L"│  │      +     │     ˽     │     ♪      │  │";
  659.     gotoxy(2, 38); wcout << L"│  ╰────────────┴───────────┴────────────╯  │";
  660.     gotoxy(2, 39); wcout << L"│                                           │";
  661.     gotoxy(2, 40); wcout << L"│                                           │";
  662.     gotoxy(2, 41); wcout << L"╰───────────────────────────────────────────╯";
  663.  
  664.     color(SRO, EKRAN2);
  665.     gotoxy(5, 1);  wcout << L"┬─────────────────────────────────────┬";
  666.     gotoxy(5, 1);  wcout << L"│                                     │";
  667.     gotoxy(5, 2);  wcout << L"│                                     │";
  668.     gotoxy(5, 3);  wcout << L"│                ▀▀▀▀▀                │";
  669.     gotoxy(5, 4);  wcout << L"│                                     │";
  670.     gotoxy(5, 5);  wcout << L"│                                     │";
  671.     gotoxy(5, 6);  wcout << L"│              N O K I A              │";
  672.     gotoxy(5, 7);  wcout << L"│                                     │";
  673.     gotoxy(5, 8);  wcout << L"│                                     │";
  674.     gotoxy(5, 9);  wcout << L"│                                     │";
  675.     gotoxy(5, 10); wcout << L"│                                     │";
  676.     gotoxy(5, 11); wcout << L"│                                     │";
  677.     gotoxy(5, 12); wcout << L"│                                     │";
  678.     gotoxy(5, 13); wcout << L"│                                     │";
  679.     gotoxy(5, 14); wcout << L"│                                     │";
  680.     gotoxy(5, 15); wcout << L"│                                     │";
  681.     gotoxy(5, 16); wcout << L"│                                     │";
  682.     gotoxy(5, 17); wcout << L"│                                     │";
  683.     gotoxy(5, 18); wcout << L"│                                     │";
  684.     gotoxy(5, 19); wcout << L"│                                     │";
  685.     gotoxy(5, 20); wcout << L"│                                     │";
  686.     gotoxy(5, 21); wcout << L"│                                     │";
  687.     gotoxy(5, 22); wcout << L"│                                     │";
  688.     gotoxy(5, 23); wcout << L"├─────────────────────────────────────┤";
  689.  
  690.     color(SRO, TAST);
  691.     gotoxy(5, 24); wcout << L"│           ╭─────────────╮           │";
  692.     gotoxy(5, 25); wcout << L"│    ━━━    │      ▲      │    ━━━    │";
  693.     gotoxy(5, 26); wcout << L"├───────────┤ ◄         ► ├───────────┤";
  694.     gotoxy(5, 27); wcout << L"│     C     │      ▼      │     ₵     │";
  695.     gotoxy(5, 28); wcout << L"│           ╰─────────────╯           │";
  696.     gotoxy(5, 29); wcout << L"├────────────┬───────────┬────────────┤";
  697.     gotoxy(5, 30); wcout << L"│      1     │     2     │     3      │";
  698.     gotoxy(5, 31); wcout << L"├────────────┼───────────┼────────────┤";
  699.     gotoxy(5, 32); wcout << L"│      4     │     5     │     6      │";
  700.     gotoxy(5, 33); wcout << L"├────────────┼───────────┼────────────┤";
  701.     gotoxy(5, 34); wcout << L"│      7     │     8     │     9      │";
  702.     gotoxy(5, 35); wcout << L"├────────────┼───────────┼────────────┤";
  703.     gotoxy(5, 36); wcout << L"│      *     │     0     │     #      │";
  704.     gotoxy(5, 37); wcout << L"│      +     │     ˽     │     ♪      │";
  705.     gotoxy(5, 38); wcout << L"╰────────────┴───────────┴────────────╯";
  706.  
  707.     color(NOKIA, EKRAN1);
  708.     gotoxy(6, 5);  wcout << L"                                     ";
  709.     gotoxy(6, 6);  wcout << L"              N O K I A              ";
  710.     gotoxy(6, 7);  wcout << L"                                     ";
  711.     gotoxy(6, 8);  wcout << L"                                     ";
  712.     gotoxy(6, 9);  wcout << L"                                     ";
  713.     gotoxy(6, 10); wcout << L"                                     ";
  714.     gotoxy(6, 11); wcout << L"                                     ";
  715.     gotoxy(6, 12); wcout << L"                                     ";
  716.     gotoxy(6, 13); wcout << L"                                     ";
  717.     gotoxy(6, 14); wcout << L"                                     ";
  718.     gotoxy(6, 15); wcout << L"                                     ";
  719.     gotoxy(6, 16); wcout << L"                                     ";
  720.     gotoxy(6, 17); wcout << L"                                     ";
  721.     gotoxy(6, 18); wcout << L"                                     ";
  722.     gotoxy(6, 19); wcout << L"                                     ";
  723.     gotoxy(6, 20); wcout << L"                                     ";
  724.     gotoxy(6, 21); wcout << L"                                     ";
  725.     gotoxy(6, 22); wcout << L"                                     ";
  726.  
  727.     color(TASTO, TAST);
  728.     gotoxy(6, 24); wcout << L"           ╭─────────────╮           ";
  729.     gotoxy(6, 25); wcout << L"    ━━━    │      ▲      │    ━━━    ";
  730.     gotoxy(6, 26); wcout << L"───────────┤ ◄         ► ├───────────";
  731.     gotoxy(6, 27); wcout << L"     C     │      ▼      │     ₵     ";
  732.     gotoxy(6, 28); wcout << L"           ╰─────────────╯           ";
  733.     gotoxy(6, 29); wcout << L"────────────┬───────────┬────────────";
  734.     gotoxy(6, 30); wcout << L"      1     │     2     │     3      ";
  735.     gotoxy(6, 31); wcout << L"────────────┼───────────┼────────────";
  736.     gotoxy(6, 32); wcout << L"      4     │     5     │     6      ";
  737.     gotoxy(6, 33); wcout << L"────────────┼───────────┼────────────";
  738.     gotoxy(6, 34); wcout << L"      7     │     8     │     9      ";
  739.     gotoxy(6, 35); wcout << L"────────────┼───────────┼────────────";
  740.     gotoxy(6, 36); wcout << L"      *     │     0     │     #      ";
  741.     gotoxy(6, 37); wcout << L"      +     │     ˽     │     ♪      ";
  742.  
  743.  
  744.     color(LINIJAC, EKRAN2);
  745.     gotoxy(22, 3);  wcout << L"▀▀▀▀▀";
  746.  
  747.     color(DGM, TAST);
  748.     gotoxy(12, 30); wcout << L"1";
  749.     gotoxy(12, 32); wcout << L"4";
  750.     gotoxy(12, 34); wcout << L"7";
  751.     gotoxy(12, 36); wcout << L"*";
  752.     gotoxy(12, 37); wcout << L"+";
  753.  
  754.     gotoxy(24, 30); wcout << L"2";
  755.     gotoxy(24, 32); wcout << L"5";
  756.     gotoxy(24, 34); wcout << L"8";
  757.     gotoxy(24, 36); wcout << L"0";
  758.     gotoxy(24, 37); wcout << L"˽";
  759.  
  760.     gotoxy(36, 30); wcout << L"3";
  761.     gotoxy(36, 32); wcout << L"6";
  762.     gotoxy(36, 34); wcout << L"9";
  763.     gotoxy(36, 36); wcout << L"#";
  764.     gotoxy(36, 37); wcout << L"♪";
  765.  
  766.     color(LINIJAP, TAST);
  767.     gotoxy(10, 25); wcout << L"━━━";
  768.     gotoxy(36, 25); wcout << L"━━━";
  769.  
  770.     color(SLUSALICAZ, TAST);
  771.     gotoxy(11, 27); wcout << L"C";
  772.  
  773.     color(SLUSALICAC, TAST);
  774.     gotoxy(37, 27); wcout << L"₵";
  775.  
  776.     color(EKRANO, EKRAN);
  777.     gotoxy(7, 8);  wcout << L"                                   ";
  778.     gotoxy(7, 9);  wcout << L"                                   ";
  779.     gotoxy(7, 10); wcout << L"                                   ";
  780.     gotoxy(7, 11); wcout << L"                                   ";
  781.     gotoxy(7, 12); wcout << L"                                   ";
  782.     gotoxy(7, 13); wcout << L"                                   ";
  783.     gotoxy(7, 14); wcout << L"                                   ";
  784.     gotoxy(7, 15); wcout << L"                                   ";
  785.     gotoxy(7, 16); wcout << L"                                   ";
  786.     gotoxy(7, 17); wcout << L"                                   ";
  787.     gotoxy(7, 18); wcout << L"                                   ";
  788.     gotoxy(7, 19); wcout << L"                                   ";
  789.     gotoxy(7, 20); wcout << L"                                   ";
  790.     gotoxy(7, 21); wcout << L"                                   ";
  791.  
  792.     //gotoxy(7, 8);  wcout << L"                                   ";
  793.     //gotoxy(7, 9);  wcout << L"                                   ";
  794.     //gotoxy(7, 10); wcout << L"                ▄                  ";
  795.     //gotoxy(7, 11); wcout << L"                ┃                  ";
  796.     //gotoxy(7, 12); wcout << L"                ┃                  ";
  797.     //gotoxy(7, 13); wcout << L"                ║                  ";
  798.     //gotoxy(7, 14); wcout << L"                ┃                  ";
  799.     //gotoxy(7, 15); wcout << L"                ┗━━═━━■            ";
  800.     //gotoxy(7, 16); wcout << L"                                   ";
  801.     //gotoxy(7, 17); wcout << L"                                   ";
  802.     //gotoxy(7, 18); wcout << L"              ☼✶₷҈҉                ";
  803.     //gotoxy(7, 19); wcout << L"              ♠♣♥♦                 ";
  804.     //gotoxy(7, 20); wcout << L"          ▀■▄━┃═║┏┓┗┛╔╗╚╝          ";
  805.     //gotoxy(7, 21); wcout << L"                                   ";
  806.  
  807.     SakriKursor();
  808.     mtx.unlock();
  809.     // ⌂  \033[4;143;37m sdsd \033[0m        ▀■▄━┃═║┏┓┗┛╔╗╚╝           ♠♣♥♦  ☼✶₷҈҉
  810. }
  811.  
  812. void CentrirajKonzolu() {
  813.     RECT rectClient, rectWindow;
  814.     HWND hWnd = GetConsoleWindow();
  815.     GetClientRect(hWnd, &rectClient);
  816.     GetWindowRect(hWnd, &rectWindow);
  817.     int posx, posy;
  818.     posx = GetSystemMetrics(SM_CXSCREEN) / 2 - (rectWindow.right - rectWindow.left) / 2;
  819.     posy = GetSystemMetrics(SM_CYSCREEN) / 2 - (rectWindow.bottom - rectWindow.top) / 2;
  820.  
  821.     SetWindowPos(GetConsoleWindow(), HWND_TOP, posx, posy, 0, 0, SWP_NOSIZE);
  822. }
  823.  
  824. void PodesiKonzolu() {
  825.     ios_base::sync_with_stdio(false);
  826.     _setmode(_fileno(stdout), _O_U16TEXT);
  827.     _setmode(_fileno(stdin), _O_U16TEXT);
  828.  
  829.     SetConsoleTitleW(L"Snake");
  830.     HWND consoleWindow = GetConsoleWindow();
  831.     SetWindowLongW(consoleWindow, GWL_STYLE, GetWindowLongW(consoleWindow, GWL_STYLE) & ~WS_MAXIMIZEBOX & ~WS_SIZEBOX & ~WS_VSCROLL);
  832.     SetConsoleMode(ConsoleInputHandle, ENABLE_EXTENDED_FLAGS);
  833.  
  834.     _CONSOLE_SCREEN_BUFFER_INFOEX info;
  835.     info.cbSize = sizeof(info);
  836.     GetConsoleScreenBufferInfoEx(ConsoleOutputHandle, &info);
  837.     info.dwSize = { 49, 43 };
  838.     info.ColorTable[0] = RGB(0, 0, 0);
  839.     info.ColorTable[1] = RGB(32, 32, 32);
  840.     info.ColorTable[2] = RGB(64, 64, 64);
  841.     info.ColorTable[3] = RGB(96, 96, 96);
  842.     info.ColorTable[4] = RGB(128, 128, 128);
  843.     info.ColorTable[5] = RGB(160, 160, 160);
  844.     info.ColorTable[6] = RGB(192, 192, 192);
  845.     info.ColorTable[7] = RGB(224, 224, 224);
  846.     info.ColorTable[8] = RGB(255, 255, 255);
  847.  
  848.     info.ColorTable[12] = RGB(210, 210, 210);
  849.  
  850.     info.ColorTable[9] = RGB(135, 135, 135);
  851.  
  852.     info.ColorTable[10] = RGB(40, 75, 123);
  853.     info.ColorTable[11] = RGB(163, 165, 35);
  854.  
  855.     info.ColorTable[13] = RGB(5, 136, 65);
  856.     info.ColorTable[14] = RGB(230, 9, 22);
  857.     info.ColorTable[15] = RGB(36, 127, 183);
  858.     SetConsoleScreenBufferInfoEx(ConsoleOutputHandle, &info);
  859.     system("MODE 49, 43");
  860.  
  861.     CONSOLE_FONT_INFOEX infof = { 0 };
  862.     infof.cbSize = sizeof(infof);
  863.     infof.dwFontSize.X = 6;
  864.     infof.dwFontSize.Y = 16;
  865.     infof.FontWeight = FW_NORMAL;
  866.     wcscpy_s(infof.FaceName, 32, L"Consolas");
  867.     SetCurrentConsoleFontEx(ConsoleOutputHandle, NULL, &infof);
  868.  
  869.     DWORD tmp;
  870.     FillConsoleOutputAttribute(ConsoleOutputHandle, 136, 49 * 43, { 0, 0 }, &tmp);
  871.  
  872.     CentrirajKonzolu();
  873.     CentrirajKonzolu();
  874. }
  875.  
  876. void SakriKursor() {
  877.     CONSOLE_CURSOR_INFO info;
  878.     info.dwSize = 100;
  879.     info.bVisible = FALSE;
  880.     SetConsoleCursorInfo(ConsoleOutputHandle, &info);
  881. }
  882.  
  883. void gotoxy(int x, int y) {
  884.     COORD coord;
  885.     coord.X = x;
  886.     coord.Y = y;
  887.     SetConsoleCursorPosition(ConsoleOutputHandle, coord);
  888. }
  889.  
  890. void KeyboardInput() {
  891.     while (true) {
  892.         if (GetAsyncKeyState(VK_UP) && !count(input.begin(), input.end(), UP)) {
  893.             input.insert(input.begin(), UP);
  894.             thread th(KeyboardInput);
  895.             th.detach();
  896.             mtx.lock();
  897.             color(TASTO, TASTT);
  898.             gotoxy(21, 25); wcout << L"   ▲   ";
  899.             mtx.unlock();
  900.  
  901.             while (GetAsyncKeyState(VK_UP))Sleep(1);
  902.  
  903.             mtx.lock();
  904.             color(TASTO, TAST);
  905.             gotoxy(21, 25); wcout << L"   ▲   ";
  906.             mtx.unlock();
  907.             input.erase(remove(input.begin(), input.end(), UP), input.end());
  908.             break;
  909.         }
  910.         else if ((GetAsyncKeyState('W') || GetAsyncKeyState('2') || GetAsyncKeyState(VK_NUMPAD8)) && !count(input.begin(), input.end(), B2)) {
  911.             input.insert(input.begin(), B2);
  912.             thread th(KeyboardInput);
  913.             th.detach();
  914.             mtx.lock();
  915.             color(DGM, TASTT);
  916.             gotoxy(20, 30); wcout << L"    2    ";
  917.             mtx.unlock();
  918.  
  919.             while (GetAsyncKeyState('W') || GetAsyncKeyState('2') || GetAsyncKeyState(VK_NUMPAD8))Sleep(1);
  920.  
  921.             mtx.lock();
  922.             color(DGM, TAST);
  923.             gotoxy(20, 30); wcout << L"    2    ";
  924.             mtx.unlock();
  925.             input.erase(remove(input.begin(), input.end(), B2), input.end());
  926.             break;
  927.         }
  928.         else if (GetAsyncKeyState(VK_LEFT) && !count(input.begin(), input.end(), LEFT)) {
  929.             input.insert(input.begin(), LEFT);
  930.             thread th(KeyboardInput);
  931.             th.detach();
  932.             mtx.lock();
  933.             color(TASTO, TASTT);
  934.             gotoxy(18, 25); wcout << L"   ";
  935.             gotoxy(18, 26); wcout << L" ◄ ";
  936.             gotoxy(18, 27); wcout << L"   ";
  937.             mtx.unlock();
  938.  
  939.             while (GetAsyncKeyState(VK_LEFT))Sleep(1);
  940.  
  941.             mtx.lock();
  942.             color(TASTO, TAST);
  943.             gotoxy(18, 25); wcout << L"   ";
  944.             gotoxy(18, 26); wcout << L" ◄ ";
  945.             gotoxy(18, 27); wcout << L"   ";
  946.             mtx.unlock();
  947.             input.erase(remove(input.begin(), input.end(), LEFT), input.end());
  948.             break;
  949.         }
  950.         else if ((GetAsyncKeyState('A') || GetAsyncKeyState('4') || GetAsyncKeyState(VK_NUMPAD4)) && !count(input.begin(), input.end(), B4)) {
  951.             input.insert(input.begin(), B4);
  952.             thread th(KeyboardInput);
  953.             th.detach();
  954.             mtx.lock();
  955.             color(DGM, TASTT);
  956.             gotoxy(7, 32); wcout << L"     4    ";
  957.             mtx.unlock();
  958.  
  959.             while (GetAsyncKeyState('A') || GetAsyncKeyState('4') || GetAsyncKeyState(VK_NUMPAD4))Sleep(1);
  960.  
  961.             mtx.lock();
  962.             color(DGM, TAST);
  963.             gotoxy(7, 32); wcout << L"     4    ";
  964.             mtx.unlock();
  965.             input.erase(remove(input.begin(), input.end(), B4), input.end());
  966.             break;
  967.         }
  968.         else if (GetAsyncKeyState(VK_RIGHT) && !count(input.begin(), input.end(), RIGHT)) {
  969.             input.insert(input.begin(), RIGHT);
  970.             thread th(KeyboardInput);
  971.             th.detach();
  972.             mtx.lock();
  973.             color(TASTO, TASTT);
  974.             gotoxy(28, 25); wcout << L"   ";
  975.             gotoxy(28, 26); wcout << L" ► ";
  976.             gotoxy(28, 27); wcout << L"   ";
  977.             mtx.unlock();
  978.  
  979.             while (GetAsyncKeyState(VK_RIGHT))Sleep(1);
  980.  
  981.             mtx.lock();
  982.             color(TASTO, TAST);
  983.             gotoxy(28, 25); wcout << L"   ";
  984.             gotoxy(28, 26); wcout << L" ► ";
  985.             gotoxy(28, 27); wcout << L"   ";
  986.             mtx.unlock();
  987.             input.erase(remove(input.begin(), input.end(), RIGHT), input.end());
  988.             break;
  989.         }
  990.         else if ((GetAsyncKeyState('D') || GetAsyncKeyState('6') || GetAsyncKeyState(VK_NUMPAD6)) && !count(input.begin(), input.end(), B6)) {
  991.             input.insert(input.begin(), B6);
  992.             thread th(KeyboardInput);
  993.             th.detach();
  994.             mtx.lock();
  995.             color(DGM, TASTT);
  996.             gotoxy(32, 32); wcout << L"    6     ";
  997.             mtx.unlock();
  998.  
  999.             while (GetAsyncKeyState('D') || GetAsyncKeyState('6') || GetAsyncKeyState(VK_NUMPAD6))Sleep(1);
  1000.  
  1001.             mtx.lock();
  1002.             color(DGM, TAST);
  1003.             gotoxy(32, 32); wcout << L"    6     ";
  1004.             mtx.unlock();
  1005.             input.erase(remove(input.begin(), input.end(), B6), input.end());
  1006.             break;
  1007.         }
  1008.         else if (GetAsyncKeyState(VK_DOWN) && !count(input.begin(), input.end(), DOWN)) {
  1009.             input.insert(input.begin(), DOWN);
  1010.             thread th(KeyboardInput);
  1011.             th.detach();
  1012.             mtx.lock();
  1013.             color(TASTO, TASTT);
  1014.             gotoxy(21, 27); wcout << L"   ▼   ";
  1015.             mtx.unlock();
  1016.  
  1017.             while (GetAsyncKeyState(VK_DOWN))Sleep(1);
  1018.  
  1019.             mtx.lock();
  1020.             color(TASTO, TAST);
  1021.             gotoxy(21, 27); wcout << L"   ▼   ";
  1022.             mtx.unlock();
  1023.             input.erase(remove(input.begin(), input.end(), DOWN), input.end());
  1024.             break;
  1025.         }
  1026.         else if ((GetAsyncKeyState(VK_NUMPAD0) || GetAsyncKeyState('0')) && !count(input.begin(), input.end(), B0)) {
  1027.             input.insert(input.begin(), B0);
  1028.             thread th(KeyboardInput);
  1029.             th.detach();
  1030.             mtx.lock();
  1031.             color(DGM, TASTT);
  1032.             gotoxy(20, 36); wcout << L"    0    ";
  1033.             gotoxy(20, 37); wcout << L"    ˽    ";
  1034.             mtx.unlock();
  1035.  
  1036.             while (GetAsyncKeyState(VK_NUMPAD0) || GetAsyncKeyState('0'))Sleep(1);
  1037.  
  1038.             mtx.lock();
  1039.             color(DGM, TAST);
  1040.             gotoxy(20, 36); wcout << L"    0    ";
  1041.             gotoxy(20, 37); wcout << L"    ˽    ";
  1042.             mtx.unlock();
  1043.             input.erase(remove(input.begin(), input.end(), B0), input.end());
  1044.             break;
  1045.         }
  1046.         else if ((GetAsyncKeyState('S') || GetAsyncKeyState(VK_NUMPAD2) || GetAsyncKeyState('8')) && !count(input.begin(), input.end(), B8)) {
  1047.             input.insert(input.begin(), B8);
  1048.             thread th(KeyboardInput);
  1049.             th.detach();
  1050.             mtx.lock();
  1051.             color(DGM, TASTT);
  1052.             gotoxy(20, 34); wcout << L"    8    ";
  1053.             mtx.unlock();
  1054.  
  1055.             while (GetAsyncKeyState('S') || GetAsyncKeyState(VK_NUMPAD2) || GetAsyncKeyState('8'))Sleep(1);
  1056.  
  1057.             mtx.lock();
  1058.             color(DGM, TAST);
  1059.             gotoxy(20, 34); wcout << L"    8    ";
  1060.             mtx.unlock();
  1061.             input.erase(remove(input.begin(), input.end(), B8), input.end());
  1062.             break;
  1063.         }
  1064.         else if ((GetAsyncKeyState(VK_RETURN) || GetAsyncKeyState(VK_BACK) || GetAsyncKeyState(VK_SPACE)) && !count(input.begin(), input.end(), ENTER)) {
  1065.             input.insert(input.begin(), ENTER);
  1066.             thread th(KeyboardInput);
  1067.             th.detach();
  1068.             mtx.lock();
  1069.             color(TASTO, TASTT);
  1070.             gotoxy(21, 26); wcout << L"       ";
  1071.             mtx.unlock();
  1072.  
  1073.             while (GetAsyncKeyState(VK_RETURN) || GetAsyncKeyState(VK_BACK) || GetAsyncKeyState(VK_SPACE))Sleep(1);
  1074.  
  1075.             mtx.lock();
  1076.             color(TASTO, TAST);
  1077.             gotoxy(21, 26); wcout << L"       ";
  1078.             mtx.unlock();
  1079.             input.erase(remove(input.begin(), input.end(), ENTER), input.end());
  1080.             break;
  1081.         }
  1082.         else if ((GetAsyncKeyState(VK_RSHIFT) || GetAsyncKeyState(VK_RCONTROL)) && !count(input.begin(), input.end(), MUTE)) {
  1083.             input.insert(input.begin(), MUTE);
  1084.             thread th(KeyboardInput);
  1085.             th.detach();
  1086.             mtx.lock();
  1087.             color(DGM, TASTT);
  1088.             gotoxy(32, 36); wcout << L"    #     ";
  1089.             gotoxy(32, 37); wcout << L"    ♪     ";
  1090.             mtx.unlock();
  1091.  
  1092.             while (GetAsyncKeyState(VK_RSHIFT) || GetAsyncKeyState(VK_RCONTROL))Sleep(1);
  1093.  
  1094.             mtx.lock();
  1095.             color(DGM, TAST);
  1096.             gotoxy(32, 36); wcout << L"    #     ";
  1097.             gotoxy(32, 37); wcout << L"    ♪     ";
  1098.             mtx.unlock();
  1099.             input.erase(remove(input.begin(), input.end(), MUTE), input.end());
  1100.             break;
  1101.         }
  1102.         else if ((GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_LCONTROL) || GetAsyncKeyState(VK_TAB)) && !count(input.begin(), input.end(), SPEED)) {
  1103.             input.insert(input.begin(), SPEED);
  1104.             thread th(KeyboardInput);
  1105.             th.detach();
  1106.             mtx.lock();
  1107.             color(DGM, TASTT);
  1108.             gotoxy(7, 36); wcout << L"     *    ";
  1109.             gotoxy(7, 37); wcout << L"     +    ";
  1110.             mtx.unlock();
  1111.  
  1112.             while (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_LCONTROL) || GetAsyncKeyState(VK_TAB))Sleep(1);
  1113.  
  1114.             mtx.lock();
  1115.             color(DGM, TAST);
  1116.             gotoxy(7, 36); wcout << L"     *    ";
  1117.             gotoxy(7, 37); wcout << L"     +    ";
  1118.             mtx.unlock();
  1119.             input.erase(remove(input.begin(), input.end(), SPEED), input.end());
  1120.             break;
  1121.         }
  1122.         else if (GetAsyncKeyState(VK_ESCAPE) && !count(input.begin(), input.end(), ESC)) {
  1123.             input.insert(input.begin(), ESC);
  1124.             thread th(KeyboardInput);
  1125.             th.detach();
  1126.             mtx.lock();
  1127.             color(SLUSALICAC, TASTT);
  1128.             gotoxy(33, 27); wcout << L"    ₵    ";
  1129.             mtx.unlock();
  1130.  
  1131.             while (GetAsyncKeyState(VK_ESCAPE))Sleep(1);
  1132.  
  1133.             mtx.lock();
  1134.             color(SLUSALICAC, TAST);
  1135.             gotoxy(33, 27); wcout << L"    ₵    ";
  1136.             mtx.unlock();
  1137.             input.erase(remove(input.begin(), input.end(), ESC), input.end());
  1138.             break;
  1139.         }
  1140.         else if ((GetAsyncKeyState('1') || GetAsyncKeyState(VK_NUMPAD7)) && !count(input.begin(), input.end(), B1)) {
  1141.             input.insert(input.begin(), B1);
  1142.             thread th(KeyboardInput);
  1143.             th.detach();
  1144.             mtx.lock();
  1145.             color(DGM, TASTT);
  1146.             gotoxy(7, 30); wcout << L"     1    ";
  1147.             mtx.unlock();
  1148.  
  1149.             while (GetAsyncKeyState('1') || GetAsyncKeyState(VK_NUMPAD7))Sleep(1);
  1150.  
  1151.             mtx.lock();
  1152.             color(DGM, TAST);
  1153.             gotoxy(7, 30); wcout << L"     1    ";
  1154.             mtx.unlock();
  1155.             input.erase(remove(input.begin(), input.end(), B1), input.end());
  1156.             break;
  1157.         }
  1158.         else if ((GetAsyncKeyState('3') || GetAsyncKeyState(VK_NUMPAD9)) && !count(input.begin(), input.end(), B3)) {
  1159.             input.insert(input.begin(), B3);
  1160.             thread th(KeyboardInput);
  1161.             th.detach();
  1162.             mtx.lock();
  1163.             color(DGM, TASTT);
  1164.             gotoxy(32, 30); wcout << L"    3     ";
  1165.             mtx.unlock();
  1166.  
  1167.             while (GetAsyncKeyState('3') || GetAsyncKeyState(VK_NUMPAD9))Sleep(1);
  1168.  
  1169.             mtx.lock();
  1170.             color(DGM, TAST);
  1171.             gotoxy(32, 30); wcout << L"    3     ";
  1172.             mtx.unlock();
  1173.             input.erase(remove(input.begin(), input.end(), B3), input.end());
  1174.             break;
  1175.         }
  1176.         else if ((GetAsyncKeyState('5') || GetAsyncKeyState(VK_NUMPAD5)) && !count(input.begin(), input.end(), B5)) {
  1177.             input.insert(input.begin(), B5);
  1178.             thread th(KeyboardInput);
  1179.             th.detach();
  1180.             mtx.lock();
  1181.             color(DGM, TASTT);
  1182.             gotoxy(20, 32); wcout << L"    5    ";
  1183.             mtx.unlock();
  1184.  
  1185.             while (GetAsyncKeyState('5') || GetAsyncKeyState(VK_NUMPAD5))Sleep(1);
  1186.  
  1187.             mtx.lock();
  1188.             color(DGM, TAST);
  1189.             gotoxy(20, 32); wcout << L"    5    ";
  1190.             mtx.unlock();
  1191.             input.erase(remove(input.begin(), input.end(), B5), input.end());
  1192.             break;
  1193.         }
  1194.         else if ((GetAsyncKeyState('7') || GetAsyncKeyState(VK_NUMPAD1)) && !count(input.begin(), input.end(), B7)) {
  1195.             input.insert(input.begin(), B7);
  1196.             thread th(KeyboardInput);
  1197.             th.detach();
  1198.             mtx.lock();
  1199.             color(DGM, TASTT);
  1200.             gotoxy(7, 34); wcout << L"     7    ";
  1201.             mtx.unlock();
  1202.  
  1203.             while (GetAsyncKeyState('7') || GetAsyncKeyState(VK_NUMPAD1))Sleep(1);
  1204.  
  1205.             mtx.lock();
  1206.             color(DGM, TAST);
  1207.             gotoxy(7, 34); wcout << L"     7    ";
  1208.             mtx.unlock();
  1209.             input.erase(remove(input.begin(), input.end(), B7), input.end());
  1210.             break;
  1211.         }
  1212.         else if ((GetAsyncKeyState('9') || GetAsyncKeyState(VK_NUMPAD3)) && !count(input.begin(), input.end(), B9)) {
  1213.             input.insert(input.begin(), B9);
  1214.             thread th(KeyboardInput);
  1215.             th.detach();
  1216.             mtx.lock();
  1217.             color(DGM, TASTT);
  1218.             gotoxy(32, 34); wcout << L"    9     ";
  1219.             mtx.unlock();
  1220.  
  1221.             while (GetAsyncKeyState('9') || GetAsyncKeyState(VK_NUMPAD3))Sleep(1);
  1222.  
  1223.             mtx.lock();
  1224.             color(DGM, TAST);
  1225.             gotoxy(32, 34); wcout << L"    9     ";
  1226.             mtx.unlock();
  1227.             input.erase(remove(input.begin(), input.end(), B9), input.end());
  1228.             break;
  1229.         }
  1230.         Sleep(100);
  1231.     }
  1232. }
  1233.  
  1234. void MouseInput() {
  1235.     while (true) {
  1236.         SetConsoleMode(ConsoleInputHandle, ENABLE_PROCESSED_INPUT | ENABLE_MOUSE_INPUT);
  1237.         int x, y;
  1238.         DWORD tmp;
  1239.         INPUT_RECORD minput;
  1240.         while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1241.  
  1242.         do {
  1243.             do {
  1244.                 Sleep(1);
  1245.                 GetNumberOfConsoleInputEvents(ConsoleInputHandle, &tmp);
  1246.             } while (!tmp);
  1247.             ReadConsoleInputW(ConsoleInputHandle, &minput, 1, &tmp);
  1248.         } while (minput.Event.MouseEvent.dwButtonState != 1);
  1249.         x = minput.Event.MouseEvent.dwMousePosition.X;
  1250.         y = minput.Event.MouseEvent.dwMousePosition.Y;
  1251.  
  1252.         if (y == 30) {
  1253.             if (x > 6 && x < 17) {
  1254.                 mtx.lock();
  1255.                 color(DGM, TASTT);
  1256.                 gotoxy(7, 30); wcout << L"     1    ";
  1257.                 mtx.unlock();
  1258.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1259.                 mtx.lock();
  1260.                 color(DGM, TAST);
  1261.                 gotoxy(7, 30); wcout << L"     1    ";
  1262.                 mtx.unlock();
  1263.             }
  1264.             else if (x > 19 && x < 30) {
  1265.                 mtx.lock();
  1266.                 color(DGM, TASTT);
  1267.                 gotoxy(20, 30); wcout << L"    2    ";
  1268.                 mtx.unlock();
  1269.  
  1270.                 input.insert(input.begin(), B2);
  1271.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1272.                 input.erase(remove(input.begin(), input.end(), B2), input.end());
  1273.  
  1274.                 mtx.lock();
  1275.                 color(DGM, TAST);
  1276.                 gotoxy(20, 30); wcout << L"    2    ";
  1277.                 mtx.unlock();
  1278.             }
  1279.             else if (x > 31 && x < 43) {
  1280.                 mtx.lock();
  1281.                 color(DGM, TASTT);
  1282.                 gotoxy(32, 30); wcout << L"    3     ";
  1283.                 mtx.unlock();
  1284.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1285.                 mtx.lock();
  1286.                 color(DGM, TAST);
  1287.                 gotoxy(32, 30); wcout << L"    3     ";
  1288.                 mtx.unlock();
  1289.             }
  1290.         }
  1291.         else if (y == 32) {
  1292.             if (x > 6 && x < 17) {
  1293.                 mtx.lock();
  1294.                 color(DGM, TASTT);
  1295.                 gotoxy(7, 32); wcout << L"     4    ";
  1296.                 mtx.unlock();
  1297.  
  1298.                 input.insert(input.begin(), B4);
  1299.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1300.                 input.erase(remove(input.begin(), input.end(), B4), input.end());
  1301.  
  1302.                 mtx.lock();
  1303.                 color(DGM, TAST);
  1304.                 gotoxy(7, 32); wcout << L"     4    ";
  1305.                 mtx.unlock();
  1306.             }
  1307.             else if (x > 19 && x < 30) {
  1308.                 mtx.lock();
  1309.                 color(DGM, TASTT);
  1310.                 gotoxy(20, 32); wcout << L"    5    ";
  1311.                 mtx.unlock();
  1312.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1313.                 mtx.lock();
  1314.                 color(DGM, TAST);
  1315.                 gotoxy(20, 32); wcout << L"    5    ";
  1316.                 mtx.unlock();
  1317.             }
  1318.             else if (x > 31 && x < 43) {
  1319.                 mtx.lock();
  1320.                 color(DGM, TASTT);
  1321.                 gotoxy(32, 32); wcout << L"    6     ";
  1322.                 mtx.unlock();
  1323.  
  1324.                 input.insert(input.begin(), B6);
  1325.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1326.                 input.erase(remove(input.begin(), input.end(), B6), input.end());
  1327.  
  1328.                 mtx.lock();
  1329.                 color(DGM, TAST);
  1330.                 gotoxy(32, 32); wcout << L"    6     ";
  1331.                 mtx.unlock();
  1332.             }
  1333.         }
  1334.         else if (y == 34) {
  1335.             if (x > 6 && x < 17) {
  1336.                 mtx.lock();
  1337.                 color(DGM, TASTT);
  1338.                 gotoxy(7, 34); wcout << L"     7    ";
  1339.                 mtx.unlock();
  1340.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1341.                 mtx.lock();
  1342.                 color(DGM, TAST);
  1343.                 gotoxy(7, 34); wcout << L"     7    ";
  1344.                 mtx.unlock();
  1345.             }
  1346.             else if (x > 19 && x < 30) {
  1347.                 mtx.lock();
  1348.                 color(DGM, TASTT);
  1349.                 gotoxy(20, 34); wcout << L"    8    ";
  1350.                 mtx.unlock();
  1351.  
  1352.                 input.insert(input.begin(), B8);
  1353.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1354.                 input.erase(remove(input.begin(), input.end(), B8), input.end());
  1355.  
  1356.                 mtx.lock();
  1357.                 color(DGM, TAST);
  1358.                 gotoxy(20, 34); wcout << L"    8    ";
  1359.                 mtx.unlock();
  1360.             }
  1361.             else if (x > 31 && x < 43) {
  1362.                 mtx.lock();
  1363.                 color(DGM, TASTT);
  1364.                 gotoxy(32, 34); wcout << L"    9     ";
  1365.                 mtx.unlock();
  1366.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1367.                 mtx.lock();
  1368.                 color(DGM, TAST);
  1369.                 gotoxy(32, 34); wcout << L"    9     ";
  1370.                 mtx.unlock();
  1371.             }
  1372.         }
  1373.         else if (y > 35 && y < 38) {
  1374.             if (x > 6 && x < 17) {
  1375.                 mtx.lock();
  1376.                 color(DGM, TASTT);
  1377.                 gotoxy(7, 36); wcout << L"     *    ";
  1378.                 gotoxy(7, 37); wcout << L"     +    ";
  1379.                 mtx.unlock();
  1380.  
  1381.                 input.insert(input.begin(), SPEED);
  1382.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1383.                 input.erase(remove(input.begin(), input.end(), SPEED), input.end());
  1384.  
  1385.                 mtx.lock();
  1386.                 color(DGM, TAST);
  1387.                 gotoxy(7, 36); wcout << L"     *    ";
  1388.                 gotoxy(7, 37); wcout << L"     +    ";
  1389.                 mtx.unlock();
  1390.             }
  1391.             else if (x > 19 && x < 30) {
  1392.                 mtx.lock();
  1393.                 color(DGM, TASTT);
  1394.                 gotoxy(20, 36); wcout << L"    0    ";
  1395.                 gotoxy(20, 37); wcout << L"    ˽    ";
  1396.                 mtx.unlock();
  1397.  
  1398.                 input.insert(input.begin(), B0);
  1399.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1400.                 input.erase(remove(input.begin(), input.end(), B0), input.end());
  1401.  
  1402.                 mtx.lock();
  1403.                 color(DGM, TAST);
  1404.                 gotoxy(20, 36); wcout << L"    0    ";
  1405.                 gotoxy(20, 37); wcout << L"    ˽    ";
  1406.                 mtx.unlock();
  1407.             }
  1408.             else if (x > 31 && x < 43) {
  1409.                 mtx.lock();
  1410.                 color(DGM, TASTT);
  1411.                 gotoxy(32, 36); wcout << L"    #     ";
  1412.                 gotoxy(32, 37); wcout << L"    ♪     ";
  1413.                 mtx.unlock();
  1414.  
  1415.                 input.insert(input.begin(), MUTE);
  1416.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1417.                 input.erase(remove(input.begin(), input.end(), MUTE), input.end());
  1418.  
  1419.                 mtx.lock();
  1420.                 color(DGM, TAST);
  1421.                 gotoxy(32, 36); wcout << L"    #     ";
  1422.                 gotoxy(32, 37); wcout << L"    ♪     ";
  1423.                 mtx.unlock();
  1424.             }
  1425.         }
  1426.         else if (y == 25) {
  1427.             if (x > 6 && x < 16) {
  1428.                 mtx.lock();
  1429.                 color(LINIJAP, TASTT);
  1430.                 gotoxy(7, 25); wcout << L"   ━━━   ";
  1431.                 mtx.unlock();
  1432.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1433.                 mtx.lock();
  1434.                 color(LINIJAP, TAST);
  1435.                 gotoxy(7, 25); wcout << L"   ━━━   ";
  1436.                 mtx.unlock();
  1437.             }
  1438.             else if (x > 32 && x < 42) {
  1439.                 mtx.lock();
  1440.                 color(LINIJAP, TASTT);
  1441.                 gotoxy(33, 25); wcout << L"   ━━━   ";
  1442.                 mtx.unlock();
  1443.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1444.                 mtx.lock();
  1445.                 color(LINIJAP, TAST);
  1446.                 gotoxy(33, 25); wcout << L"   ━━━   ";
  1447.                 mtx.unlock();
  1448.             }
  1449.             else if (x > 20 && x < 28) {
  1450.                 mtx.lock();
  1451.                 color(TASTO, TASTT);
  1452.                 gotoxy(21, 25); wcout << L"   ▲   ";
  1453.                 mtx.unlock();
  1454.  
  1455.                 input.insert(input.begin(), UP);
  1456.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1457.                 input.erase(remove(input.begin(), input.end(), UP), input.end());
  1458.  
  1459.                 mtx.lock();
  1460.                 color(TASTO, TAST);
  1461.                 gotoxy(21, 25); wcout << L"   ▲   ";
  1462.                 mtx.unlock();
  1463.             }
  1464.             else if (x > 17 && x < 21) {
  1465.                 mtx.lock();
  1466.                 color(TASTO, TASTT);
  1467.                 gotoxy(18, 25); wcout << L"   ";
  1468.                 gotoxy(18, 26); wcout << L" ◄ ";
  1469.                 gotoxy(18, 27); wcout << L"   ";
  1470.                 mtx.unlock();
  1471.  
  1472.                 input.insert(input.begin(), LEFT);
  1473.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1474.                 input.erase(remove(input.begin(), input.end(), LEFT), input.end());
  1475.  
  1476.                 mtx.lock();
  1477.                 color(TASTO, TAST);
  1478.                 gotoxy(18, 25); wcout << L"   ";
  1479.                 gotoxy(18, 26); wcout << L" ◄ ";
  1480.                 gotoxy(18, 27); wcout << L"   ";
  1481.                 mtx.unlock();
  1482.             }
  1483.             else if (x > 27 && x < 31) {
  1484.                 mtx.lock();
  1485.                 color(TASTO, TASTT);
  1486.                 gotoxy(28, 25); wcout << L"   ";
  1487.                 gotoxy(28, 26); wcout << L" ► ";
  1488.                 gotoxy(28, 27); wcout << L"   ";
  1489.                 mtx.unlock();
  1490.  
  1491.                 input.insert(input.begin(), RIGHT);
  1492.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1493.                 input.erase(remove(input.begin(), input.end(), RIGHT), input.end());
  1494.  
  1495.                 mtx.lock();
  1496.                 color(TASTO, TAST);
  1497.                 gotoxy(28, 25); wcout << L"   ";
  1498.                 gotoxy(28, 26); wcout << L" ► ";
  1499.                 gotoxy(28, 27); wcout << L"   ";
  1500.                 mtx.unlock();
  1501.             }
  1502.         }
  1503.         else if (y == 26) {
  1504.             if (x > 17 && x < 21) {
  1505.                 mtx.lock();
  1506.                 color(TASTO, TASTT);
  1507.                 gotoxy(18, 25); wcout << L"   ";
  1508.                 gotoxy(18, 26); wcout << L" ◄ ";
  1509.                 gotoxy(18, 27); wcout << L"   ";
  1510.                 mtx.unlock();
  1511.  
  1512.                 input.insert(input.begin(), LEFT);
  1513.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1514.                 input.erase(remove(input.begin(), input.end(), LEFT), input.end());
  1515.  
  1516.                 mtx.lock();
  1517.                 color(TASTO, TAST);
  1518.                 gotoxy(18, 25); wcout << L"   ";
  1519.                 gotoxy(18, 26); wcout << L" ◄ ";
  1520.                 gotoxy(18, 27); wcout << L"   ";
  1521.                 mtx.unlock();
  1522.             }
  1523.             else if (x > 20 && x < 28) {
  1524.                 mtx.lock();
  1525.                 color(TASTO, TASTT);
  1526.                 gotoxy(21, 26); wcout << L"       ";
  1527.                 mtx.unlock();
  1528.  
  1529.                 input.insert(input.begin(), ENTER);
  1530.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1531.                 input.erase(remove(input.begin(), input.end(), ENTER), input.end());
  1532.  
  1533.                 mtx.lock();
  1534.                 color(TASTO, TAST);
  1535.                 gotoxy(21, 26); wcout << L"       ";
  1536.                 mtx.unlock();
  1537.             }
  1538.             else if (x > 27 && x < 31) {
  1539.                 mtx.lock();
  1540.                 color(TASTO, TASTT);
  1541.                 gotoxy(28, 25); wcout << L"   ";
  1542.                 gotoxy(28, 26); wcout << L" ► ";
  1543.                 gotoxy(28, 27); wcout << L"   ";
  1544.                 mtx.unlock();
  1545.  
  1546.                 input.insert(input.begin(), RIGHT);
  1547.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1548.                 input.erase(remove(input.begin(), input.end(), RIGHT), input.end());
  1549.  
  1550.                 mtx.lock();
  1551.                 color(TASTO, TAST);
  1552.                 gotoxy(28, 25); wcout << L"   ";
  1553.                 gotoxy(28, 26); wcout << L" ► ";
  1554.                 gotoxy(28, 27); wcout << L"   ";
  1555.                 mtx.unlock();
  1556.             }
  1557.         }
  1558.         else if (y == 27) {
  1559.             if (x > 6 && x < 16) {
  1560.                 mtx.lock();
  1561.                 color(SLUSALICAZ, TASTT);
  1562.                 gotoxy(7, 27); wcout << L"    C    ";
  1563.                 mtx.unlock();
  1564.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1565.                 mtx.lock();
  1566.                 color(SLUSALICAZ, TAST);
  1567.                 gotoxy(7, 27); wcout << L"    C    ";
  1568.                 mtx.unlock();
  1569.             }
  1570.             else if (x > 32 && x < 42) {
  1571.                 mtx.lock();
  1572.                 color(SLUSALICAC, TASTT);
  1573.                 gotoxy(33, 27); wcout << L"    ₵    ";
  1574.                 mtx.unlock();
  1575.  
  1576.                 input.insert(input.begin(), ESC);
  1577.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1578.                 input.erase(remove(input.begin(), input.end(), ESC), input.end());
  1579.  
  1580.                 mtx.lock();
  1581.                 color(SLUSALICAC, TAST);
  1582.                 gotoxy(33, 27); wcout << L"    ₵    ";
  1583.                 mtx.unlock();
  1584.             }
  1585.             else if (x > 20 && x < 28) {
  1586.                 mtx.lock();
  1587.                 color(TASTO, TASTT);
  1588.                 gotoxy(21, 27); wcout << L"   ▼   ";
  1589.                 mtx.unlock();
  1590.  
  1591.                 input.insert(input.begin(), DOWN);
  1592.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1593.                 input.erase(remove(input.begin(), input.end(), DOWN), input.end());
  1594.  
  1595.                 mtx.lock();
  1596.                 color(TASTO, TAST);
  1597.                 gotoxy(21, 27); wcout << L"   ▼   ";
  1598.                 mtx.unlock();
  1599.             }
  1600.             else if (x > 17 && x < 21) {
  1601.                 mtx.lock();
  1602.                 color(TASTO, TASTT);
  1603.                 gotoxy(18, 25); wcout << L"   ";
  1604.                 gotoxy(18, 26); wcout << L" ◄ ";
  1605.                 gotoxy(18, 27); wcout << L"   ";
  1606.                 mtx.unlock();
  1607.  
  1608.                 input.insert(input.begin(), LEFT);
  1609.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1610.                 input.erase(remove(input.begin(), input.end(), LEFT), input.end());
  1611.  
  1612.                 mtx.lock();
  1613.                 color(TASTO, TAST);
  1614.                 gotoxy(18, 25); wcout << L"   ";
  1615.                 gotoxy(18, 26); wcout << L" ◄ ";
  1616.                 gotoxy(18, 27); wcout << L"   ";
  1617.                 mtx.unlock();
  1618.             }
  1619.             else if (x > 27 && x < 31) {
  1620.                 mtx.lock();
  1621.                 color(TASTO, TASTT);
  1622.                 gotoxy(28, 25); wcout << L"   ";
  1623.                 gotoxy(28, 26); wcout << L" ► ";
  1624.                 gotoxy(28, 27); wcout << L"   ";
  1625.                 mtx.unlock();
  1626.  
  1627.                 input.insert(input.begin(), RIGHT);
  1628.                 while (GetAsyncKeyState(VK_LBUTTON))Sleep(1);
  1629.                 input.erase(remove(input.begin(), input.end(), RIGHT), input.end());
  1630.  
  1631.                 mtx.lock();
  1632.                 color(TASTO, TAST);
  1633.                 gotoxy(28, 25); wcout << L"   ";
  1634.                 gotoxy(28, 26); wcout << L" ► ";
  1635.                 gotoxy(28, 27); wcout << L"   ";
  1636.                 mtx.unlock();
  1637.             }
  1638.         }
  1639.     }
  1640. }
  1641.  
  1642. #define FPS 80
  1643.  
  1644. void Animacija() {
  1645.     color(EKRANO, EKRAN);
  1646.  
  1647.     gotoxy(7, 8);  wcout << L"                                   ";
  1648.     gotoxy(7, 9);  wcout << L"                                   ";
  1649.     gotoxy(7, 10); wcout << L"                                   ";
  1650.     gotoxy(7, 11); wcout << L"                                   ";
  1651.     gotoxy(7, 12); wcout << L"                                   ";
  1652.     gotoxy(7, 13); wcout << L"                                   ";
  1653.     gotoxy(7, 14); wcout << L"                                   ";
  1654.     gotoxy(7, 15); wcout << L"                                   ";
  1655.     gotoxy(7, 16); wcout << L"                                   ";
  1656.     gotoxy(7, 17); wcout << L"                                   ";
  1657.     gotoxy(7, 18); wcout << L"                                   ";
  1658.     gotoxy(7, 19); wcout << L"                                   ";
  1659.     gotoxy(7, 20); wcout << L"                                   ";
  1660.     gotoxy(7, 21); wcout << L"                                   ";
  1661.     Sleep(FPS * 10);
  1662.  
  1663.     gotoxy(7, 8);  wcout << L"                                   ";
  1664.     gotoxy(7, 9);  wcout << L"..`                                ";
  1665.     gotoxy(7, 10); wcout << L":-`                                ";
  1666.     gotoxy(7, 11); wcout << L"                                   ";
  1667.     gotoxy(7, 12); wcout << L":-`                                ";
  1668.     gotoxy(7, 13); wcout << L"-`                                 ";
  1669.     gotoxy(7, 14); wcout << L"                                   ";
  1670.     gotoxy(7, 15); wcout << L"                                   ";
  1671.     gotoxy(7, 16); wcout << L"                                   ";
  1672.     gotoxy(7, 17); wcout << L"                                   ";
  1673.     gotoxy(7, 18); wcout << L"                                   ";
  1674.     gotoxy(7, 19); wcout << L"                                   ";
  1675.     gotoxy(7, 20); wcout << L"                                   ";
  1676.     gotoxy(7, 21); wcout << L"                                   ";
  1677.     Sleep(FPS);
  1678.  
  1679.     PlaySoundW(MAKEINTRESOURCEW(IDR_WAVE1), NULL, SND_RESOURCE | SND_ASYNC);
  1680.  
  1681.     gotoxy(7, 8);  wcout << L"                                   ";
  1682.     gotoxy(7, 9);  wcout << L"                                   ";
  1683.     gotoxy(7, 10); wcout << L"```````                            ";
  1684.     gotoxy(7, 11); wcout << L"///+/-.                            ";
  1685.     gotoxy(7, 12); wcout << L"/-`                                ";
  1686.     gotoxy(7, 13); wcout << L"+/:-```                            ";
  1687.     gotoxy(7, 14); wcout << L"++//:-.                            ";
  1688.     gotoxy(7, 15); wcout << L"++/-`                              ";
  1689.     gotoxy(7, 16); wcout << L"--`                                ";
  1690.     gotoxy(7, 17); wcout << L"                                   ";
  1691.     gotoxy(7, 18); wcout << L"                                   ";
  1692.     gotoxy(7, 19); wcout << L"                                 .-";
  1693.     gotoxy(7, 20); wcout << L"                                /ss";
  1694.     gotoxy(7, 21); wcout << L"                                .`.";
  1695.     Sleep(FPS);
  1696.  
  1697.     gotoxy(7, 8);  wcout << L"                                   ";
  1698.     gotoxy(7, 9);  wcout << L"                                   ";
  1699.     gotoxy(7, 10); wcout << L"                                   ";
  1700.     gotoxy(7, 11); wcout << L".``.......`                        ";
  1701.     gotoxy(7, 12); wcout << L"///:/:::-.                         ";
  1702.     gotoxy(7, 13); wcout << L"oo+/:`                             ";
  1703.     gotoxy(7, 14); wcout << L"/++//::.``                         ";
  1704.     gotoxy(7, 15); wcout << L":://+///:-`                        ";
  1705.     gotoxy(7, 16); wcout << L"+/++//:.`                          ";
  1706.     gotoxy(7, 17); wcout << L":++-.`                       .////:";
  1707.     gotoxy(7, 18); wcout << L"                            .++++++";
  1708.     gotoxy(7, 19); wcout << L"                             `.//:/";
  1709.     gotoxy(7, 20); wcout << L"                                   ";
  1710.     gotoxy(7, 21); wcout << L"                                   ";
  1711.     Sleep(FPS);
  1712.  
  1713.     gotoxy(7, 8);  wcout << L"                                   ";
  1714.     gotoxy(7, 9);  wcout << L"                                   ";
  1715.     gotoxy(7, 10); wcout << L"                                   ";
  1716.     gotoxy(7, 11); wcout << L"         ````                      ";
  1717.     gotoxy(7, 12); wcout << L".-----:::///-                      ";
  1718.     gotoxy(7, 13); wcout << L"/++++/:-```                        ";
  1719.     gotoxy(7, 14); wcout << L"::/++//:-`                `-//:-.` ";
  1720.     gotoxy(7, 15); wcout << L"+:::://///:-.`            //:/++/:-";
  1721.     gotoxy(7, 16); wcout << L"oo/////++/:.``            ``:///+os";
  1722.     gotoxy(7, 17); wcout << L" `:+++/:-`                   ````-:";
  1723.     gotoxy(7, 18); wcout << L"   ```                             ";
  1724.     gotoxy(7, 19); wcout << L"                                   ";
  1725.     gotoxy(7, 20); wcout << L"                                   ";
  1726.     gotoxy(7, 21); wcout << L"                                   ";
  1727.     Sleep(FPS);
  1728.  
  1729.     gotoxy(7, 8);  wcout << L"                                   ";
  1730.     gotoxy(7, 9);  wcout << L"                                   ";
  1731.     gotoxy(7, 10); wcout << L"                                   ";
  1732.     gotoxy(7, 11); wcout << L"                                   ";
  1733.     gotoxy(7, 12); wcout << L"-.``.-..--:://:.        `-::-`     ";
  1734.     gotoxy(7, 13); wcout << L"//:://///:....`        `::://+/-`` ";
  1735.     gotoxy(7, 14); wcout << L"s+:::////:-`             ..-//++++/";
  1736.     gotoxy(7, 15); wcout << L"+s+/::::::::-..``         `::-:/++o";
  1737.     gotoxy(7, 16); wcout << L" ./++:::///+/:-.`                 `";
  1738.     gotoxy(7, 17); wcout << L"   `./+++//-.`                     ";
  1739.     gotoxy(7, 18); wcout << L"      `.`                          ";
  1740.     gotoxy(7, 19); wcout << L"                                   ";
  1741.     gotoxy(7, 20); wcout << L"                                   ";
  1742.     gotoxy(7, 21); wcout << L"                                   ";
  1743.     Sleep(FPS);
  1744.  
  1745.     gotoxy(7, 8);  wcout << L"                                   ";
  1746.     gotoxy(7, 9);  wcout << L"                                   ";
  1747.     gotoxy(7, 10); wcout << L"                                   ";
  1748.     gotoxy(7, 11); wcout << L".`              ``    ```          ";
  1749.     gotoxy(7, 12); wcout << L":--.``.-----::///:  `.-://:-.``   `";
  1750.     gotoxy(7, 13); wcout << L"+///::://///-````     `...:++/////+";
  1751.     gotoxy(7, 14); wcout << L"oooo/:::///::.`           .+++++++o";
  1752.     gotoxy(7, 15); wcout << L"`.-+o+:--::::::---.      ::.``   ``";
  1753.     gotoxy(7, 16); wcout << L"    .///::://///:-.                ";
  1754.     gotoxy(7, 17); wcout << L"      `.////::.`                   ";
  1755.     gotoxy(7, 18); wcout << L"         ``                        ";
  1756.     gotoxy(7, 19); wcout << L"                                   ";
  1757.     gotoxy(7, 20); wcout << L"                                   ";
  1758.     gotoxy(7, 21); wcout << L"                                   ";
  1759.     Sleep(FPS);
  1760.  
  1761.     gotoxy(7, 8);  wcout << L"                                   ";
  1762.     gotoxy(7, 9);  wcout << L"                                   ";
  1763.     gotoxy(7, 10); wcout << L"`                                  ";
  1764.     gotoxy(7, 11); wcout << L"-..``        ```````               ";
  1765.     gotoxy(7, 12); wcout << L":::---...----::://:------......---:";
  1766.     gotoxy(7, 13); wcout << L"o++///::://+//:`       .-+++++oooos";
  1767.     gotoxy(7, 14); wcout << L".-/++o+:::://::-.```     /o+/-...--";
  1768.     gotoxy(7, 15); wcout << L"   ``-++/:--::://///:  `:/.`       ";
  1769.     gotoxy(7, 16); wcout << L"       .://::////:-``  ``          ";
  1770.     gotoxy(7, 17); wcout << L"          .-:...`                  ";
  1771.     gotoxy(7, 18); wcout << L"                                   ";
  1772.     gotoxy(7, 19); wcout << L"                                   ";
  1773.     gotoxy(7, 20); wcout << L"                                   ";
  1774.     gotoxy(7, 21); wcout << L"                                   ";
  1775.     Sleep(FPS);
  1776.  
  1777.     gotoxy(7, 8);  wcout << L"                                   ";
  1778.     gotoxy(7, 9);  wcout << L"`                                  ";
  1779.     gotoxy(7, 10); wcout << L"..``                               ";
  1780.     gotoxy(7, 11); wcout << L"---..```   ````.......         ``..";
  1781.     gotoxy(7, 12); wcout << L"+/:::::----:::::/:::::.....--:://++";
  1782.     gotoxy(7, 13); wcout << L"/++++///:::////::...-://++++++++++o";
  1783.     gotoxy(7, 14); wcout << L"  `.-:/o+:-::::::::-:-``/o+:`` ````";
  1784.     gotoxy(7, 15); wcout << L"       `:+/::-://++//: .+:`        ";
  1785.     gotoxy(7, 16); wcout << L"         `.:///:/:..   /.          ";
  1786.     gotoxy(7, 17); wcout << L"            ```                    ";
  1787.     gotoxy(7, 18); wcout << L"                                   ";
  1788.     gotoxy(7, 19); wcout << L"                                   ";
  1789.     gotoxy(7, 20); wcout << L"                                   ";
  1790.     gotoxy(7, 21); wcout << L"                                   ";
  1791.     Sleep(FPS);
  1792.  
  1793.     gotoxy(7, 8);  wcout << L"                                   ";
  1794.     gotoxy(7, 9);  wcout << L".`                                 ";
  1795.     gotoxy(7, 10); wcout << L"-..``                              ";
  1796.     gotoxy(7, 11); wcout << L":---...``` ``....-...--`    ```..-:";
  1797.     gotoxy(7, 12); wcout << L"++//:::::--::://:::-----..-::/++++o";
  1798.     gotoxy(7, 13); wcout << L".-://++//:-://+/++//////++++///////";
  1799.     gotoxy(7, 14); wcout << L"    ``.:/o/:-://+o++++++o+-`       ";
  1800.     gotoxy(7, 15); wcout << L"         .://:://++//-:+:`         ";
  1801.     gotoxy(7, 16); wcout << L"           `-:/:---`` /.           ";
  1802.     gotoxy(7, 17); wcout << L"                      `            ";
  1803.     gotoxy(7, 18); wcout << L"                                   ";
  1804.     gotoxy(7, 19); wcout << L"                                   ";
  1805.     gotoxy(7, 20); wcout << L"                                   ";
  1806.     gotoxy(7, 21); wcout << L"                                   ";
  1807.     Sleep(FPS);
  1808.  
  1809.     gotoxy(7, 8);  wcout << L"`                                  ";
  1810.     gotoxy(7, 9);  wcout << L"..`                                ";
  1811.     gotoxy(7, 10); wcout << L"-...```                          ``";
  1812.     gotoxy(7, 11); wcout << L"/:----...````....----:::`  ``..--:/";
  1813.     gotoxy(7, 12); wcout << L"+++///::::--:://///:::::--:://++ooo";
  1814.     gotoxy(7, 13); wcout << L"``.-://++/:-::////::::://++///:::::";
  1815.     gotoxy(7, 14); wcout << L"      `.-:+/:::/+ooo+o+oo/`        ";
  1816.     gotoxy(7, 15); wcout << L"          `:///+++/+::++.          ";
  1817.     gotoxy(7, 16); wcout << L"             .::-..``-/`           ";
  1818.     gotoxy(7, 17); wcout << L"                     `             ";
  1819.     gotoxy(7, 18); wcout << L"                                   ";
  1820.     gotoxy(7, 19); wcout << L"                                   ";
  1821.     gotoxy(7, 20); wcout << L"                                   ";
  1822.     gotoxy(7, 21); wcout << L"                                   ";
  1823.     Sleep(FPS);
  1824.  
  1825.     gotoxy(7, 8);  wcout << L"`                                  ";
  1826.     gotoxy(7, 9);  wcout << L"..`                                ";
  1827.     gotoxy(7, 10); wcout << L"-...```                          ``";
  1828.     gotoxy(7, 11); wcout << L"/:----...````....----:::`  ``..--:/";
  1829.     gotoxy(7, 12); wcout << L"+++///::::--:://///:::::--:://++ooo";
  1830.     gotoxy(7, 13); wcout << L"``.-://++/:-::////::::://++///:::::";
  1831.     gotoxy(7, 14); wcout << L"      `.-:+/:::/+ooo+o+oo/`        ";
  1832.     gotoxy(7, 15); wcout << L"          `:///+++/+::++.          ";
  1833.     gotoxy(7, 16); wcout << L"             .::-..``-/`           ";
  1834.     gotoxy(7, 17); wcout << L"                     `             ";
  1835.     gotoxy(7, 18); wcout << L"                                   ";
  1836.     gotoxy(7, 19); wcout << L"                                   ";
  1837.     gotoxy(7, 20); wcout << L"                                   ";
  1838.     gotoxy(7, 21); wcout << L"                                   ";
  1839.     Sleep(FPS);
  1840.  
  1841.     gotoxy(7, 8);  wcout << L"``                                 ";
  1842.     gotoxy(7, 9);  wcout << L"..``                               ";
  1843.     gotoxy(7, 10); wcout << L"--...```                         ``";
  1844.     gotoxy(7, 11); wcout << L"//:---.....``..---:::///:  ``..-::/";
  1845.     gotoxy(7, 12); wcout << L"/+++//:::::-::/+++//::::--::/+++ooo";
  1846.     gotoxy(7, 13); wcout << L" ``.-://++/:-://///://://++///////:";
  1847.     gotoxy(7, 14); wcout << L"       `.-/+:::///+o+o+oo:`        ";
  1848.     gotoxy(7, 15); wcout << L"           .://+++//::++-          ";
  1849.     gotoxy(7, 16); wcout << L"             `--.``` //`           ";
  1850.     gotoxy(7, 17); wcout << L"                     `             ";
  1851.     gotoxy(7, 18); wcout << L"                                   ";
  1852.     gotoxy(7, 19); wcout << L"                                   ";
  1853.     gotoxy(7, 20); wcout << L"                                   ";
  1854.     gotoxy(7, 21); wcout << L"                                   ";
  1855.     Sleep(FPS);
  1856.  
  1857.     gotoxy(7, 8);  wcout << L"``                                 ";
  1858.     gotoxy(7, 9);  wcout << L"..``                               ";
  1859.     gotoxy(7, 10); wcout << L"--....``                         ``";
  1860.     gotoxy(7, 11); wcout << L"//::---....``.----:::////` ```.--:/";
  1861.     gotoxy(7, 12); wcout << L"//++///::::-://++////://:-:://+++oo";
  1862.     gotoxy(7, 13); wcout << L" ``.--://++:-:/+++o+o////++////////";
  1863.     gotoxy(7, 14); wcout << L"        `.:+/::/oooo+ooso:`        ";
  1864.     gotoxy(7, 15); wcout << L"           `-:/++//:-:o+-          ";
  1865.     gotoxy(7, 16); wcout << L"             `.``    /-`           ";
  1866.     gotoxy(7, 17); wcout << L"                                   ";
  1867.     gotoxy(7, 18); wcout << L"     ``  `   ``   ` `  `    `      ";
  1868.     gotoxy(7, 19); wcout << L"     ` ` `  `  `  ``   `   `.`     ";
  1869.     gotoxy(7, 20); wcout << L"     `  ``   ``   ` `  `  `   `    ";
  1870.     gotoxy(7, 21); wcout << L"                                   ";
  1871.     Sleep(FPS);
  1872.  
  1873.     gotoxy(7, 8);  wcout << L"``                                 ";
  1874.     gotoxy(7, 9);  wcout << L"..```                              ";
  1875.     gotoxy(7, 10); wcout << L"--....``                          `";
  1876.     gotoxy(7, 11); wcout << L"+/::------....----::::/::`  ``..-::";
  1877.     gotoxy(7, 12); wcout << L"//+++///:::-://++://::/+/--::/+++oo";
  1878.     gotoxy(7, 13); wcout << L"  ``.-://++:-:/++++++++//++++++++++";
  1879.     gotoxy(7, 14); wcout << L"        ``-+/::+o+ooososo/```      ";
  1880.     gotoxy(7, 15); wcout << L"           `-://++//:+++:          ";
  1881.     gotoxy(7, 16); wcout << L"              ```   `-.`           ";
  1882.     gotoxy(7, 17); wcout << L"                                   ";
  1883.     gotoxy(7, 18); wcout << L"     :-  :   --   : -  :    -      ";
  1884.     gotoxy(7, 19); wcout << L"     : - :  :  :  :-   :   -_-     ";
  1885.     gotoxy(7, 20); wcout << L"     :  -:   --   : -  :  -   -    ";
  1886.     gotoxy(7, 21); wcout << L"                                   ";
  1887.     Sleep(FPS);
  1888.  
  1889.     gotoxy(7, 8);  wcout << L".`                                 ";
  1890.     gotoxy(7, 9);  wcout << L"..```                              ";
  1891.     gotoxy(7, 10); wcout << L"---...```                          ";
  1892.     gotoxy(7, 11); wcout << L"+//::-----....----:::::::`   ``..-:";
  1893.     gotoxy(7, 12); wcout << L"//+++////::-:/+++//:::/+/---://+++o";
  1894.     gotoxy(7, 13); wcout << L"  ``.-://++:::////+++o+//+o+++++++o";
  1895.     gotoxy(7, 14); wcout << L"        ``-+/::/+oooososo+.````````";
  1896.     gotoxy(7, 15); wcout << L"           `-:/+++//:o++:          ";
  1897.     gotoxy(7, 16); wcout << L"              ````  `.`            ";
  1898.     gotoxy(7, 17); wcout << L"                                   ";
  1899.     gotoxy(7, 18); wcout << L"     ••  •   ••   • •  •    •      ";
  1900.     gotoxy(7, 19); wcout << L"     • • •  •  •  ••   •   •…•     ";
  1901.     gotoxy(7, 20); wcout << L"     •  ••   ••   • •  •  •   •    ";
  1902.     gotoxy(7, 21); wcout << L"                                   ";
  1903.     Sleep(FPS);
  1904.  
  1905.     gotoxy(7, 8);  wcout << L"``                                 ";
  1906.     gotoxy(7, 9);  wcout << L"..```                              ";
  1907.     gotoxy(7, 10); wcout << L"---...``                           ";
  1908.     gotoxy(7, 11); wcout << L"+//::-----....----:::::::`   ``..-:";
  1909.     gotoxy(7, 12); wcout << L"//+++////::::/+++/::://+/---://+++o";
  1910.     gotoxy(7, 13); wcout << L"  `..-://++:::///:+/+o+//+o++++++oo";
  1911.     gotoxy(7, 14); wcout << L"        ``-+/::/+oooososs+.````````";
  1912.     gotoxy(7, 15); wcout << L"           `-:/+++/+/s++-          ";
  1913.     gotoxy(7, 16); wcout << L"              ..``  ```            ";
  1914.     gotoxy(7, 17); wcout << L"                                   ";
  1915.     gotoxy(7, 18); wcout << L"     wl  w   aa   w a  w    a      ";
  1916.     gotoxy(7, 19); wcout << L"     w l w  w  w  wk   w   a_a     ";
  1917.     gotoxy(7, 20); wcout << L"     w  lw   vv   w v  w  a   a    ";
  1918.     gotoxy(7, 21); wcout << L"                                   ";
  1919.     Sleep(FPS);
  1920.  
  1921.     gotoxy(7, 8);  wcout << L"``                                 ";
  1922.     gotoxy(7, 9);  wcout << L"..```                              ";
  1923.     gotoxy(7, 10); wcout << L"---...``                           ";
  1924.     gotoxy(7, 11); wcout << L"+/:::----..``.----:::::::`   ``..-:";
  1925.     gotoxy(7, 12); wcout << L"/++++////::::/+++/::::/+/---://+++o";
  1926.     gotoxy(7, 13); wcout << L" ``.--:/+++:::///:+/+o+//+o++++++oo";
  1927.     gotoxy(7, 14); wcout << L"        `.:+/::/+oooososs+.````````";
  1928.     gotoxy(7, 15); wcout << L"           `://++o/+/o++-          ";
  1929.     gotoxy(7, 16); wcout << L"              ..``  ```            ";
  1930.     gotoxy(7, 17); wcout << L"                                   ";
  1931.     gotoxy(7, 18); wcout << L"     MA  M   AA   M A  M    A      ";
  1932.     gotoxy(7, 19); wcout << L"     M A M  M  M  MK   M   A_A     ";
  1933.     gotoxy(7, 20); wcout << L"     M  AM   VV   M V  M  A   A    ";
  1934.     gotoxy(7, 21); wcout << L"                                   ";
  1935.     Sleep(FPS);
  1936.  
  1937.     gotoxy(7, 8);  wcout << L"``                                 ";
  1938.     gotoxy(7, 9);  wcout << L"..``                               ";
  1939.     gotoxy(7, 10); wcout << L"--....``                           ";
  1940.     gotoxy(7, 11); wcout << L"//:::----..``.----::--:::`    `..-:";
  1941.     gotoxy(7, 12); wcout << L"/++++/////:::/++++/:::/+/-.-://+++o";
  1942.     gotoxy(7, 13); wcout << L" ``.-://+++:::/++:+/+o+//+o+ooo+ooo";
  1943.     gotoxy(7, 14); wcout << L"       ``.:+/::/+oooososs+.````````";
  1944.     gotoxy(7, 15); wcout << L"           `://++o/+/o++:`         ";
  1945.     gotoxy(7, 16); wcout << L"              ...`` ```            ";
  1946.     gotoxy(7, 17); wcout << L"                                   ";
  1947.     gotoxy(7, 18); wcout << L"     ▒▒  ▒   ▒▒   ▒ ▒  ▒    ▒      ";
  1948.     gotoxy(7, 19); wcout << L"     ▒ ▒ ▒  ▒  ▒  ▒▒   ▒   ▒˽▒     ";
  1949.     gotoxy(7, 20); wcout << L"     ▒  ▒▒   ▒▒   ▒ ▒  ▒  ▒   ▒    ";
  1950.     gotoxy(7, 21); wcout << L"                                   ";
  1951.     Sleep(FPS);
  1952.  
  1953.     gotoxy(7, 8);  wcout << L"``                                 ";
  1954.     gotoxy(7, 9);  wcout << L"..``                               ";
  1955.     gotoxy(7, 10); wcout << L"--...```                           ";
  1956.     gotoxy(7, 11); wcout << L"//::----...``...---:-----`    ``.-:";
  1957.     gotoxy(7, 12); wcout << L"+++++/////::://+++/:::/+/..-://+++o";
  1958.     gotoxy(7, 13); wcout << L"``..-://++/:::/++:+/+o+//+ooooooooo";
  1959.     gotoxy(7, 14); wcout << L"       ``-:+/:://o+oososso-````````";
  1960.     gotoxy(7, 15); wcout << L"           .://++o/o/o++:`         ";
  1961.     gotoxy(7, 16); wcout << L"             `.-.``````            ";
  1962.     gotoxy(7, 17); wcout << L"                                   ";
  1963.     gotoxy(7, 18); wcout << L"     ▓▒  ▓   ▒▒   ▓ ▓  ▓    ▓      ";
  1964.     gotoxy(7, 19); wcout << L"     ▓ ▒ ▓  ▓  ▓  ▓▒   ▓   ▒˽▒     ";
  1965.     gotoxy(7, 20); wcout << L"     ▓  ▒▓   ▒▒   ▓ ▓  ▓  ▓   ▓    ";
  1966.     gotoxy(7, 21); wcout << L"                                   ";
  1967.     Sleep(FPS);
  1968.  
  1969.     gotoxy(7, 8);  wcout << L"``                                 ";
  1970.     gotoxy(7, 9);  wcout << L"..``                               ";
  1971.     gotoxy(7, 10); wcout << L"--...```                           ";
  1972.     gotoxy(7, 11); wcout << L"//::----..````....-------`    ``.--";
  1973.     gotoxy(7, 12); wcout << L"+++++/////::://+++/:/:/+/..--://++o";
  1974.     gotoxy(7, 13); wcout << L"``.-://+++/:::/++/+/++///+ooooooooo";
  1975.     gotoxy(7, 14); wcout << L"       `.-/+/:://o+oososso-.```````";
  1976.     gotoxy(7, 15); wcout << L"           .:///+o+o/o++:`         ";
  1977.     gotoxy(7, 16); wcout << L"             `.-..```.`            ";
  1978.     gotoxy(7, 17); wcout << L"                                   ";
  1979.     gotoxy(7, 18); wcout << L"     ▓▓  ▓   ▓▓   ▓ ▓  ▓    ▓      ";
  1980.     gotoxy(7, 19); wcout << L"     ▓ ▓ ▓  ▓  ▓  ▓▓   ▓   ▓‗▓     ";
  1981.     gotoxy(7, 20); wcout << L"     ▓  ▓▓   ▓▓   ▓ ▓  ▓  ▓   ▓    ";
  1982.     gotoxy(7, 21); wcout << L"                                   ";
  1983.     Sleep(FPS);
  1984.  
  1985.     gotoxy(7, 8);  wcout << L"``                                 ";
  1986.     gotoxy(7, 9);  wcout << L"..``                               ";
  1987.     gotoxy(7, 10); wcout << L"--...```                           ";
  1988.     gotoxy(7, 11); wcout << L"//::----..````....--..-..`    ``..-";
  1989.     gotoxy(7, 12); wcout << L"+++++/////:-://+++/:///++...-://++o";
  1990.     gotoxy(7, 13); wcout << L"``.-://+++/::/+++/+/++/://+oooooooo";
  1991.     gotoxy(7, 14); wcout << L"      ``.:/+/:://o+oososso:........";
  1992.     gotoxy(7, 15); wcout << L"           .////+o+o/s+o/`         ";
  1993.     gotoxy(7, 16); wcout << L"             `-:..```.``           ";
  1994.     gotoxy(7, 17); wcout << L"                                   ";
  1995.     gotoxy(7, 18); wcout << L"     ██  █   ██   █ █  █    █      ";
  1996.     gotoxy(7, 19); wcout << L"     █ █ █  █  █  ██   █   █‗█     ";
  1997.     gotoxy(7, 20); wcout << L"     █  ██   ██   █ █  █  █   █    ";
  1998.     gotoxy(7, 21); wcout << L"                                   ";
  1999.     Sleep(FPS * 30);
  2000.  
  2001.     gotoxy(7, 8);  wcout << L"                                   ";
  2002.     gotoxy(7, 9);  wcout << L"                                   ";
  2003.     gotoxy(7, 10); wcout << L"                                   ";
  2004.     gotoxy(7, 11); wcout << L"                                   ";
  2005.     gotoxy(7, 12); wcout << L"                                   ";
  2006.     gotoxy(7, 13); wcout << L"                                   ";
  2007.     gotoxy(7, 14); wcout << L"                                   ";
  2008.     gotoxy(7, 15); wcout << L"                                   ";
  2009.     gotoxy(7, 16); wcout << L"                                   ";
  2010.     gotoxy(7, 17); wcout << L"                                   ";
  2011.     gotoxy(7, 18); wcout << L"                                   ";
  2012.     gotoxy(7, 19); wcout << L"                                   ";
  2013.     gotoxy(7, 20); wcout << L"                                   ";
  2014.     gotoxy(7, 21); wcout << L"                                   ";
  2015. }
  2016.  
  2017. //void Mute() {
  2018. //  int x, y;
  2019. //  while (true) {
  2020. //      do
  2021. //          UcitajKlik(x, y);
  2022. //      while ((x != 65 || y != 16) && !mute);
  2023. //      mute = true;
  2024. //
  2025. //      mtx.lock();
  2026. //      gotoxy(65, 16);
  2027. //      SetConsoleTextAttribute(ConsoleOutputHandle, 22);
  2028. //      wcout << L"♪";
  2029. //      SakriKursor();
  2030. //      mtx.unlock();
  2031. //
  2032. //      do
  2033. //          UcitajKlik(x, y);
  2034. //      while (x != 65 || y != 16);
  2035. //      mute = false;
  2036. //
  2037. //      mtx.lock();
  2038. //      gotoxy(65, 16);
  2039. //      SetConsoleTextAttribute(ConsoleOutputHandle, 22);
  2040. //      wcout << L"♫";
  2041. //      SakriKursor();
  2042. //      mtx.unlock();
  2043. //  }
  2044. //}
Add Comment
Please, Sign In to add comment