daily pastebin goal
33%
SHARE
TWEET

Untitled

a guest Jan 17th, 2018 66 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.                             #include <iostream>
  2.                             #include <graphics.h>
  3.                             #include <winbgim.h>
  4.                             #include <windows.h>
  5.                             #include <iomanip>
  6.                             #include <conio.h>
  7.                             #include <stdio.h>
  8.                             #include <time.h>
  9.                             #include <cstring>
  10.                             #include <string.h>
  11.                             #include <string>
  12.                             using namespace std;
  13.  
  14.         /// VARIABILE
  15.  
  16.             // POZITIE CURSOR
  17.                 POINT p;
  18.  
  19.             // ECRAN
  20.                 DWORD _latime_ecran;
  21.                 DWORD _inaltime_ecran;
  22.  
  23.             // BUFFER
  24.                 int page = 1;
  25.                 int _buffer[3] ={1,2,3};
  26.  
  27.             // CONTINUITATE
  28.                 bool continuitate = false;
  29.  
  30.             // IESIRE
  31.                 bool iesire = false;
  32.  
  33.             // NAVIGARE
  34.                 int index = 0;
  35.  
  36.             // TEXT
  37.                 int stil_text = 8;
  38.  
  39.             // MENIU
  40.                 struct Meniu{
  41.                     int x1, x2, y1, y2;
  42.                     int centru_x, centru_y;
  43.  
  44.                     int cod_culoare;
  45.  
  46.                     bool colt_ss, colt_sj, colt_ds, colt_dj;
  47.  
  48.                 }_meniu[4][5];
  49.                 bool _limitator_click = true;
  50.  
  51.             // joc-G
  52.                 int index_joc_G;
  53.                 struct Tabla{
  54.                     int cod_culoare;
  55.                     //coordonate
  56.                     int centru_x;
  57.                     int centru_y;
  58.  
  59.                     int marime;
  60.  
  61.                     int x1, x2, y1, y2;
  62.  
  63.                 }_tabla;
  64.                 struct ZonaJoc{
  65.  
  66.                     int x1, x2, y1, y2;
  67.                     int cod_culoare;
  68.                     int jucator;
  69.  
  70.  
  71.  
  72.                 }_zona_joc[7][7];
  73.                 int jucator_curent = 1;
  74.                 bool masca = false;
  75.                 int ultimulCastigator = 0;
  76.                 bool consola = false;
  77.                 char txt_nou[200];
  78.                 char istoric[10][200];
  79.  
  80.  
  81.  
  82.             // TIMP
  83.  
  84.  
  85.  
  86.         /// FUNCTII
  87.  
  88.             // SETARI
  89.                 void _dimensiuni_ecran();
  90.                 void _seteaza_ecran();
  91.                 void _buffer_dublu(bool TIP);
  92.                 void _resetare_buffer();
  93.  
  94.             // MENIU
  95.                 void _initializare_grafica_meniu();
  96.                 void _afisare_meniu();
  97.                 void _resetare_colturi();
  98.                 void _detectare_colturi();
  99.                 void _afisare_colturi();
  100.                 void _margine_fixa_colturi();
  101.                 void _actionare_butoane(int x, int y);
  102.                 void _detectare_butoane();
  103.                 void _tranzitie_meniu(int i,int ii);
  104.                 void _margine(int i, int ii);
  105.                 void _tranzitie_margini(int i, int ii);
  106.                 void _setare_meniu();
  107.                 void _margine_dubla(int i, int ii);
  108.  
  109.             // JOC-G
  110.                 void _main_jocG();
  111.                 void _titlu();
  112.                 void _ecran_negru();
  113.                 void _setare_tabla(int i, int ii);
  114.                 void _afisare_butoane_meniu();
  115.                 void _setare_zona_joc();
  116.                 void _actualizare_culori();
  117.                 void _afisare_zona_joc();
  118.                 void _comenzi_consolosa();
  119.                 void _masca_zona_joc();
  120.                 void _detectare_miscare();
  121.                 void _tranzitie_glisare(int i, int ii, int t);
  122.                 void _detectare_castigator(int i, int ii);
  123.                 void _afisare_player_curent(int TIP);
  124.                 void _afisare_ultmul_castigator();
  125.                 void _set_AI_zone();
  126.                 void _AI();
  127.                 void _consola();
  128.  
  129.  
  130.  
  131.             // CEAS
  132.                 void ceas(int i, int ii);
  133.  
  134.  
  135.  
  136.  
  137. int main()
  138. {
  139.     /// INITIALIZARE
  140.     _seteaza_ecran();
  141.     _initializare_grafica_meniu();
  142.  
  143.     /// INITILIAZARE JOC-G
  144.     _setare_tabla(_inaltime_ecran/2 ,_inaltime_ecran/2 + 40);
  145.     _setare_zona_joc();
  146.  
  147.     /// RULARE
  148.     while(!iesire){
  149.         GetCursorPos(&p);
  150.         if((GetKeyState(VK_LBUTTON) & 0x100) == 0) _limitator_click = true;
  151.         _buffer_dublu(false);
  152.         {
  153.             switch(index){
  154.             /** MENIU **/ { case 0:
  155.                 {
  156.                     cleardevice();
  157.                     _afisare_meniu();
  158.                     _setare_meniu();
  159.                     _afisare_colturi();
  160.                     _detectare_butoane();
  161.                     ceas(1,4);
  162.                 }
  163.                 break;
  164.             }
  165.  
  166.             /** TITLU / INFORMATII **/ { case 2:
  167.                 {
  168.                     _margine(1,2);
  169.  
  170.                     _margine_dubla(1,2);
  171.                 }
  172.                 break;
  173.             }
  174.  
  175.             /** JOC-G **/ { case 1:
  176.                 {
  177.                     _margine(1,1);
  178.                     _main_jocG();
  179.                     _margine_dubla(1,1);
  180.                 }
  181.                 break;
  182.             }
  183.  
  184.             /**  **/ { case 4:
  185.                 {
  186.                     _margine(1,4);
  187.  
  188.                     _margine_dubla(1,4);
  189.                 }
  190.                 break;
  191.             }
  192.  
  193.             /**  **/ { case 5:
  194.                 {
  195.                     _margine(2,1);
  196.                     _afisare_zona_joc();
  197.                     _afisare_butoane_meniu();
  198.                     _margine_dubla(2,1);
  199.                 }
  200.                 break;
  201.             }
  202.  
  203.             /**  **/ { case 6:
  204.                 {
  205.                     _margine(2,2);
  206.  
  207.                     _margine_dubla(2,2);
  208.                 }
  209.                 break;
  210.             }
  211.  
  212.             /**  **/ { case 7:
  213.                 {
  214.                     _margine(2,3);
  215.  
  216.                     _margine_dubla(2,3);
  217.                 }
  218.                 break;
  219.             }
  220.  
  221.             /**  **/ { case 8:
  222.                 {
  223.                     _margine(2,4);
  224.  
  225.                     _margine_dubla(2,4);
  226.                 }
  227.                 break;
  228.             }
  229.  
  230.             /**  **/ { case 9:
  231.                 {
  232.                     _margine(3,1);
  233.  
  234.                     _margine_dubla(3,1);
  235.                 }
  236.                 break;
  237.             }
  238.  
  239.             /**  **/ { case 10:
  240.                 {
  241.                     _margine(3,2);
  242.  
  243.                     _margine_dubla(3,2);
  244.                 }
  245.                 break;
  246.             }
  247.  
  248.             /**  **/ { case 11:
  249.                 {
  250.                     _margine(3,3);
  251.  
  252.                     _margine_dubla(3,3);
  253.                 }
  254.                 break;
  255.             }
  256.  
  257.             /**  **/ { case 12:
  258.                 {
  259.                     iesire = true;
  260.                 }
  261.                 break;
  262.             }
  263.             }
  264.         }
  265.         _resetare_buffer();
  266.     }
  267.     return 0;
  268. }
  269.  
  270.  
  271.  
  272.     /// SETARI
  273.     void _dimensiuni_ecran(){
  274.         _latime_ecran   = GetSystemMetrics(SM_CXSCREEN)    ;
  275.         _inaltime_ecran = GetSystemMetrics(SM_CYSCREEN)    ;
  276.     }
  277.     void _seteaza_ecran(){
  278.         _dimensiuni_ecran();
  279.         initwindow(_latime_ecran, _inaltime_ecran, "", -3, -3);
  280.     }
  281.     void _buffer_dublu(bool TIP){
  282.         if(TIP == false){
  283.             setactivepage(_buffer[0]);
  284.             setvisualpage(_buffer[2]);
  285.             cleardevice();
  286.         } else {
  287.             setactivepage(_buffer[0]);
  288.             setvisualpage(_buffer[2]);
  289.         }
  290.     }
  291.     void _resetare_buffer(){
  292.         int aux = _buffer[0];
  293.         _buffer[0] = _buffer[1];
  294.         _buffer[1] = _buffer[2];
  295.         _buffer[2] = aux;
  296.  
  297.     }
  298.  
  299.     /// MENIU
  300.     void _initializare_grafica_meniu(){
  301.  
  302.         for(int i = 1; i <= 3; i++) for(int ii = 1; ii <= 4; ii++){
  303.  
  304.             _meniu[i][ii].x1 = _latime_ecran   / 4 * ( ii - 1 ) + 2;
  305.             _meniu[i][ii].x2 = _latime_ecran   / 4 *   ii       - 2;
  306.             _meniu[i][ii].y1 = _inaltime_ecran / 3 * ( i  - 1 ) + 2;
  307.             _meniu[i][ii].y2 = _inaltime_ecran / 3 *   i        - 2;
  308.  
  309.             _meniu[i][ii].centru_x = ( _meniu[i][ii].x1 + _meniu[i][ii].x2 ) / 2;
  310.             _meniu[i][ii].centru_y = ( _meniu[i][ii].y1 + _meniu[i][ii].y2 ) / 2;
  311.  
  312.         }
  313.  
  314.         _meniu[1][1].cod_culoare = 3;
  315.         _meniu[1][2].cod_culoare = 2;
  316.         _meniu[1][3].cod_culoare = 2;
  317.         _meniu[1][4].cod_culoare = 4;
  318.  
  319.         _meniu[2][1].cod_culoare = 5;
  320.         _meniu[2][2].cod_culoare = 12;
  321.         _meniu[2][3].cod_culoare = 9;
  322.         _meniu[2][4].cod_culoare = 10;
  323.  
  324.         _meniu[3][1].cod_culoare = 11;
  325.         _meniu[3][2].cod_culoare = 6;
  326.         _meniu[3][3].cod_culoare = 13;
  327.         _meniu[3][4].cod_culoare = 14;
  328.  
  329.         /// PARTICULARITATI
  330.  
  331.         _meniu[1][2].x2 = _meniu[1][3].x2;
  332.         _meniu[1][3].x1 = _meniu[1][2].x1;
  333.         _meniu[1][2].centru_x = ( _meniu[1][2].x1 + _meniu[1][2].x2 ) / 2;
  334.         _meniu[1][3].centru_x = ( _meniu[1][3].x1 + _meniu[1][3].x2 ) / 2;
  335.  
  336.     }
  337.     void _afisare_meniu(){
  338.         setbkcolor(BLACK);
  339.         for(int i = 1; i <= 3; i++) for(int ii = 1; ii<=4; ii++){
  340.             setcolor(_meniu[i][ii].cod_culoare);
  341.             rectangle(_meniu[i][ii].x1, _meniu[i][ii].y1, _meniu[i][ii].x2, _meniu[i][ii].y2);
  342.             setfillstyle(SOLID_FILL, _meniu[i][ii].cod_culoare);
  343.             floodfill(_meniu[i][ii].centru_x, _meniu[i][ii].centru_y, _meniu[i][ii].cod_culoare);
  344.         }
  345.  
  346.     }
  347.     void _resetare_colturi(){
  348.  
  349.         for(int i = 1; i <= 3; i++) for(int ii = 1; ii <= 4; ii++){
  350.  
  351.             _meniu[i][ii].colt_ss = false;
  352.             _meniu[i][ii].colt_sj = false;
  353.             _meniu[i][ii].colt_ds = false;
  354.             _meniu[i][ii].colt_dj = false;
  355.         }
  356.  
  357.     }
  358.     void _detectare_colturi(){
  359.  
  360.         _resetare_colturi();
  361.         for(int i = 1; i <= 3; i++) for(int ii = 1; ii <= 4; ii++){
  362.                 if(i == 1 && ii == 2)ii++;
  363.         if( p.x > _meniu[i][ii].x1 && p.x < _meniu[i][ii].centru_x &&
  364.             p.y > _meniu[i][ii].y1 && p.y < _meniu[i][ii].centru_y)             _meniu[i][ii].colt_ss = true;
  365.  
  366.         if( p.x >= _meniu[i][ii].centru_x && p.x <= _meniu[i][ii].x2 &&
  367.             p.y >= _meniu[i][ii].y1 && p.y <= _meniu[i][ii].centru_y)             _meniu[i][ii].colt_ds = true;
  368.  
  369.         if( p.x >= _meniu[i][ii].x1 && p.x <= _meniu[i][ii].centru_x &&
  370.             p.y >= _meniu[i][ii].centru_y && p.y <= _meniu[i][ii].y2)             _meniu[i][ii].colt_sj = true;
  371.  
  372.         if( p.x >= _meniu[i][ii].centru_x && p.x <= _meniu[i][ii].x2 &&
  373.             p.y >= _meniu[i][ii].centru_y && p.y <= _meniu[i][ii].y2)             _meniu[i][ii].colt_dj = true;
  374.  
  375.         }
  376.  
  377.     }
  378.     void _afisare_colturi(){
  379.         _detectare_colturi();
  380.         _margine_fixa_colturi();
  381.         for(int i = 1; i <= 3; i++) for(int ii = 1; ii <= 4; ii++){
  382.                 if(i == 1 && ii == 2)ii++;
  383.         if(_meniu[i][ii].colt_ss) {
  384.             setcolor(BLACK);
  385.             line(_meniu[i][ii].x1, _meniu[i][ii].y1, _meniu[i][ii].x2, _meniu[i][ii].y1);
  386.             line(_meniu[i][ii].x1, _meniu[i][ii].y1, _meniu[i][ii].x1, _meniu[i][ii].y2);
  387.             line(_meniu[i][ii].x1 + 6, _meniu[i][ii].y1 + 6, _meniu[i][ii].x2, _meniu[i][ii].y1);
  388.             line(_meniu[i][ii].x1 + 6, _meniu[i][ii].y1 + 6, _meniu[i][ii].x1, _meniu[i][ii].y2);
  389.             setfillstyle(SOLID_FILL, BLACK);
  390.             floodfill(_meniu[i][ii].x1 + 3, _meniu[i][ii].y1 + 3, BLACK);
  391.         }
  392.         if(_meniu[i][ii].colt_ds) {
  393.             setcolor(BLACK);
  394.             line(_meniu[i][ii].x1, _meniu[i][ii].y1, _meniu[i][ii].x2, _meniu[i][ii].y1);
  395.             line(_meniu[i][ii].x2, _meniu[i][ii].y1, _meniu[i][ii].x2, _meniu[i][ii].y2);
  396.             line(_meniu[i][ii].x1, _meniu[i][ii].y1, _meniu[i][ii].x2 - 6, _meniu[i][ii].y1 + 6);
  397.             line(_meniu[i][ii].x2 - 6, _meniu[i][ii].y1 + 6, _meniu[i][ii].x2, _meniu[i][ii].y2);
  398.             setfillstyle(SOLID_FILL, BLACK);
  399.             floodfill(_meniu[i][ii].x2 - 3, _meniu[i][ii].y1 + 3, BLACK);
  400.         }
  401.         if(_meniu[i][ii].colt_sj) {
  402.             setcolor(BLACK);
  403.             line(_meniu[i][ii].x1, _meniu[i][ii].y2, _meniu[i][ii].x2, _meniu[i][ii].y2);
  404.             line(_meniu[i][ii].x1, _meniu[i][ii].y1, _meniu[i][ii].x1, _meniu[i][ii].y2);
  405.             line(_meniu[i][ii].x1 + 6, _meniu[i][ii].y2 - 6, _meniu[i][ii].x2, _meniu[i][ii].y2);
  406.             line(_meniu[i][ii].x1, _meniu[i][ii].y1, _meniu[i][ii].x1 + 6, _meniu[i][ii].y2 - 6);
  407.             setfillstyle(SOLID_FILL, BLACK);
  408.             floodfill(_meniu[i][ii].x1 + 3, _meniu[i][ii].y2 - 3, BLACK);
  409.         }
  410.         if(_meniu[i][ii].colt_dj) {
  411.             setcolor(BLACK);
  412.             line(_meniu[i][ii].x1, _meniu[i][ii].y2, _meniu[i][ii].x2, _meniu[i][ii].y2);
  413.             line(_meniu[i][ii].x2, _meniu[i][ii].y1, _meniu[i][ii].x2, _meniu[i][ii].y2);
  414.             line(_meniu[i][ii].x1, _meniu[i][ii].y2, _meniu[i][ii].x2 - 6, _meniu[i][ii].y2 - 6);
  415.             line(_meniu[i][ii].x2, _meniu[i][ii].y1, _meniu[i][ii].x2 - 6, _meniu[i][ii].y2 - 6);
  416.             setfillstyle(SOLID_FILL, BLACK);
  417.             floodfill(_meniu[i][ii].x2 - 3, _meniu[i][ii].y2 - 3, BLACK);
  418.         }
  419.         }
  420.     }
  421.     void _margine_fixa_colturi(){
  422.  
  423.         if(_meniu[1][1].colt_ss == true) _meniu[1][1].colt_ss =false;
  424.         if(_meniu[1][1].colt_sj == true) _meniu[1][1].colt_sj =false;
  425.         if(_meniu[1][1].colt_ds == true) _meniu[1][1].colt_ds =false;
  426.  
  427.         if(_meniu[1][4].colt_ss == true) _meniu[1][4].colt_ss =false;
  428.         if(_meniu[1][4].colt_dj == true) _meniu[1][4].colt_dj =false;
  429.         if(_meniu[1][4].colt_ds == true) _meniu[1][4].colt_ds =false;
  430.  
  431.         if(_meniu[3][1].colt_ss == true) _meniu[3][1].colt_ss =false;
  432.         if(_meniu[3][1].colt_sj == true) _meniu[3][1].colt_sj =false;
  433.         if(_meniu[3][1].colt_dj == true) _meniu[3][1].colt_dj =false;
  434.  
  435.         if(_meniu[3][4].colt_dj == true) _meniu[3][4].colt_dj =false;
  436.         if(_meniu[3][4].colt_sj == true) _meniu[3][4].colt_sj =false;
  437.         if(_meniu[3][4].colt_ds == true) _meniu[3][4].colt_ds =false;
  438.  
  439.  
  440.         if(_meniu[1][3].colt_ss == true) _meniu[1][3].colt_ss =false;
  441.         if(_meniu[1][3].colt_ds == true) _meniu[1][3].colt_ds =false;
  442.  
  443.         if(_meniu[2][1].colt_ss == true) _meniu[2][1].colt_ss =false;
  444.         if(_meniu[2][1].colt_sj == true) _meniu[2][1].colt_sj =false;
  445.  
  446.         if(_meniu[2][4].colt_dj == true) _meniu[2][4].colt_dj =false;
  447.         if(_meniu[2][4].colt_ds == true) _meniu[2][4].colt_ds =false;
  448.  
  449.         if(_meniu[3][2].colt_dj == true) _meniu[3][2].colt_dj =false;
  450.         if(_meniu[3][2].colt_sj == true) _meniu[3][2].colt_sj =false;
  451.  
  452.         if(_meniu[3][3].colt_dj == true) _meniu[3][3].colt_dj =false;
  453.         if(_meniu[3][3].colt_sj == true) _meniu[3][3].colt_sj =false;
  454.  
  455.     }
  456.     void _actionare_butoane(int x, int y){
  457.         switch(x){
  458.             case 1:
  459.                     switch(y){
  460.                     case 1:
  461.                             index = 1;
  462.                             _tranzitie_meniu(x,y);
  463.                             _limitator_click = true;
  464.                             _tranzitie_margini(x,y);
  465.  
  466.                         break;
  467.                     case 3:
  468.                             index = 2;
  469.                             _tranzitie_meniu(x,y);
  470.                             _limitator_click = true;
  471.                             _tranzitie_margini(x,y);
  472.  
  473.                         break;
  474.                     case 4:
  475.                             index = 0;
  476.  
  477.                         break;
  478.                     }
  479.             break;
  480.         case 2:
  481.                     switch(y){
  482.                     case 1:
  483.                             index = 5;
  484.                             _tranzitie_meniu(x,y);
  485.                             _limitator_click = true;
  486.                             _tranzitie_margini(x,y);
  487.  
  488.                         break;
  489.                     case 2:
  490.                             index = 6;
  491.                             _tranzitie_meniu(x,y);
  492.                             _limitator_click = true;
  493.                             _tranzitie_margini(x,y);
  494.  
  495.                         break;
  496.                     case 3:
  497.                             index = 7;
  498.                             _tranzitie_meniu(x,y);
  499.                             _limitator_click = true;
  500.                             _tranzitie_margini(x,y);
  501.  
  502.                         break;
  503.                     case 4:
  504.                             index = 8;
  505.                             _tranzitie_meniu(x,y);
  506.                             _limitator_click = true;
  507.                             _tranzitie_margini(x,y);
  508.  
  509.                         break;
  510.                     }
  511.  
  512.             break;
  513.         case 3:
  514.                     switch(y){
  515.                     case 1:
  516.                             index = 9;
  517.                             _tranzitie_meniu(x,y);
  518.                             _limitator_click = true;
  519.                             _tranzitie_margini(x,y);
  520.  
  521.                         break;
  522.                     case 2:
  523.                             index = 10;
  524.                             _tranzitie_meniu(x,y);
  525.                             _limitator_click = true;
  526.                             _tranzitie_margini(x,y);
  527.  
  528.                         break;
  529.                     case 3:
  530.                             index = 11;
  531.                             _tranzitie_meniu(x,y);
  532.                             _limitator_click = true;
  533.                             _tranzitie_margini(x,y);
  534.  
  535.                         break;
  536.                     case 4:
  537.                             iesire = true;
  538.                         break;
  539.                     }
  540.  
  541.             break;
  542.         }
  543.     }
  544.     void _detectare_butoane(){
  545.         _resetare_colturi();
  546.         _detectare_colturi();
  547.         for(int i = 1; i <= 3; i++) for(int j = 1; j <= 4; j++){
  548.             if(i == 1 && j == 2) j++;
  549.  
  550.                 if(_meniu[i][j].colt_ss == true || _meniu[i][j].colt_ds == true ||
  551.                    _meniu[i][j].colt_sj == true || _meniu[i][j].colt_dj == true    ){
  552.                         if((GetKeyState(VK_LBUTTON) & 0x100) != 0){
  553.                             if(_limitator_click == true){_actionare_butoane(i,j); _limitator_click = false;
  554.                         }
  555.                 }
  556.             }
  557.         }
  558.     }
  559.     void _tranzitie_meniu(int i, int ii){
  560.  
  561.         int x1 = _meniu[i][ii].x1;
  562.         int x2 = _meniu[i][ii].x2;
  563.         int y1 = _meniu[i][ii].y1;
  564.         int y2 = _meniu[i][ii].y2;
  565.  
  566.         while(x1 >= 0 || x2 <= _latime_ecran || y1 >= 0 || y2 <= _inaltime_ecran){
  567.             _buffer_dublu(false);
  568.             _afisare_meniu();
  569.             setcolor(WHITE);
  570.             rectangle(x1, y1, x2, y2);
  571.             setfillstyle(SOLID_FILL, _meniu[i][ii].cod_culoare);
  572.             floodfill(_meniu[i][ii].centru_x, _meniu[i][ii].centru_y, WHITE);
  573.  
  574.             x1 -= 40;
  575.             x2 += 40;
  576.             y1 -= 40;
  577.             y2 += 40;
  578.             delay(10);
  579.  
  580.             _resetare_buffer();
  581.         }
  582.  
  583.     }
  584.     void _margine(int i, int ii){
  585.  
  586.  
  587.                     setcolor(_meniu[i][ii].cod_culoare);
  588.                     circle(0,0, 90);
  589.                     setfillstyle(SOLID_FILL, _meniu[i][ii].cod_culoare);
  590.                     floodfill(45,45,_meniu[i][ii].cod_culoare);
  591.  
  592.                     setcolor(BLACK);
  593.                     circle(0,0, 60);
  594.                     setfillstyle(SOLID_FILL, BLACK);
  595.                     floodfill(15, 15, BLACK);
  596.  
  597.                     setcolor(_meniu[i][ii].cod_culoare);
  598.                     line(13,21,19,15);
  599.                     line(14,21,20,15);
  600.                     line(15,21,21,15);
  601.  
  602.                     line(12,22,36,22);
  603.                     line(11,23,36,23);
  604.                     line(12,24,36,24);
  605.  
  606.                     line(13,25,19,31);
  607.                     line(14,25,20,31);
  608.                     line(15,25,21,31);
  609.  
  610.                     if((p.x <= 60  &&  p.y <=  1) ||
  611.                        (p.x <= 59  &&  p.y <=  2) ||
  612.                        (p.x <= 58  &&  p.y <=  3) ||
  613.                        (p.x <= 57  &&  p.y <=  4) ||
  614.                        (p.x <= 56  &&  p.y <=  5) ||
  615.                        (p.x <= 55  &&  p.y <=  6) ||
  616.                        (p.x <= 54  &&  p.y <=  7) ||
  617.                        (p.x <= 53  &&  p.y <=  8) ||
  618.                        (p.x <= 52  &&  p.y <=  9) ||
  619.                        (p.x <= 51  &&  p.y <= 10) ||
  620.                        (p.x <= 50  &&  p.y <= 11) ||
  621.                        (p.x <= 49  &&  p.y <= 12) ||
  622.                        (p.x <= 48  &&  p.y <= 13) ||
  623.                        (p.x <= 47  &&  p.y <= 14) ||
  624.                        (p.x <= 46  &&  p.y <= 15) ||
  625.                        (p.x <= 45  &&  p.y <= 16) ||
  626.                        (p.x <= 44  &&  p.y <= 17) ||
  627.                        (p.x <= 43  &&  p.y <= 18) ||
  628.                        (p.x <= 42  &&  p.y <= 19) ||
  629.                        (p.x <= 41  &&  p.y <= 20) ||
  630.                        (p.x <= 40  &&  p.y <= 21) ||
  631.                        (p.x <= 39  &&  p.y <= 22) ||
  632.                        (p.x <= 38  &&  p.y <= 23) ||
  633.                        (p.x <= 37  &&  p.y <= 24) ||
  634.                        (p.x <= 36  &&  p.y <= 25) ||
  635.                        (p.x <= 35  &&  p.y <= 26) ||
  636.                        (p.x <= 34  &&  p.y <= 27) ||
  637.                        (p.x <= 33  &&  p.y <= 28) ||
  638.                        (p.x <= 32  &&  p.y <= 29) ||
  639.                        (p.x <= 31  &&  p.y <= 30) ||
  640.                        (p.x <= 30  &&  p.y <= 31) ||
  641.                        (p.x <= 29  &&  p.y <= 32) ||
  642.                        (p.x <= 28  &&  p.y <= 33) ||
  643.                        (p.x <= 27  &&  p.y <= 34) ||
  644.                        (p.x <= 26  &&  p.y <= 35) ||
  645.                        (p.x <= 25  &&  p.y <= 36) ||
  646.                        (p.x <= 24  &&  p.y <= 37) ||
  647.                        (p.x <= 23  &&  p.y <= 38) ||
  648.                        (p.x <= 22  &&  p.y <= 39) ||
  649.                        (p.x <= 21  &&  p.y <= 40) ||
  650.                        (p.x <= 20  &&  p.y <= 41) ||
  651.                        (p.x <= 19  &&  p.y <= 42) ||
  652.                        (p.x <= 18  &&  p.y <= 43) ||
  653.                        (p.x <= 17  &&  p.y <= 44) ||
  654.                        (p.x <= 16  &&  p.y <= 45) ||
  655.                        (p.x <= 15  &&  p.y <= 46) ||
  656.                        (p.x <= 14  &&  p.y <= 47) ||
  657.                        (p.x <= 13  &&  p.y <= 48) ||
  658.                        (p.x <= 12  &&  p.y <= 49) ||
  659.                        (p.x <= 11  &&  p.y <= 50) ||
  660.                        (p.x <= 10  &&  p.y <= 51) ||
  661.                        (p.x <=  9  &&  p.y <= 52) ||
  662.                        (p.x <=  8  &&  p.y <= 53) ||
  663.                        (p.x <=  7  &&  p.y <= 54) ||
  664.                        (p.x <=  6  &&  p.y <= 55) ||
  665.                        (p.x <=  5  &&  p.y <= 56) ||
  666.                        (p.x <=  4  &&  p.y <= 57) ||
  667.                        (p.x <=  3  &&  p.y <= 58) ||
  668.                        (p.x <=  2  &&  p.y <= 59) ||
  669.                        (p.x <=  1  &&  p.y <= 60) ){
  670.  
  671.                         setfillstyle(SOLID_FILL, _meniu[i][ii].cod_culoare);
  672.                         floodfill(1,1, _meniu[i][ii].cod_culoare);
  673.  
  674.                             setcolor(WHITE);
  675.                             line(13,21,19,15);
  676.                             line(14,21,20,15);
  677.                             line(15,21,21,15);
  678.  
  679.                             line(12,22,36,22);
  680.                             line(11,23,36,23);
  681.                             line(12,24,36,24);
  682.  
  683.                             line(13,25,19,31);
  684.                             line(14,25,20,31);
  685.                             line(15,25,21,31);
  686.  
  687.  
  688.  
  689.                                 if((GetKeyState(VK_LBUTTON) & 0x100) != 0){
  690.                                     if(_limitator_click == true){
  691.  
  692.                                             if(index_joc_G != 0){
  693.                                                 index_joc_G = 0;
  694.                                                 jucator_curent = 1;
  695.                                                 _setare_zona_joc();
  696.                                                 _limitator_click = false;
  697.                                             }else{
  698.                                                 index = 0;
  699.                                                 _limitator_click = false;
  700.                                             }
  701.                                 }}
  702.  
  703.                        }
  704.  
  705.     }
  706.     void _tranzitie_margini(int i, int ii){
  707.  
  708.         int x = 50;
  709.  
  710.         while(x <= _latime_ecran ){
  711.             _buffer_dublu(false);
  712.  
  713.             setbkcolor(_meniu[i][ii].cod_culoare);
  714.             setcolor(BLACK);
  715.             rectangle(0,31, x, _inaltime_ecran - 31);
  716.             setfillstyle(SOLID_FILL, BLACK);
  717.             floodfill(x-1, _inaltime_ecran/2, BLACK);
  718.  
  719.  
  720.             if(x >= _latime_ecran - 31) x = _latime_ecran - 31;
  721.             else x += 40;
  722.             _resetare_buffer();
  723.             delay(1);
  724.         }
  725.  
  726.             for(int r = 30; r <= 60; r++){
  727.  
  728.                 _buffer_dublu(false);
  729.  
  730.  
  731.  
  732.             setbkcolor(_meniu[i][ii].cod_culoare);
  733.             setcolor(BLACK);
  734.             rectangle(0,31, _latime_ecran, _inaltime_ecran - 31);
  735.             setfillstyle(SOLID_FILL, BLACK);
  736.             floodfill(_latime_ecran/2, _inaltime_ecran/2, BLACK);
  737.  
  738.                     setcolor(_meniu[i][ii].cod_culoare);
  739.                     circle(0,0, r+30);
  740.                     setfillstyle(SOLID_FILL, _meniu[i][ii].cod_culoare);
  741.                     floodfill(32,32,_meniu[i][ii].cod_culoare);
  742.  
  743.                     setcolor(BLACK);
  744.                     circle(0,0, r);
  745.                     setfillstyle(SOLID_FILL, BLACK);
  746.                     floodfill(1, 1, BLACK);
  747.  
  748.  
  749.                     delay(1);
  750.                 _resetare_buffer();
  751.             }
  752.     }
  753.     void _setare_meniu(){
  754.  
  755.         /// 1 - 1
  756.  
  757.         setcolor(BLACK);
  758.         settextstyle(stil_text, 0, 16);
  759.         int TW = textwidth ("Joc-G");
  760.         int TH = textheight("Joc-G");
  761.  
  762.         setbkcolor(_meniu[1][1].cod_culoare);
  763.         outtextxy(_meniu[1][1].centru_x - TW/2, _meniu[1][1].centru_y - TH/2, "Joc-G");
  764.         setbkcolor(BLACK);
  765.  
  766.  
  767.         /// 1 - 3
  768.  
  769.         setcolor(BLACK);
  770.         settextstyle(stil_text, 0, 18);
  771.         TW = textwidth ("PROJECTS");
  772.         TH = textheight("PROJECTS");
  773.  
  774.         setbkcolor(_meniu[1][3].cod_culoare);
  775.         outtextxy(_meniu[1][3].centru_x - TW/2, _meniu[1][3].centru_y - TH/2, "PROJECTS");
  776.         setbkcolor(BLACK);
  777.  
  778.         setcolor(BLACK);
  779.         settextstyle(stil_text, 0, 4);
  780.         TW = textwidth ("! Informatii  ");
  781.         TH = textheight("! Informatii  ");
  782.  
  783.         setbkcolor(_meniu[1][3].cod_culoare);
  784.         outtextxy(_meniu[1][3].centru_x + 50 - 4, _meniu[1][3].centru_y/3*5 - TH/2, "! Informatii  ");
  785.         setbkcolor(BLACK);
  786.         circle(_meniu[1][3].centru_x + 56, _meniu[1][3].centru_y/3*5, 19);
  787.         circle(_meniu[1][3].centru_x + 56, _meniu[1][3].centru_y/3*5, 18);
  788.         circle(_meniu[1][3].centru_x + 56, _meniu[1][3].centru_y/3*5, 17);
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.         /// 3 - 4
  800.  
  801.         setcolor(BLACK);
  802.         settextstyle(stil_text, 0, 16);
  803.         TW = textwidth ("Iesire");
  804.         TH = textheight("Iesire");
  805.  
  806.         setbkcolor(_meniu[3][4].cod_culoare);
  807.         outtextxy(_meniu[3][4].centru_x - TW/2, _meniu[3][4].centru_y - TH/2, "Iesire");
  808.         setbkcolor(BLACK);
  809.  
  810.     }
  811.     void _margine_dubla(int i, int ii){
  812.  
  813.         setbkcolor(BLACK);
  814.         setcolor(_meniu[i][ii].cod_culoare);
  815.         setfillstyle(SOLID_FILL, _meniu[i][ii].cod_culoare);
  816.  
  817.         rectangle(60,0,_latime_ecran,30);
  818.         floodfill(_latime_ecran/2,15,_meniu[i][ii].cod_culoare);
  819.  
  820.         rectangle(0,_inaltime_ecran - 30,_latime_ecran,_inaltime_ecran);
  821.         floodfill(_latime_ecran/2,_inaltime_ecran - 15,_meniu[i][ii].cod_culoare);
  822.  
  823.     }
  824.  
  825.  
  826.     /// joc-G
  827.     void _main_jocG(){
  828.         switch(index_joc_G){
  829.  
  830.         case 0:
  831.             {
  832.                 _titlu();
  833.                 _afisare_zona_joc();
  834.                 _afisare_butoane_meniu();
  835.                 _afisare_ultmul_castigator();
  836.  
  837.             }
  838.             break;
  839.  
  840.         case 1:
  841.             {
  842.                 _afisare_zona_joc();
  843.                 _comenzi_consolosa();
  844.                 _set_AI_zone();
  845.                 _detectare_miscare();
  846.                 _afisare_player_curent(2);
  847.                 _AI();
  848.                 _consola();
  849.             }
  850.             break;
  851.  
  852.         case 2:
  853.             {
  854.                 _afisare_zona_joc();
  855.                 _comenzi_consolosa();
  856.                 _detectare_miscare();
  857.                 _afisare_player_curent(1);
  858.                 _consola();
  859.             }
  860.             break;
  861.  
  862.         }
  863.     }
  864.     void _titlu(){
  865.  
  866.  
  867.         setcolor(WHITE);
  868.         settextstyle(stil_text, 0, 17);
  869.         //setbkcolor(BLACK);
  870.         outtextxy(_latime_ecran/2 + 20, 125 , "Patratele glisante");
  871.  
  872.     }
  873.     void _setare_tabla(int i, int ii){
  874.  
  875.         _tabla.centru_x = i;
  876.         _tabla.centru_y = ii;
  877.  
  878.         _tabla.marime   = 500;
  879.  
  880.         _tabla.x1 = _tabla.centru_x - _tabla.marime/2;
  881.         _tabla.x2 = _tabla.centru_x + _tabla.marime/2;
  882.         _tabla.y1 = _tabla.centru_y - _tabla.marime/2;
  883.         _tabla.y2 = _tabla.centru_y + _tabla.marime/2;
  884.     }
  885.     void _afisare_butoane_meniu(){
  886.         int b1x1 = _latime_ecran/2 + 120;    int b1x2 = b1x1 + 400;    int b1y1 = 250; int b1y2 = 320;
  887.         int b2x1 = _latime_ecran/2 + 120;    int b2x2 = b1x1 + 400;    int b2y1 = 360; int b2y2 = 430;
  888.  
  889.         setcolor(_meniu[1][1].cod_culoare);
  890.  
  891.         rectangle(b1x1 + 0, b1y1 + 0, b1x2 - 0, b1y2 - 0);
  892.         rectangle(b1x1 + 1, b1y1 + 1, b1x2 - 1, b1y2 - 1);
  893.         rectangle(b1x1 + 2, b1y1 + 2, b1x2 - 2, b1y2 - 2);
  894.         rectangle(b1x1 + 3, b1y1 + 3, b1x2 - 3, b1y2 - 3);
  895.         rectangle(b1x1 + 4, b1y1 + 4, b1x2 - 4, b1y2 - 4);
  896.  
  897.         circle(b1x1, b1y1, 30);        circle(b1x1, b1y1, 29);        circle(b1x1, b1y1, 28);        circle(b1x1, b1y1, 27);        circle(b1x1, b1y1, 26);
  898.         circle(b1x2, b1y1, 30);        circle(b1x2, b1y1, 29);        circle(b1x2, b1y1, 28);        circle(b1x2, b1y1, 27);        circle(b1x2, b1y1, 26);
  899.         circle(b1x1, b1y2, 30);        circle(b1x1, b1y2, 29);        circle(b1x1, b1y2, 28);        circle(b1x1, b1y2, 27);        circle(b1x1, b1y2, 26);
  900.         circle(b1x2, b1y2, 30);        circle(b1x2, b1y2, 29);        circle(b1x2, b1y2, 28);        circle(b1x2, b1y2, 27);        circle(b1x2, b1y2, 26);
  901.  
  902.  
  903.         setcolor(BLACK);
  904.         circle(b1x1, b1y1, 25);
  905.         circle(b1x2, b1y1, 25);
  906.         circle(b1x1, b1y2, 25);
  907.         circle(b1x2, b1y2, 25);
  908.  
  909.         setfillstyle(SOLID_FILL,BLACK);
  910.         floodfill(b1x1,b1y1, BLACK);
  911.         floodfill(b1x2,b1y1, BLACK);
  912.         floodfill(b1x1,b1y2, BLACK);
  913.         floodfill(b1x2,b1y2, BLACK);
  914.  
  915.         rectangle(b1x1 - 1, b1y1 - 1, b1x2 + 1, b1y2 + 1);
  916.  
  917.         setcolor(RED);
  918.         rectangle(b1x1 - 2, b1y1 - 2, b1x2 + 2, b1y2 + 2);
  919.         rectangle(b1x1 - 32, b1y1 - 32, b1x2 + 32, b1y2 + 32);
  920.         setfillstyle(SOLID_FILL, RED);
  921.         floodfill(b1x1 - 5, b1y1 - 5, RED);
  922.         setfillstyle(SOLID_FILL, BLACK);
  923.         floodfill(b1x1 - 5, b1y1 - 5, BLACK);
  924.  
  925.  
  926.  
  927.         /////////
  928.  
  929.         setcolor(_meniu[1][1].cod_culoare);
  930.  
  931.  
  932.         rectangle(b2x1 + 0, b2y1 + 0, b2x2 - 0, b2y2 - 0);
  933.         rectangle(b2x1 + 1, b2y1 + 1, b2x2 - 1, b2y2 - 1);
  934.         rectangle(b2x1 + 2, b2y1 + 2, b2x2 - 2, b2y2 - 2);
  935.         rectangle(b2x1 + 3, b2y1 + 3, b2x2 - 3, b2y2 - 3);
  936.         rectangle(b2x1 + 4, b2y1 + 4, b2x2 - 4, b2y2 - 4);
  937.  
  938.         circle(b2x1, b2y1, 30);        circle(b2x1, b2y1, 29);        circle(b2x1, b2y1, 28);        circle(b2x1, b2y1, 27);        circle(b2x1, b2y1, 26);
  939.         circle(b2x2, b2y1, 30);        circle(b2x2, b2y1, 29);        circle(b2x2, b2y1, 28);        circle(b2x2, b2y1, 27);        circle(b2x2, b2y1, 26);
  940.         circle(b2x1, b2y2, 30);        circle(b2x1, b2y2, 29);        circle(b2x1, b2y2, 28);        circle(b2x1, b2y2, 27);        circle(b2x1, b2y2, 26);
  941.         circle(b2x2, b2y2, 30);        circle(b2x2, b2y2, 29);        circle(b2x2, b2y2, 28);        circle(b2x2, b2y2, 27);        circle(b2x2, b2y2, 26);
  942.  
  943.  
  944.         setcolor(BLACK);
  945.         circle(b2x1, b2y1, 25);
  946.         circle(b2x2, b2y1, 25);
  947.         circle(b2x1, b2y2, 25);
  948.         circle(b2x2, b2y2, 25);
  949.  
  950.         setfillstyle(SOLID_FILL,BLACK);
  951.         floodfill(b2x1,b2y1, BLACK);
  952.         floodfill(b2x2,b2y1, BLACK);
  953.         floodfill(b2x1,b2y2, BLACK);
  954.         floodfill(b2x2,b2y2, BLACK);
  955.  
  956.         rectangle(b2x1 - 1, b2y1 - 1, b2x2 + 1, b2y2 + 1);
  957.  
  958.         setcolor(RED);
  959.         rectangle(b2x1 - 2, b2y1 - 2, b2x2 + 2, b2y2 + 2);
  960.         rectangle(b2x1 - 32, b2y1 - 32, b2x2 + 32, b2y2 + 32);
  961.         setfillstyle(SOLID_FILL, RED);
  962.         floodfill(b2x1 - 5, b2y1 - 5, RED);
  963.         setfillstyle(SOLID_FILL, BLACK);
  964.         floodfill(b2x1 - 5, b2y1 - 5, BLACK);
  965.  
  966.         if(p.x >= b1x1 && p.x <= b1x2 && p.y >= b1y1 && p.y <= b1y2){
  967.  
  968.             setfillstyle(SOLID_FILL, _meniu[1][1].cod_culoare);
  969.             floodfill(b1x1 + 60, b1y1 + 10, _meniu[1][1].cod_culoare);
  970.             setcolor(WHITE);
  971.             settextstyle(stil_text, 0, 6);
  972.             int TW = textwidth ("1 JUCATOR");
  973.             int TH = textheight("1 JUCATOR");
  974.  
  975.             setbkcolor(_meniu[1][1].cod_culoare);
  976.             outtextxy((b1x1 + b1x2)/2 - TW/2, (b1y1 + b1y2)/2 - TH/2, "1 JUCATOR");
  977.             setbkcolor(BLACK);
  978.  
  979.  
  980.                         if((GetKeyState(VK_LBUTTON) & 0x100) != 0)
  981.                             if(_limitator_click == true){
  982.                                     index_joc_G = 1;
  983.                                 _limitator_click = false;
  984.                                 _setare_zona_joc();
  985.                                 ultimulCastigator = 0;
  986.                         }
  987.  
  988.  
  989.         }else{
  990.             setcolor(WHITE);
  991.             settextstyle(stil_text, 0, 6);
  992.             int TW = textwidth ("1 JUCATOR");
  993.             int TH = textheight("1 JUCATOR");
  994.  
  995.             setbkcolor(BLACK);
  996.             outtextxy((b1x1 + b1x2)/2 - TW/2, (b1y1 + b1y2)/2 - TH/2, "1 JUCATOR");
  997.             setbkcolor(BLACK);
  998.  
  999.         }
  1000.  
  1001.  
  1002.  
  1003.  
  1004.         if(p.x >= b2x1 && p.x <= b2x2 && p.y >= b2y1 && p.y <= b2y2){
  1005.  
  1006.             setfillstyle(SOLID_FILL, _meniu[1][1].cod_culoare);
  1007.             floodfill(b2x1 + 60, b2y1 + 10, _meniu[1][1].cod_culoare);
  1008.             setcolor(WHITE);
  1009.             settextstyle(stil_text, 0, 6);
  1010.             int TW = textwidth ("2 JUCATORI");
  1011.             int TH = textheight("2 JUCATORI");
  1012.  
  1013.             setbkcolor(_meniu[1][1].cod_culoare);
  1014.             outtextxy((b2x1 + b2x2)/2 - TW/2, (b2y1 + b2y2)/2 - TH/2, "2 JUCATORI");
  1015.             setbkcolor(BLACK);
  1016.  
  1017.  
  1018.                         if((GetKeyState(VK_LBUTTON) & 0x100) != 0)
  1019.                             if(_limitator_click == true){index_joc_G = 2; _limitator_click = false;
  1020.                             _setare_zona_joc();
  1021.                             ultimulCastigator = 0;
  1022.                         }
  1023.  
  1024.  
  1025.         }else{
  1026.             setcolor(WHITE);
  1027.             settextstyle(stil_text, 0, 6);
  1028.             int TW = textwidth ("2 JUCATORI");
  1029.             int TH = textheight("2 JUCATORI");
  1030.  
  1031.             setbkcolor(BLACK);
  1032.             outtextxy((b2x1 + b2x2)/2 - TW/2, (b2y1 + b2y2)/2 - TH/2, "2 JUCATORI");
  1033.             setbkcolor(BLACK);
  1034.  
  1035.         }
  1036.  
  1037.             setcolor(WHITE);
  1038.             settextstyle(stil_text, 0, 5);
  1039.             int TW = textwidth ("    Aspect modern");
  1040.             int TH = textheight("    Aspect modern");
  1041.  
  1042.             setbkcolor(BLACK);
  1043.             outtextxy((b2x1 + b2x2)/2 - TW/2, (b2y1 + b2y2)/2 - TH/2 + 112, "    Aspect modern");
  1044.             setbkcolor(BLACK);
  1045.  
  1046.         rectangle(b2x1 + 0,b2y2 + 50 + 0, b2x1 + 50 - 0, b2y2 + 100 - 0);
  1047.         rectangle(b2x1 + 1,b2y2 + 50 + 1, b2x1 + 50 - 1, b2y2 + 100 - 1);
  1048.         rectangle(b2x1 + 2,b2y2 + 50 + 2, b2x1 + 50 - 2, b2y2 + 100 - 2);
  1049.         rectangle(b2x1 + 3,b2y2 + 50 + 3, b2x1 + 50 - 3, b2y2 + 100 - 3);
  1050.         rectangle(b2x1 + 4,b2y2 + 50 + 4, b2x1 + 50 - 4, b2y2 + 100 - 4);
  1051.  
  1052.         if( p.x >= b2x1 && p.x <= b2x1 + 50 && p.y >= b2y2 + 50 && p.y <= b2y2 + 100){
  1053.                     if((GetKeyState(VK_LBUTTON) & 0x100) != 0){
  1054.                        if(_limitator_click == true){
  1055.                                 if(masca == true) masca = false;
  1056.                                 else masca = true;
  1057.                                 _limitator_click = false;
  1058.                     }
  1059.             }
  1060.         }
  1061.  
  1062.         if(masca == true ){
  1063.  
  1064.             setfillstyle(SOLID_FILL, 3);
  1065.             floodfill(b2x1 + 25, b2y2 + 75, WHITE);
  1066.  
  1067.         }
  1068.  
  1069.     }
  1070.     void _setare_zona_joc(){
  1071.         jucator_curent = 1;
  1072.  
  1073.         for(int i = 0; i <= 6; i++) {
  1074.             _zona_joc[0][i].jucator = 9;
  1075.             _zona_joc[6][i].jucator = 9;
  1076.  
  1077.         }
  1078.         for(int i = 0; i <= 6; i++) {
  1079.             _zona_joc[i][0].jucator = 9;
  1080.             _zona_joc[i][6].jucator = 9;
  1081.  
  1082.  
  1083.     }
  1084.  
  1085.         for(int i = 1; i <= 5; i++) for(int ii = 1; ii <= 5; ii++){
  1086.             _zona_joc[i][ii].x1 = _tabla.x1 + _tabla.marime / 5 * (ii-1) + 0;
  1087.             _zona_joc[i][ii].x2 = _tabla.x1 + _tabla.marime / 5 *  ii - 0;
  1088.             _zona_joc[i][ii].y1 = _tabla.y1 + _tabla.marime / 5 * (i-1) +0;
  1089.             _zona_joc[i][ii].y2 = _tabla.y1 + _tabla.marime / 5 *  i - 0;
  1090.  
  1091.             _zona_joc[i][ii].jucator = 2 - (i + ii) % 2;
  1092.         }
  1093.  
  1094.         _zona_joc[3][3].jucator = 0;
  1095.         _actualizare_culori();
  1096.  
  1097.  
  1098.     }
  1099.     void _actualizare_culori(){
  1100.         for(int i = 1; i <= 5; i++) for(int ii = 1; ii <= 5; ii++){
  1101.  
  1102.             if(_zona_joc[i][ii].jucator == 0) _zona_joc[i][ii].cod_culoare = getcolor();
  1103.             if(_zona_joc[i][ii].jucator == 1) _zona_joc[i][ii].cod_culoare = 1;
  1104.             if(_zona_joc[i][ii].jucator == 2) _zona_joc[i][ii].cod_culoare = 2;
  1105.  
  1106.         }
  1107.  
  1108.     }
  1109.     void _afisare_zona_joc(){
  1110.  
  1111.         setcolor(WHITE);
  1112.         rectangle(_tabla.x1, _tabla.y1, _tabla.x2, _tabla.y2);
  1113.         setfillstyle(SOLID_FILL, WHITE);
  1114.         floodfill(_tabla.centru_x, _tabla.centru_y, WHITE);
  1115.  
  1116.         for(int i = 1; i <= 5; i++) for(int ii = 1; ii <= 5; ii++){
  1117.  
  1118.             setcolor(_zona_joc[i][ii].cod_culoare);
  1119.             rectangle(_zona_joc[i][ii].x1, _zona_joc[i][ii].y1, _zona_joc[i][ii].x2, _zona_joc[i][ii].y2);
  1120.             setfillstyle(SOLID_FILL, _zona_joc[i][ii].cod_culoare);
  1121.             floodfill((_zona_joc[i][ii].x1 + _zona_joc[i][ii].x2)/2, (_zona_joc[i][ii].y1 + _zona_joc[i][ii].y2)/2, _zona_joc[i][ii].cod_culoare);
  1122.         }
  1123.  
  1124.         if(masca == true)_masca_zona_joc();
  1125.     }
  1126.     void _comenzi_consolosa(){
  1127.  
  1128.         setbkcolor(BLACK);
  1129.         setcolor(WHITE);
  1130.  
  1131.         settextstyle(stil_text, 0, 8);
  1132.         int TW = textwidth ("1");
  1133.         int TH = textheight("1");
  1134.  
  1135.         outtextxy((_zona_joc[1][1].x1 + _zona_joc[1][1].x2)/2 - TW/2, (_zona_joc[1][1].y1 + _zona_joc[1][1].y2)/2 - TH/2 - 100 , "A");
  1136.  
  1137.         outtextxy((_zona_joc[1][2].x1 + _zona_joc[1][2].x2)/2 - TW/2, (_zona_joc[1][2].y1 + _zona_joc[1][2].y2)/2 - TH/2 - 100 , "B");
  1138.  
  1139.  
  1140.  
  1141.         outtextxy((_zona_joc[1][3].x1 + _zona_joc[1][3].x2)/2 - TW/2, (_zona_joc[1][3].y1 + _zona_joc[1][3].y2)/2 - TH/2 - 100 , "C");
  1142.  
  1143.  
  1144.  
  1145.         outtextxy((_zona_joc[1][4].x1 + _zona_joc[1][4].x2)/2 - TW/2, (_zona_joc[1][4].y1 + _zona_joc[1][4].y2)/2 - TH/2 - 100 , "D");
  1146.  
  1147.  
  1148.  
  1149.  
  1150.         outtextxy((_zona_joc[1][5].x1 + _zona_joc[1][5].x2)/2 - TW/2, (_zona_joc[1][5].y1 + _zona_joc[1][5].y2)/2 - TH/2 - 100 , "E");
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.         outtextxy((_zona_joc[1][1].x1 + _zona_joc[1][1].x2)/2 - TW/2 - 100, (_zona_joc[1][1].y1 + _zona_joc[1][1].y2)/2 - TH/2, "1");
  1161.  
  1162.  
  1163.  
  1164.  
  1165.         outtextxy((_zona_joc[2][1].x1 + _zona_joc[2][1].x2)/2 - TW/2 - 100, (_zona_joc[2][1].y1 + _zona_joc[2][1].y2)/2 - TH/2, "2");
  1166.  
  1167.  
  1168.  
  1169.  
  1170.         outtextxy((_zona_joc[3][1].x1 + _zona_joc[3][1].x2)/2 - TW/2 - 100, (_zona_joc[3][1].y1 + _zona_joc[3][1].y2)/2 - TH/2, "3");
  1171.  
  1172.  
  1173.         outtextxy((_zona_joc[4][1].x1 + _zona_joc[4][1].x2)/2 - TW/2 - 100, (_zona_joc[4][1].y1 + _zona_joc[4][1].y2)/2 - TH/2, "4");
  1174.  
  1175.  
  1176.  
  1177.         outtextxy((_zona_joc[5][1].x1 + _zona_joc[5][1].x2)/2 - TW/2 - 100, (_zona_joc[5][1].y1 + _zona_joc[5][1].y2)/2 - TH/2, "5");
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.     }
  1185.     void _masca_zona_joc(){
  1186.  
  1187.         setcolor(WHITE);
  1188.         rectangle(_tabla.x1 - 2, _tabla.y1 - 2, _tabla.x2 + 2, _tabla.y1 + 2);
  1189.         setfillstyle(SOLID_FILL, WHITE);
  1190.         floodfill(_tabla.x1,_tabla.y1,WHITE);
  1191.  
  1192.         setcolor(WHITE);
  1193.         rectangle(_tabla.x1 - 2, _tabla.y1 + 2, _tabla.x1 + 2, _tabla.y2 - 2);
  1194.         setfillstyle(SOLID_FILL, WHITE);
  1195.         floodfill(_tabla.x1,_tabla.y1 + 3,WHITE);
  1196.  
  1197.         setcolor(WHITE);
  1198.         rectangle(_tabla.x1 - 2, _tabla.y2 - 2, _tabla.x2 + 2, _tabla.y2 + 2);
  1199.         setfillstyle(SOLID_FILL, WHITE);
  1200.         floodfill(_tabla.x1,_tabla.y2,WHITE);
  1201.  
  1202.         setcolor(WHITE);
  1203.         rectangle(_tabla.x2 - 2, _tabla.y1 + 2, _tabla.x2 + 2, _tabla.y2 - 2);
  1204.         setfillstyle(SOLID_FILL, WHITE);
  1205.         floodfill(_tabla.x2,_tabla.y1 + 3,WHITE);
  1206.  
  1207.         for( int i = 2; i <= 5; i++){
  1208.             setcolor(WHITE);
  1209.             rectangle(_zona_joc[1][i].x1 - 2, _tabla.y1 + 2, _zona_joc[1][i].x1 + 2, _tabla.y2 -2);
  1210.             setfillstyle(SOLID_FILL, WHITE);
  1211.             floodfill(_zona_joc[1][i].x1,_tabla.y1 + 3,WHITE);
  1212.         }
  1213.         for( int i = 2; i <= 5; i++){
  1214.             setcolor(RED);
  1215.             rectangle(_tabla.x1 + 2, _zona_joc[i][1].y1 - 2, _tabla.x2 - 2, _zona_joc[i][1].y1 + 2);
  1216.             setfillstyle(SOLID_FILL, RED);
  1217.             floodfill(_tabla.x1 + 3,_zona_joc[i][1].y1,RED);
  1218.         }
  1219.         for( int i = 2; i <= 5; i++){
  1220.             setcolor(WHITE);
  1221.             rectangle(_tabla.x1 + 2, _zona_joc[i][1].y1 - 2, _tabla.x2 - 2, _zona_joc[i][1].y1 + 2);
  1222.             setfillstyle(SOLID_FILL, WHITE);
  1223.             floodfill(_tabla.x1 + 3,_zona_joc[i][1].y1,WHITE);
  1224.         }
  1225.  
  1226.         int rad = 8;
  1227.  
  1228.         for(int i = 1; i <= 5; i++) for(int ii = 1; ii <= 5; ii++){
  1229.  
  1230.  
  1231.             setcolor(BLACK);
  1232.             setfillstyle(SOLID_FILL, BLACK);
  1233.             circle(_zona_joc[i][ii].x1, _zona_joc[i][ii].y1, rad);
  1234.             circle(_zona_joc[i][ii].x1, _zona_joc[i][ii].y2, rad);
  1235.             circle(_zona_joc[i][ii].x2, _zona_joc[i][ii].y1, rad);
  1236.             circle(_zona_joc[i][ii].x2, _zona_joc[i][ii].y2, rad);
  1237.  
  1238.             floodfill(_zona_joc[i][ii].x1, _zona_joc[i][ii].y1, BLACK);
  1239.             floodfill(_zona_joc[i][ii].x1, _zona_joc[i][ii].y2, BLACK);
  1240.             floodfill(_zona_joc[i][ii].x2, _zona_joc[i][ii].y1, BLACK);
  1241.             floodfill(_zona_joc[i][ii].x2, _zona_joc[i][ii].y2, BLACK);
  1242.  
  1243.  
  1244.  
  1245.             setcolor(WHITE);
  1246.             setfillstyle(SOLID_FILL, WHITE);
  1247.             circle(_zona_joc[i][ii].x1, _zona_joc[i][ii].y1, rad);
  1248.             circle(_zona_joc[i][ii].x1, _zona_joc[i][ii].y2, rad);
  1249.             circle(_zona_joc[i][ii].x2, _zona_joc[i][ii].y1, rad);
  1250.             circle(_zona_joc[i][ii].x2, _zona_joc[i][ii].y2, rad);
  1251.  
  1252.             floodfill(_zona_joc[i][ii].x1, _zona_joc[i][ii].y1, WHITE);
  1253.             floodfill(_zona_joc[i][ii].x1, _zona_joc[i][ii].y2, WHITE);
  1254.             floodfill(_zona_joc[i][ii].x2, _zona_joc[i][ii].y1, WHITE);
  1255.             floodfill(_zona_joc[i][ii].x2, _zona_joc[i][ii].y2, WHITE);
  1256.  
  1257.         }
  1258.  
  1259.         setcolor(RED);
  1260.         rectangle(_tabla.x1 -  3, _tabla.y1 -  3, _tabla.x2 +  3, _tabla.y2 +  3);
  1261.         rectangle(_tabla.x1 - 25, _tabla.y1 - 25, _tabla.x2 + 25, _tabla.y2 + 25);
  1262.         setfillstyle(SOLID_FILL, RED);
  1263.         floodfill(_tabla.x1 - 10, _tabla.y1 - 10, RED);
  1264.  
  1265.         setcolor(BLACK);
  1266.         rectangle(_tabla.x1 -  3, _tabla.y1 -  3, _tabla.x2 +  3, _tabla.y2 +  3);
  1267.         rectangle(_tabla.x1 - 25, _tabla.y1 - 25, _tabla.x2 + 25, _tabla.y2 + 25);
  1268.         setfillstyle(SOLID_FILL, BLACK);
  1269.         floodfill(_tabla.x1 - 10, _tabla.y1 - 10, BLACK);
  1270.  
  1271.  
  1272.  
  1273.     }
  1274.     void _detectare_miscare(){
  1275.  
  1276.     for(int i = 1; i <= 5; i++) for(int ii = 1; ii <= 5; ii++)
  1277.         if( p.x >= _zona_joc[i][ii].x1 && p.x <= _zona_joc[i][ii].x2 &&
  1278.             p.y >= _zona_joc[i][ii].y1 && p.y <= _zona_joc[i][ii].y2     ){
  1279.                         if((GetKeyState(VK_LBUTTON) & 0x100) != 0)
  1280.                             if(_limitator_click == true){
  1281.                                     if(_zona_joc[i][ii].jucator == jucator_curent){
  1282.                                         if(_zona_joc[i][ii + 1].jucator == 0){
  1283.                                             _zona_joc[i][ii + 1].jucator = _zona_joc[i][ii].jucator;
  1284.                                             _zona_joc[i][ii].jucator = 0;
  1285.                                             _actualizare_culori();
  1286.                                                 _tranzitie_glisare(i,ii,1);
  1287.                                                 _detectare_castigator(i,ii);
  1288.                                             if(jucator_curent == 1) jucator_curent = 2;
  1289.                                             else jucator_curent = 1;
  1290.                                         }
  1291.                                         else if(_zona_joc[i][ii - 1].jucator == 0){
  1292.                                             _zona_joc[i][ii - 1].jucator = _zona_joc[i][ii].jucator;
  1293.                                             _zona_joc[i][ii].jucator = 0;
  1294.                                             _actualizare_culori();
  1295.                                                 _tranzitie_glisare(i,ii,2);
  1296.                                                 _detectare_castigator(i,ii);
  1297.                                         if(jucator_curent == 1) jucator_curent = 2;
  1298.                                         else jucator_curent = 1;
  1299.                                         }
  1300.                                         else if(_zona_joc[i + 1][ii].jucator == 0){
  1301.                                             _zona_joc[i + 1][ii].jucator = _zona_joc[i][ii].jucator;
  1302.                                             _zona_joc[i][ii].jucator = 0;
  1303.                                             _actualizare_culori();
  1304.                                                 _tranzitie_glisare(i,ii,3);
  1305.                                                 _detectare_castigator(i,ii);
  1306.                                             if(jucator_curent == 1) jucator_curent = 2;
  1307.                                             else jucator_curent = 1;
  1308.                                         }
  1309.                                         else if(_zona_joc[i - 1][ii].jucator == 0){
  1310.                                             _zona_joc[i - 1][ii].jucator = _zona_joc[i][ii].jucator;
  1311.                                             _zona_joc[i][ii].jucator = 0;
  1312.                                             _actualizare_culori();
  1313.                                                 _tranzitie_glisare(i,ii,4);
  1314.                                                 _detectare_castigator(i,ii);
  1315.                                             if(jucator_curent == 1) jucator_curent = 2;
  1316.                                             else jucator_curent = 1;
  1317.                                         }
  1318.                                     }
  1319.                             _limitator_click = false;
  1320.                         }
  1321.             }
  1322.  
  1323.  
  1324.  
  1325.  
  1326.     }
  1327.     void _tranzitie_glisare(int i, int ii, int t){
  1328.  
  1329.  
  1330.  
  1331.         for(int val = 1; val <= 101; val++){
  1332.             _buffer_dublu(true);
  1333.             {
  1334.                 _margine(1,1);
  1335.  
  1336.                 if(t == 1){
  1337.                     setcolor(_zona_joc[i][ii + 1].cod_culoare);
  1338.                     rectangle(_zona_joc[i][ii + 1].x1, _zona_joc[i][ii + 1].y1, _zona_joc[i][ii + 1].x1 + val, _zona_joc[i][ii + 1].y2);
  1339.                     rectangle(_zona_joc[i][ii + 1].x1, _zona_joc[i][ii + 1].y1, _zona_joc[i][ii + 1].x1 + val - 1, _zona_joc[i][ii + 1].y2);
  1340.                     rectangle(_zona_joc[i][ii + 1].x1, _zona_joc[i][ii + 1].y1, _zona_joc[i][ii + 1].x1 + val - 2, _zona_joc[i][ii + 1].y2);
  1341.                     setcolor(WHITE);
  1342.                     rectangle(_zona_joc[i][ii].x1, _zona_joc[i][ii].y1, _zona_joc[i][ii].x1 + val, _zona_joc[i][ii].y2);
  1343.                     rectangle(_zona_joc[i][ii].x1, _zona_joc[i][ii].y1, _zona_joc[i][ii].x1 + val - 1, _zona_joc[i][ii].y2);
  1344.                     rectangle(_zona_joc[i][ii].x1, _zona_joc[i][ii].y1, _zona_joc[i][ii].x1 + val - 2, _zona_joc[i][ii].y2);
  1345.  
  1346.                 }
  1347.                 if(t == 2){
  1348.                     setcolor(_zona_joc[i][ii - 1].cod_culoare);
  1349.                     rectangle(_zona_joc[i][ii - 1].x2 - val, _zona_joc[i][ii - 1].y1, _zona_joc[i][ii + 1].x2 , _zona_joc[i][ii - 1].y2);
  1350.                     rectangle(_zona_joc[i][ii - 1].x2 - val + 1, _zona_joc[i][ii - 1].y1, _zona_joc[i][ii + 1].x2 , _zona_joc[i][ii - 1].y2);
  1351.                     rectangle(_zona_joc[i][ii - 1].x2 - val + 2, _zona_joc[i][ii - 1].y1, _zona_joc[i][ii + 1].x2 , _zona_joc[i][ii - 1].y2);
  1352.                     setcolor(WHITE);
  1353.                     rectangle(_zona_joc[i][ii].x2 - val, _zona_joc[i][ii - 1].y1, _zona_joc[i][ii].x2 , _zona_joc[i][ii - 1].y2);
  1354.                     rectangle(_zona_joc[i][ii].x2 - val + 1, _zona_joc[i][ii - 1].y1, _zona_joc[i][ii].x2 , _zona_joc[i][ii - 1].y2);
  1355.                     rectangle(_zona_joc[i][ii].x2 - val + 2, _zona_joc[i][ii - 1].y1, _zona_joc[i][ii].x2 , _zona_joc[i][ii - 1].y2);
  1356.                 }
  1357.                 if(t == 3){
  1358.                     setcolor(_zona_joc[i + 1][ii].cod_culoare);
  1359.                     rectangle(_zona_joc[i][ii].x1, _zona_joc[i + 1][ii].y1, _zona_joc[i][ii].x2 , _zona_joc[i + 1][ii].y1 + val);
  1360.                     rectangle(_zona_joc[i][ii].x1, _zona_joc[i + 1][ii].y1, _zona_joc[i][ii].x2 , _zona_joc[i + 1][ii].y1 + val - 1);
  1361.                     rectangle(_zona_joc[i][ii].x1, _zona_joc[i + 1][ii].y1, _zona_joc[i][ii].x2 , _zona_joc[i + 1][ii].y1 + val - 2);
  1362.                     setcolor(WHITE);
  1363.                     rectangle(_zona_joc[i][ii].x1, _zona_joc[i][ii].y1, _zona_joc[i][ii].x2 , _zona_joc[i][ii].y1 + val);
  1364.                     rectangle(_zona_joc[i][ii].x1, _zona_joc[i][ii].y1, _zona_joc[i][ii].x2 , _zona_joc[i][ii].y1 + val - 1);
  1365.                     rectangle(_zona_joc[i][ii].x1, _zona_joc[i][ii].y1, _zona_joc[i][ii].x2 , _zona_joc[i][ii].y1 + val - 2);
  1366.                 }
  1367.                 if(t == 4){
  1368.                     setcolor(_zona_joc[i - 1][ii].cod_culoare);
  1369.                     rectangle(_zona_joc[i][ii].x1, _zona_joc[i - 1][ii].y2 - val, _zona_joc[i][ii].x2 , _zona_joc[i - 1][ii].y2);
  1370.                     rectangle(_zona_joc[i][ii].x1, _zona_joc[i - 1][ii].y2 - val + 1, _zona_joc[i][ii].x2 , _zona_joc[i - 1][ii].y2);
  1371.                     rectangle(_zona_joc[i][ii].x1, _zona_joc[i - 1][ii].y2 - val + 2, _zona_joc[i][ii].x2 , _zona_joc[i - 1][ii].y2);
  1372.                     setcolor(WHITE);
  1373.                     rectangle(_zona_joc[i][ii].x1, _zona_joc[i][ii].y2 - val, _zona_joc[i][ii].x2 , _zona_joc[i][ii].y2);
  1374.                     rectangle(_zona_joc[i][ii].x1, _zona_joc[i][ii].y2 - val + 1, _zona_joc[i][ii].x2 , _zona_joc[i][ii].y2);
  1375.                     rectangle(_zona_joc[i][ii].x1, _zona_joc[i][ii].y2 - val + 2, _zona_joc[i][ii].x2 , _zona_joc[i][ii].y2);
  1376.                 }
  1377.  
  1378.  
  1379.                 _margine_dubla(1,1);
  1380.                 delay(0);
  1381.             }
  1382.             _resetare_buffer();
  1383.         }
  1384.  
  1385.  
  1386.  
  1387.     }
  1388.     void _detectare_castigator(int i, int ii){
  1389.         if(index_joc_G == 1)for(int i = 1; i <= 5; i++) for(int ii = 1; ii <= 5; ii++) if(_zona_joc[i][ii].jucator == 2)_zona_joc[i][ii].jucator = 3;
  1390.     int vecini[4]={ _zona_joc[i][ii+1].jucator ,
  1391.                     _zona_joc[i][ii-1].jucator ,
  1392.                     _zona_joc[i+1][ii].jucator ,
  1393.                     _zona_joc[i-1][ii].jucator  };
  1394.  
  1395.     int inlocuitor=3;
  1396.     for(int v=0; v<=3; v++) if(vecini[v] != 9){
  1397.         inlocuitor = vecini[v];
  1398.         break;
  1399.     }
  1400.     for(int v=0; v<=3; v++) if( vecini[v]==9 ) vecini[v] = inlocuitor;
  1401.     if(vecini[0] == vecini[1] &&
  1402.        vecini[0] == vecini[2] &&
  1403.        vecini[0] == vecini[3]    ){
  1404.             ultimulCastigator = vecini[0];
  1405.             index_joc_G = 0;
  1406.        }
  1407.     }
  1408.     void _meniu_jocG(){
  1409.         setcolor(WHITE);
  1410.         settextstyle(stil_text, 0, 17);
  1411.         int TW = textwidth ("Patratele glisante");
  1412.         int TH = textheight("Patratele glisante");
  1413.  
  1414.         //setbkcolor(BLACK);
  1415.         outtextxy(_latime_ecran/4*3 - TW/2, 125 , "Patratele glisante");
  1416.  
  1417.     }
  1418.     void _afisare_player_curent(int TIP){
  1419.  
  1420.         setcolor(WHITE);
  1421.         settextstyle(stil_text, 0, 5);
  1422.  
  1423.         if(TIP == 1){
  1424.             //setbkcolor(BLACK);
  1425.             outtextxy(_latime_ecran/2 + 10, 165 , "Jucatorul1    Jucatorul2");
  1426.         }else{
  1427.             //setbkcolor(BLACK);
  1428.             outtextxy(_latime_ecran/2 + 10, 165 , "Jucatorul1    Calculator");
  1429.         }
  1430.  
  1431.         if(jucator_curent == 1){
  1432.                 line(_latime_ecran/2 + 10, 200, _latime_ecran/2 + 270, 200);
  1433.                 line(_latime_ecran/2 + 10, 201, _latime_ecran/2 + 270, 201);
  1434.                 line(_latime_ecran/2 + 10, 202, _latime_ecran/2 + 270, 202);
  1435.         }else{
  1436.                 line(_latime_ecran/2 + 375, 200, _latime_ecran/2 + 635, 200);
  1437.                 line(_latime_ecran/2 + 375, 201, _latime_ecran/2 + 635, 201);
  1438.                 line(_latime_ecran/2 + 375, 202, _latime_ecran/2 + 635, 202);
  1439.         }
  1440.     }
  1441.     void _afisare_ultmul_castigator(){
  1442.         settextstyle(stil_text, 0, 5);
  1443.         if(ultimulCastigator == 1){
  1444.         setcolor(BLUE);
  1445.             outtextxy(_latime_ecran/2 + 10, 640 , "Jucatorul 1 a castigat!");
  1446.         }
  1447.         if(ultimulCastigator == 2){
  1448.         setcolor(GREEN);
  1449.             outtextxy(_latime_ecran/2 + 10, 640 , "Jucatorul 2 a castigat!");
  1450.         }
  1451.         if(ultimulCastigator == 3){
  1452.         setcolor(RED);
  1453.             outtextxy(_latime_ecran/2 + 10, 640 , "Calculatorul a castigat!");
  1454.         }
  1455.     }
  1456.     void _set_AI_zone(){
  1457.         for(int i = 1; i <= 5; i++) for(int ii = 1; ii <= 5; ii++) if(_zona_joc[i][ii].jucator == 2)
  1458.             _zona_joc[i][ii].jucator = 3;
  1459.  
  1460.     }
  1461.     void _AI(){
  1462.         if(jucator_curent == 2 && ultimulCastigator == 0){
  1463.             int i = 1;
  1464.             int ii = 1;
  1465.             for(int j = 1; j <= 5; j++) for(int jj = 1; jj <= 5; jj++) if(_zona_joc[j][jj].jucator == 0){i = j; ii = jj;}
  1466.  
  1467.             delay(100);
  1468.             repeat:
  1469.             int tip = rand() % 4 + 1;
  1470.             if(tip == 1){
  1471.                 if(_zona_joc[i - 1][ii].jucator == 3){
  1472.                                             _zona_joc[i][ii].jucator = 2;
  1473.                                             _zona_joc[i - 1][ii].jucator = 0;
  1474.                                             _actualizare_culori();
  1475.                                                 _tranzitie_glisare(i - 1,ii,3);
  1476.                                                 _detectare_castigator(i - 1,ii);
  1477.                                             if(jucator_curent == 1) jucator_curent = 2;
  1478.                                             else jucator_curent = 1;
  1479.                 }else goto repeat;
  1480.             }
  1481.             if(tip == 2){
  1482.                 if(_zona_joc[i + 1][ii].jucator == 3){
  1483.                                             _zona_joc[i][ii].jucator = 2;
  1484.                                             _zona_joc[i + 1][ii].jucator = 0;
  1485.                                             _actualizare_culori();
  1486.                                                 _tranzitie_glisare(i + 1,ii,4);
  1487.                                                 _detectare_castigator(i + 1,ii);
  1488.                                             if(jucator_curent == 1) jucator_curent = 2;
  1489.                                             else jucator_curent = 1;
  1490.                 }else goto repeat;
  1491.             }
  1492.             if(tip == 3){
  1493.                 if(_zona_joc[i][ii - 1].jucator == 3){
  1494.                                             _zona_joc[i][ii].jucator = 2;
  1495.                                             _zona_joc[i][ii - 1].jucator = 0;
  1496.                                             _actualizare_culori();
  1497.                                                 _tranzitie_glisare(i,ii - 1,1);
  1498.                                                 _detectare_castigator(i,ii - 1);
  1499.                                             if(jucator_curent == 1) jucator_curent = 2;
  1500.                                             else jucator_curent = 1;
  1501.                 }else goto repeat;
  1502.             }
  1503.             if(tip == 4){
  1504.                 if(_zona_joc[i][ii + 1].jucator == 3){
  1505.                                             _zona_joc[i][ii].jucator = 2;
  1506.                                             _zona_joc[i][ii + 1].jucator = 0;
  1507.                                             _actualizare_culori();
  1508.                                                 _tranzitie_glisare(i,ii + 1,2);
  1509.                                                 _detectare_castigator(i,ii + 1);
  1510.                                             if(jucator_curent == 1) jucator_curent = 2;
  1511.                                             else jucator_curent = 1;
  1512.                 }else goto repeat;
  1513.             }
  1514.         }
  1515.  
  1516.     }
  1517.     void _consola(){
  1518.         if(GetKeyState('C') & 0x8000) if(consola == false) consola = true;
  1519.         if(GetKeyState(VK_ESCAPE) & 0x8000) if(consola == true) consola = false;
  1520.         if(consola == true){
  1521.             setcolor(WHITE);
  1522.             settextstyle(stil_text, 0, 3);
  1523.             outtextxy(_latime_ecran/2 + 20, 320 , "Folositi forma: A1->B1");
  1524.             setcolor(_meniu[1][1].cod_culoare);
  1525.             rectangle(_latime_ecran/2 + 20, 340, _latime_ecran - 60, 600);
  1526.             rectangle(_latime_ecran/2 + 19, 340, _latime_ecran - 59, 600);
  1527.             rectangle(_latime_ecran/2 + 18, 340 - 1, _latime_ecran - 58, 600 + 1);
  1528.             rectangle(_latime_ecran/2 + 17, 340 - 1, _latime_ecran - 57, 600 + 1);
  1529.             line(_latime_ecran/2 + 20, 570, _latime_ecran - 60, 570);
  1530.             {
  1531.  
  1532.             }
  1533.         }else{
  1534.             setcolor(WHITE);
  1535.             settextstyle(stil_text, 0, 3);
  1536.             //setbkcolor(BLACK);
  1537.             outtextxy(_latime_ecran/2 + 20, 450 , "        Apasati C pentru consola.");
  1538.         }
  1539.  
  1540.  
  1541.  
  1542.  
  1543.     }
  1544.  
  1545.  
  1546.     /// CEAS
  1547.     void ceas(int i, int ii){
  1548.  
  1549.         time_t timpBrut;
  1550.         struct tm * TimpCurent;
  1551.         char a[100];
  1552.  
  1553.         int coordonateOraX[12] = {_meniu[i][ii].centru_x + 48 - 25,
  1554.                                   _meniu[i][ii].centru_x + 78 - 40,
  1555.                                   _meniu[i][ii].centru_x + 78 - 40,
  1556.                                   _meniu[i][ii].centru_x + 85 - 40,
  1557.                                   _meniu[i][ii].centru_x + 44 - 20,
  1558.                                   _meniu[i][ii].centru_x - 10 + 10,
  1559.                                   _meniu[i][ii].centru_x - 64 + 40,
  1560.                                   _meniu[i][ii].centru_x - 92 + 55,
  1561.                                   _meniu[i][ii].centru_x -105 + 60,
  1562.                                   _meniu[i][ii].centru_x - 92 + 60,
  1563.                                   _meniu[i][ii].centru_x - 68 + 40,
  1564.                                   _meniu[i][ii].centru_x - 0  - 0};
  1565.  
  1566.         int coordonateOraY[12] = {_meniu[i][ii].centru_y - 85 + 55,
  1567.                                   _meniu[i][ii].centru_y - 55 + 35,
  1568.                                   _meniu[i][ii].centru_y ,
  1569.                                   _meniu[i][ii].centru_y - 14 + 40,
  1570.                                   _meniu[i][ii].centru_y + 66 - 30,
  1571.                                   _meniu[i][ii].centru_y + 85 - 40,
  1572.                                   _meniu[i][ii].centru_y + 66 - 30,
  1573.                                   _meniu[i][ii].centru_y + 32 - 10,
  1574.                                   _meniu[i][ii].centru_y - 14 + 14,
  1575.                                   _meniu[i][ii].centru_y - 52 + 30,
  1576.                                   _meniu[i][ii].centru_y - 82 + 40,
  1577.                                   _meniu[i][ii].centru_y -105 + 65 };
  1578.  
  1579.  
  1580.         int r = _meniu[i][ii].centru_y - _meniu[i][ii].y1 - 13;
  1581.         int z = r / 7;
  1582.  
  1583.  
  1584.         int coordonateMinSecX[61] ={    z * 0,  z * 1,  z * 2,  z * 3,  z * 4,  z * 5,  z * 6,  z * 7,  z * 7,  z * 7,  z * 7,  z * 7,  z * 7,  z * 7,  z * 7,
  1585.                                         z * 7,  z * 7,  z * 7,  z * 7,  z * 7,  z * 7,  z * 7,  z * 7,  z * 6,  z * 5,  z * 4,  z * 3,  z * 2,  z * 1,  z * 0,
  1586.                                        -z * 0, -z * 1, -z * 2, -z * 3, -z * 4, -z * 5, -z * 6, -z * 7, -z * 7, -z * 7, -z * 7, -z * 7, -z * 7, -z * 7, -z * 7,
  1587.                                        -z * 7, -z * 7, -z * 7, -z * 7, -z * 7, -z * 7, -z * 7, -z * 7, -z * 6, -z * 5, -z * 4, -z * 3, -z * 2, -z * 1, -z * 0
  1588.                                     };
  1589.  
  1590.         int coordonateMinSecY[61] ={   -z * 7, -z * 7, -z * 7, -z * 7, -z * 7, -z * 7, -z * 7, -z * 7, -z * 6, -z * 5, -z * 4, -z * 3, -z * 2, -z * 1, -z * 0,
  1591.                                         z * 0,  z * 1,  z * 2,  z * 3,  z * 4,  z * 5,  z * 6,  z * 7,  z * 7,  z * 7,  z * 7,  z * 7,  z * 7,  z * 7,  z * 7,
  1592.                                         z * 7,  z * 7,  z * 7,  z * 7,  z * 7,  z * 7,  z * 7,  z * 7,  z * 6,  z * 5,  z * 4,  z * 3,  z * 2,  z * 1,  z * 0,
  1593.                                        -z * 0, -z * 1, -z * 2, -z * 3, -z * 4, -z * 5, -z * 6, -z * 7, -z * 7, -z * 7, -z * 7, -z * 7, -z * 7, -z * 7, -z * 7
  1594.                                     };
  1595.  
  1596.         int OMS;
  1597.  
  1598.         timpBrut = time(NULL);
  1599.         TimpCurent = localtime(&timpBrut);
  1600.  
  1601.         setcolor(WHITE);
  1602.         circle(_meniu[i][ii].centru_x, _meniu[i][ii].centru_y, (_meniu[i][ii].centru_y - _meniu[i][ii].y1) - 13);
  1603.         circle(_meniu[i][ii].centru_x, _meniu[i][ii].centru_y, (_meniu[i][ii].centru_y - _meniu[i][ii].y1) - 14);
  1604.         circle(_meniu[i][ii].centru_x, _meniu[i][ii].centru_y, (_meniu[i][ii].centru_y - _meniu[i][ii].y1) - 15);
  1605.  
  1606.  
  1607.         setbkcolor(_meniu[i][ii].cod_culoare);
  1608.         settextstyle(stil_text, 0, 3);
  1609.         outtextxy(_meniu[i][ii].centru_x + 85 , _meniu[i][ii].centru_y - 14, "3");
  1610.         outtextxy(_meniu[i][ii].centru_x + 78 , _meniu[i][ii].centru_y + 32, "4");
  1611.         outtextxy(_meniu[i][ii].centru_x + 44 , _meniu[i][ii].centru_y + 66, "5");
  1612.  
  1613.         outtextxy(_meniu[i][ii].centru_x - 10 , _meniu[i][ii].centru_y + 85, "6");
  1614.         outtextxy(_meniu[i][ii].centru_x -  64 , _meniu[i][ii].centru_y + 66, "7");
  1615.         outtextxy(_meniu[i][ii].centru_x -  92 , _meniu[i][ii].centru_y + 32, "8");
  1616.  
  1617.         outtextxy(_meniu[i][ii].centru_x - 105 , _meniu[i][ii].centru_y - 14, "9");
  1618.         outtextxy(_meniu[i][ii].centru_x -  92 , _meniu[i][ii].centru_y - 52, "10");
  1619.         outtextxy(_meniu[i][ii].centru_x -  68 , _meniu[i][ii].centru_y - 82, "11");
  1620.  
  1621.         outtextxy(_meniu[i][ii].centru_x - 15 , _meniu[i][ii].centru_y - 105, "12");
  1622.         outtextxy(_meniu[i][ii].centru_x + 48 , _meniu[i][ii].centru_y - 85, "1");
  1623.         outtextxy(_meniu[i][ii].centru_x + 78 , _meniu[i][ii].centru_y - 55, "2");
  1624.  
  1625.         setbkcolor(BLACK);
  1626.  
  1627.         strftime(a, 100, "%I", TimpCurent);
  1628.         sscanf(a, "%d", &OMS);
  1629.         setcolor(WHITE);
  1630.         line(_meniu[i][ii].centru_x, _meniu[i][ii].centru_y, coordonateOraX[OMS -1], coordonateOraY[OMS -1]);
  1631.  
  1632.         strftime(a, 100, "%M", TimpCurent);
  1633.         sscanf(a, "%d", &OMS);
  1634.         setcolor(GREEN);
  1635.         line(_meniu[i][ii].centru_x, _meniu[i][ii].centru_y, _meniu[i][ii].centru_x + coordonateMinSecX[OMS], _meniu[i][i].centru_y + coordonateMinSecY[OMS]);
  1636.  
  1637.         strftime(a, 100, "%S", TimpCurent);
  1638.         sscanf(a, "%d", &OMS);
  1639.         setcolor(YELLOW);
  1640.         line(_meniu[i][ii].centru_x, _meniu[i][ii].centru_y, _meniu[i][ii].centru_x + coordonateMinSecX[OMS], _meniu[i][i].centru_y + coordonateMinSecY[OMS]);
  1641.  
  1642.         setcolor(WHITE);
  1643.         circle(_meniu[i][ii].centru_x, _meniu[i][ii].centru_y, (_meniu[i][ii].centru_y - _meniu[i][ii].y1) - 13);
  1644.         rectangle(_meniu[i][ii].x1 + 10, _meniu[i][ii].y1 + 10, _meniu[i][ii].x2 - 10, _meniu[i][ii].y2 - 10);
  1645.         setfillstyle(SOLID_FILL, _meniu[i][ii].cod_culoare);
  1646.         floodfill(_meniu[i][ii].x1 + 11, _meniu[i][ii].y1 + 11, WHITE);
  1647.         floodfill(_meniu[i][ii].x1 + 10, _meniu[i][ii].y1 + 10, _meniu[i][ii].cod_culoare);
  1648.  
  1649.     }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top