Momir

Zmijica

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