Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 63.66 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement