Momir

Zmijica

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