Advertisement
Guest User

Untitled

a guest
Oct 17th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.89 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.c>
  4. #include <time.h>
  5. #include <string.h>
  6. #include <windows.h>
  7.  
  8. #define TAM 25
  9. #define TAMj2 25
  10. #define TAMj3 25
  11. #define CS YELLOW
  12. #define CSJ2 RED
  13. #define CSJ3 BLUE
  14.  
  15. typedef struct{
  16. int carton[TAM];
  17. int JugadorGanador[25];
  18. int BOLA[75];
  19. char nombre[10];
  20. }BINGO[4];
  21.  
  22. void Jugador1(BINGO *,int, int);
  23. void Jugador2(BINGO *,int, int);
  24. void Jugador3(BINGO *,int, int);
  25. void Matrizj1(BINGO *, int );
  26. void Matrizj2(BINGO *, int, int, int, int);
  27. void Matrizj3(BINGO *, int, int, int, int );
  28. int Numrep(int, int[]);
  29. void numero_aleatorio(BINGO *,int, int, int );
  30. int sacarbola();
  31. char Iterador(int);
  32. int Ganador(BINGO *,int);
  33. int NumDifHorizontal(int);
  34. int NumDifDiagonal(int);
  35. NumDifVertical(int);
  36.  
  37.  
  38.  
  39. int main()
  40. {
  41. int C_Usuarios;
  42. int C_Cartones = 0,C_Cartonesj2=0,C_Cartonesj3 = 0;
  43.  
  44. BINGO *p,*p2,*p3,bola[75];
  45. p = (BINGO*)malloc(TAM*sizeof(BINGO));
  46. p2 = (BINGO*)malloc(TAMj2*sizeof(BINGO));
  47. p3 = (BINGO*)malloc(TAMj3*sizeof(BINGO));
  48. gotoxy(40,3);
  49. textbackground(WHITE);
  50. textcolor(BLACK);
  51. printf("Hola Bienvenidos al BINGO!!\n");
  52.  
  53. while(C_Usuarios <= 1 || C_Usuarios > 3){
  54. gotoxy(40,5);
  55. textbackground(BLACK);
  56. textcolor(LIGHTRED);
  57. printf("%cCuantos usuarios jugaran?\n\n",168);
  58. scanf("%d",&C_Usuarios);
  59. system("CLS");
  60. }
  61. if( C_Usuarios == 2){
  62. while(C_Cartones < 1 || C_Cartones > 4){
  63. printf("Seleccione Cantidad de cartones para Jugador 1: ");
  64. scanf("%d",&C_Cartones);
  65. system("CLS");
  66. if(C_Cartones > 1 && C_Cartones < 4){
  67. p = realloc(p,(C_Cartones*sizeof(BINGO)));
  68. }
  69. }
  70. while(C_Cartonesj2 < 1 || C_Cartonesj2 > 4){
  71. printf("\n\nSeleccione Cantidad de cartones para Jugador 2: ");
  72. scanf("%d",&C_Cartonesj2);
  73. system("CLS");
  74. if(C_Cartonesj2 > 1 && C_Cartonesj2 < 4){
  75. p2 = realloc(p2,(C_Cartonesj2*sizeof(BINGO)));
  76. }
  77. }
  78. }
  79. else{
  80. while(C_Cartones < 1 || C_Cartones > 4){
  81. printf("Seleccione Cantidad de cartones para Jugador 1: ");
  82. scanf("%d",&C_Cartones);
  83. system("CLS");
  84. if(C_Cartones > 1 && C_Cartones < 4){
  85. p = realloc(p,(C_Cartones*sizeof(BINGO)));
  86. }
  87. }
  88. while(C_Cartonesj2 < 1 || C_Cartonesj2 > 4){
  89. printf("\n\nSeleccione Cantidad de cartones para Jugador 2: ");
  90. scanf("%d",&C_Cartonesj2);
  91. system("CLS");
  92. if(C_Cartonesj2 > 1 && C_Cartonesj2 < 4){
  93. p2 = realloc(p2,(C_Cartonesj2*sizeof(BINGO)));
  94. }
  95. }
  96. while(C_Cartonesj3 < 1 || C_Cartonesj3 > 4){
  97. printf("\n\nSeleccione Cantidad de cartones para Jugador 3: ");
  98. scanf("%d",&C_Cartonesj3);
  99. system("CLS");
  100. if(C_Cartonesj3 > 1 && C_Cartonesj3 < 4){
  101. p3 = realloc(p3,(C_Cartonesj3*sizeof(BINGO)));
  102. }
  103. }
  104. }
  105.  
  106. if(C_Usuarios == 2){
  107. Jugador1(p,C_Cartones,2);
  108. Jugador2(p2,C_Cartonesj2,2);}
  109. else{
  110. Jugador1(p,C_Cartones,3);
  111. Jugador2(p2,C_Cartonesj2,3);
  112. Jugador3(p3,C_Cartonesj3,3);
  113. }
  114. int Win = 0;
  115. char tecla,letra;
  116. int var = 0,ind = 0,RCartones = 1,x,y,sacarbola = 0,n = 99, llama, cont = 0;
  117. while(Win == 0){
  118. tecla = getch();
  119.  
  120. while(sacarbola == 0 && ind < 75)
  121. {
  122. n=(rand()%75)+1;
  123. sacarbola = Numrep2(n,bola);
  124. if(sacarbola == 1){
  125. bola[ind]->BOLA[ind] = n;
  126. ind = 76;
  127. }
  128. ind++;
  129. }
  130.  
  131. sacarbola = 0;
  132. letra = Iterador(n);
  133.  
  134. gotoxy(40,2);
  135. textbackground(MAGENTA);
  136. textcolor(WHITE);
  137.  
  138. printf("{...[%c-%d]...}",letra,n);
  139. for(ind = 0;ind<TAM*C_Cartones;ind++){
  140. if(p[0]->carton[ind] == n ){
  141. p[3]->JugadorGanador[ind] = 1;
  142. if(p[0]->carton[ind] == 00){
  143. p[3]->JugadorGanador[ind] = 1;
  144. }
  145. }
  146. }
  147. for(ind = 0;ind<TAM*C_Cartonesj2;ind++){
  148. if(p2[1]->carton[ind] == n){
  149. p2[3]->JugadorGanador[ind] = 1 ;
  150. if(p2[1]->carton[ind] == 00){
  151. p2[3]->JugadorGanador[ind] = 1;
  152. }
  153. }
  154. }
  155. for(ind = 0;ind<TAM*C_Cartonesj3;ind++){
  156. if(p3[2]->carton[ind] == n){
  157. p3[3]->JugadorGanador[ind] = 1;
  158. if(p3[2]->carton[ind] == 00){
  159. p3[3]->JugadorGanador[ind] = 1;
  160. }
  161. }
  162. }
  163.  
  164. if(C_Cartones == 1){
  165. printf("\n\n\n");
  166. llama = Ganador(p,0);
  167. if(llama == 1){
  168. gotoxy(10,3);
  169. printf("[BINGO]");
  170. printf("\n\n\n");
  171. }
  172. Matrizj1(p,0);
  173. }
  174. if(C_Cartones > 1){
  175. var = 0,ind = 0;
  176. printf("\n\n\n");
  177. while(ind < C_Cartones){
  178. llama = Ganador(p,var);
  179. if(llama == 1){
  180. gotoxy(10,3);
  181. printf("[BINGO]");
  182. printf("\n\n");
  183. var = 0; ind++;
  184. }
  185. Matrizj1(p,var);
  186. ind++;
  187. var += 25;
  188. }
  189.  
  190. }
  191. if( C_Cartonesj2 == 1){
  192. llama = Ganador(p2,0);
  193. if(llama == 1){
  194. gotoxy(25,3);
  195. printf("[BINGO]");
  196. }
  197. x=25,y=5;
  198. Matrizj2(p2,0,x,y,1);
  199. }
  200. if(C_Cartonesj2 > 1){
  201. x = 25; y = 5; var = 0; ind = 0; RCartones = 1;
  202.  
  203. while(ind < C_Cartonesj2){
  204. llama = Ganador(p2,var);
  205. if(llama == 1){
  206. gotoxy(25,3);
  207. printf("[BINGO]");
  208. x = 25; y = 5; var = 0; ind++;
  209. }
  210. if(RCartones == 4){
  211. x = 50; y = 5;
  212. }
  213.  
  214. Matrizj2(p2,var,x,y,RCartones);
  215. RCartones++;
  216. var += 25;
  217. ind++;
  218. y += 6;
  219. }
  220. }
  221.  
  222. if(C_Cartonesj3 == 1){
  223. llama = Ganador(p3,0);
  224. if(llama == 1){
  225. gotoxy(60,3);
  226. printf("[BINGO]");
  227. printf("\n\n\n");
  228. }
  229. x = 60; y = 5;
  230. Matrizj3(p3,0,x,y,1);
  231. }
  232. if(C_Cartonesj3 > 1){
  233. x = 60; y = 5; var = 0; ind = 0; RCartones = 1;
  234. while(ind < C_Cartonesj3){
  235. llama = Ganador(p3,0);
  236. if(llama == 1){
  237. gotoxy(60,3);
  238. printf("[BINGO]");
  239. printf("\n\n\n");
  240. var = 0; ind++;
  241. }
  242. if(RCartones == 4){
  243. x = 80; y = 5;
  244. }
  245. Matrizj3(p3,var,x,y,RCartones);
  246. RCartones++;
  247. var += 25;
  248. ind++;
  249. y += 6;
  250. }
  251. }
  252.  
  253. }
  254. return 0;
  255. }
  256. void Jugador1(BINGO *p,int Cant, int CUsuarios){
  257. int J1 = 1;
  258.  
  259. printf("\n\n\nJugador 1(BETA)\n");
  260.  
  261. numero_aleatorio(p,J1,Cant,CUsuarios);
  262. textcolor(YELLOW);
  263.  
  264. }
  265.  
  266. void Jugador2(BINGO *p,int cant, int CUsuarios){
  267. int J2 = 2;
  268. CUsuarios--;
  269. gotoxy(25,4);
  270. textbackground(BLACK);
  271. printf("Jugador 2(BETA)");
  272. textbackground(BLUE);
  273. textcolor(LIGHTRED);
  274. numero_aleatorio(p,J2,cant,CUsuarios);
  275. textcolor(YELLOW);
  276. textbackground(BLACK);
  277.  
  278.  
  279. }
  280. void Jugador3(BINGO *p3,int Cant, int CUsuarios){
  281. int J3 = 3;
  282. CUsuarios -=2;
  283. gotoxy(60,4);
  284. printf("Jugador 3(BETA)");
  285. textcolor(WHITE);
  286. textbackground(LIGHTRED);
  287. numero_aleatorio(p3,J3,Cant,CUsuarios);
  288. textcolor(YELLOW);
  289. }
  290.  
  291.  
  292.  
  293. void numero_aleatorio(BINGO *p,int Turno, int NumCarton, int C_Jugadores){
  294. int b[5],i[5],n[5],g[5],o[5];
  295. int num,llama = 0,ind,array,CCartones = 1;
  296. int veces,x,y;
  297.  
  298. if(Turno == 2)
  299. x = 25,y=5;
  300. if(Turno == 3)
  301. x = 60,y=5;
  302. while(NumCarton != 0){
  303. srand(time(NULL));
  304.  
  305. // b
  306. for(ind=0;ind<5;ind++){
  307. while(llama == 0){
  308. num = 1 + rand()%((15+1)-1);
  309. llama = Numrep(num,b);
  310. if(llama == 1){
  311. b[ind] = num;
  312. }
  313.  
  314. }//while
  315. llama = 0;
  316.  
  317. }
  318.  
  319.  
  320. if(CCartones == 1){
  321. array = 0;
  322. veces = 0;
  323. for(ind = 0;ind<5;ind++){
  324. if(Turno == 1){p[0]->carton[array] = b[ind];}
  325. if(Turno == 2){p[1]->carton[array] = b[ind];}
  326. if(Turno == 3){p[2]->carton[array] = b[ind];}
  327. array += 5;
  328. }
  329. }
  330. if(CCartones == 2){
  331. array = 25;
  332. veces = array;
  333. for(ind = 0;ind<5;ind++){
  334. if(Turno == 1){p[0]->carton[array] = b[ind];}
  335. if(Turno == 2){p[1]->carton[array] = b[ind];}
  336. if(Turno == 3){p[2]->carton[array] = b[ind];}
  337. array += 5;
  338. }
  339. }
  340.  
  341. if(CCartones == 3){
  342. array = 50;
  343. veces = array;
  344. for(ind = 0;ind<5;ind++){
  345. if(Turno == 1){p[0]->carton[array] = b[ind];}
  346. if(Turno == 2){p[1]->carton[array] = b[ind];}
  347. if(Turno == 3){p[2]->carton[array] = b[ind];}
  348. array += 5;
  349. }
  350. }
  351.  
  352. if(CCartones == 4){
  353. array = 75;
  354. veces = array;
  355. for(ind = 0;ind<5;ind++){
  356. if(Turno == 1){p[0]->carton[array] = b[ind];}
  357. if(Turno == 2){p[1]->carton[array] = b[ind];}
  358. if(Turno == 3){p[2]->carton[array] = b[ind];}
  359. array += 5;
  360. }
  361. }
  362. // i
  363. for(ind=0;ind<5;ind++){
  364. while(llama == 0){
  365. num = 16 + rand()%((30+1)-16);
  366. if(ind == 0 && Turno == 1){
  367. i[ind] = 22;
  368. ind++;
  369. }
  370. if(ind == 0 && Turno == 2){
  371. i[ind] = 16;
  372. ind++;
  373. }
  374. llama = Numrep(num,i);
  375. if(llama == 1){
  376. i[ind] = num;
  377. }
  378. }
  379. llama = 0;
  380. //while
  381.  
  382. }
  383. if(CCartones == 1){
  384. array = 1;
  385. for(ind = 0;ind<5;ind++){
  386. if(Turno == 1){p[0]->carton[array] = i[ind];}
  387. if(Turno == 2){p[1]->carton[array] = i[ind];}
  388. if(Turno == 3){p[2]->carton[array] = i[ind];}
  389. array += 5;
  390. }
  391. }
  392. if(CCartones == 2){
  393. array = 26;
  394. for(ind = 0;ind<5;ind++){
  395. if(Turno == 1){p[0]->carton[array] = i[ind];}
  396. if(Turno == 2){p[1]->carton[array] = i[ind];}
  397. if(Turno == 3){p[2]->carton[array] = i[ind];}
  398. array += 5;
  399. }
  400. }
  401. if(CCartones == 3){
  402. array = 51;
  403. for(ind = 0;ind<5;ind++){
  404. if(Turno == 1){p[0]->carton[array] = i[ind];}
  405. if(Turno == 2){p[1]->carton[array] = i[ind];}
  406. if(Turno == 3){p[2]->carton[array] = i[ind];}
  407. array += 5;
  408. }
  409. }
  410. if(CCartones == 4){
  411. array = 76;
  412. for(ind = 0;ind<5;ind++){
  413. if(Turno == 1){p[0]->carton[array] = i[ind];}
  414. if(Turno == 2){p[1]->carton[array] = i[ind];}
  415. if(Turno == 3){p[2]->carton[array] = i[ind];}
  416. array += 5;
  417. }
  418. }
  419. // n
  420. for(ind=0;ind<5;ind++){
  421. if(ind == 2){
  422. n[ind] = 00;
  423. ind++;}
  424. while(llama == 0){
  425. num = 31 + rand()%((45+1)-31);
  426. llama = Numrep(num,n);
  427. if(llama == 1){
  428. n[ind] = num;
  429. }
  430. }
  431. llama = 0;
  432. //while
  433.  
  434. }
  435.  
  436.  
  437. if(CCartones == 1){
  438. array = 2;
  439. for(ind = 0;ind<5;ind++){
  440. if(Turno == 1){p[0]->carton[array] = n[ind];}
  441. if(Turno == 2){p[1]->carton[array] = n[ind];}
  442. if(Turno == 3){p[2]->carton[array] = n[ind];}
  443.  
  444. array += 5;
  445. }
  446. }
  447. if(CCartones == 2){
  448. array = 27;
  449. for(ind = 0;ind<5;ind++){
  450. if(Turno == 1){p[0]->carton[array] = n[ind];}
  451. if(Turno == 2){p[1]->carton[array] = n[ind];}
  452. if(Turno == 3){p[2]->carton[array] = n[ind];}
  453.  
  454. array += 5;
  455. }
  456. }
  457. if(CCartones == 3){
  458. array = 52;
  459. for(ind = 0;ind<5;ind++){
  460. if(Turno == 1){p[0]->carton[array] = n[ind];}
  461. if(Turno == 2){p[1]->carton[array] = n[ind];}
  462. if(Turno == 3){p[2]->carton[array] = n[ind];}
  463.  
  464. array += 5;
  465. }
  466. }
  467. if(CCartones == 4){
  468. array = 77;
  469. for(ind = 0;ind<5;ind++){
  470. if(Turno == 1){p[0]->carton[array] = n[ind];}
  471. if(Turno == 2){p[1]->carton[array] = n[ind];}
  472. if(Turno == 3){p[2]->carton[array] = n[ind];}
  473.  
  474. array += 5;
  475. }
  476. }
  477. // g
  478.  
  479. for(ind=0;ind<5;ind++){
  480. while(llama == 0){
  481. num = 46 + rand()%((60+1)-46);
  482. llama = Numrep(num,g);
  483. if(llama == 1){
  484. g[ind] = num;
  485. }
  486. }
  487. llama = 0;
  488. //while
  489.  
  490. }
  491.  
  492. if(CCartones == 1){
  493. array = 3;
  494. for(ind = 0;ind<5;ind++){
  495. if(Turno == 1){p[0]->carton[array] = g[ind];}
  496. if(Turno == 2){p[1]->carton[array] = g[ind];}
  497. if(Turno == 3){p[2]->carton[array] = g[ind];}
  498. array += 5;
  499. }
  500. }
  501. if(CCartones == 2){
  502. array = 28;
  503. for(ind = 0;ind<5;ind++){
  504. if(Turno == 1){p[0]->carton[array] = g[ind];}
  505. if(Turno == 2){p[1]->carton[array] = g[ind];}
  506. if(Turno == 3){p[2]->carton[array] = g[ind];}
  507. array += 5;
  508. }
  509. }
  510. if(CCartones == 3){
  511. array = 53;
  512. for(ind = 0;ind<5;ind++){
  513. if(Turno == 1){p[0]->carton[array] = g[ind];}
  514. if(Turno == 2){p[1]->carton[array] = g[ind];}
  515. if(Turno == 3){p[2]->carton[array] = g[ind];}
  516. array += 5;
  517. }
  518. }
  519. if(CCartones == 4){
  520. array = 78;
  521. for(ind = 0;ind<5;ind++){
  522. if(Turno == 1){p[0]->carton[array] = g[ind];}
  523. if(Turno == 2){p[1]->carton[array] = g[ind];}
  524. if(Turno == 3){p[2]->carton[array] = g[ind];}
  525. array += 5;
  526. }
  527. }
  528.  
  529.  
  530. // o
  531. for(ind=0;ind<5;ind++){
  532. while(llama == 0){
  533. num = 61 + rand()%((75+1)-61);
  534. llama = Numrep(num,o);
  535. if(llama == 1){
  536. o[ind] = num;
  537. }
  538. }
  539. llama = 0;
  540. //while
  541.  
  542. }
  543.  
  544. if(CCartones == 1){
  545. array = 4;
  546. for(ind = 0;ind<5;ind++){
  547. if(Turno == 1){p[0]->carton[array] = o[ind];}
  548. if(Turno == 2){p[1]->carton[array] = o[ind];}
  549. if(Turno == 3){p[2]->carton[array] = o[ind];}
  550. array += 5;
  551. }
  552. }
  553. if(CCartones == 2){
  554. array = 29;
  555. for(ind = 0;ind<5;ind++){
  556. if(Turno == 1){p[0]->carton[array] = o[ind];}
  557. if(Turno == 2){p[1]->carton[array] = o[ind];}
  558. if(Turno == 3){p[2]->carton[array] = o[ind];}
  559. array += 5;
  560. }
  561.  
  562. }
  563. if(CCartones == 3){
  564. array = 54;
  565. for(ind = 0;ind<5;ind++){
  566.  
  567. if(Turno == 1){p[0]->carton[array] = o[ind];}
  568. if(Turno == 2){p[1]->carton[array] = o[ind];}
  569. if(Turno == 3){p[2]->carton[array] = o[ind];}
  570. array += 5;
  571. }
  572. }
  573. if(CCartones == 4){
  574. array = 79;
  575. for(ind = 0;ind<5;ind++){
  576. if(Turno == 1){p[0]->carton[array] = o[ind];}
  577. if(Turno == 2){p[1]->carton[array] = o[ind];}
  578. if(Turno == 3){p[2]->carton[array] = o[ind];}
  579. array += 5;
  580. }
  581. }
  582.  
  583.  
  584. if(Turno == 1){
  585. Matrizj1(p,veces);
  586. }
  587. if(Turno == 2){
  588. if(CCartones == 4){
  589. x = 50; y = 5;
  590. }
  591. Matrizj2(p,veces,x,y,CCartones);
  592. }
  593. if(Turno == 3){
  594. if(CCartones == 4){
  595. x = 80; y = 5;
  596. }
  597. Matrizj3(p ,veces,x,y,CCartones);
  598. }
  599.  
  600. NumCarton--;
  601. CCartones++;
  602. y += 6;
  603. }// while
  604.  
  605. }
  606.  
  607. void Matrizj1(BINGO *J1, int RetornoMatriz){
  608. int Fila,Column, volver = 0,indMatriz = RetornoMatriz, llama;
  609. textcolor(LIGHTRED);
  610. textbackground(BLACK);
  611. printf("| B | I | N | G | O|\n");
  612. //Sleep(500);
  613. for(Fila=0;Fila<5;Fila++){
  614. for(Column=0;Column<5;Column++){
  615. if(J1[3]->JugadorGanador[RetornoMatriz] == 1){
  616. textbackground(CS);
  617. }
  618.  
  619.  
  620. printf("|%.2d|",J1[0]->carton[RetornoMatriz]);
  621. textbackground(BLACK);
  622. RetornoMatriz++;
  623. }
  624.  
  625. printf("\n");}
  626. indMatriz += 5;
  627.  
  628. }
  629.  
  630. void Matrizj2(BINGO *J2, int RetornoMatriz, int x, int y, int Cartones){
  631. int Fila,Column, volver = 0,indMatriz = RetornoMatriz;
  632. gotoxy(x,y);
  633. textbackground(BLUE);
  634. textcolor(LIGHTRED);
  635. printf("| B | I | N | G | O|\n");
  636. y++;
  637. for(Fila=0;Fila<5;Fila++){
  638. for(Column=0;Column<5;Column++){
  639. gotoxy(x,y);
  640. if(J2[3]->JugadorGanador[RetornoMatriz] == 1){
  641. textbackground(CSJ2);
  642. }
  643.  
  644. printf("|%.2d|",J2[1]->carton[RetornoMatriz]);
  645. textbackground(BLUE);
  646. RetornoMatriz++;
  647. x += 4;
  648. }
  649. printf("\n");
  650. y++;
  651. x = 25;
  652. indMatriz += 5;
  653. if(Cartones == 4){
  654. x = 50;
  655. }
  656.  
  657. }
  658. }
  659.  
  660. void Matrizj3(BINGO *J3, int RetornoMatriz, int x, int y, int Cartones){
  661. int Fila,Column;
  662. gotoxy(x,y);
  663. textcolor(WHITE);
  664. textbackground(LIGHTRED);
  665. printf("| B | I | N | G | O|\n");
  666. y++;
  667. for(Fila=0;Fila<5;Fila++){
  668. for(Column=0;Column<5;Column++){
  669. gotoxy(x,y);
  670. if(J3[3]->JugadorGanador[RetornoMatriz] == 1){
  671. textbackground(CSJ3);
  672. }
  673.  
  674. printf("|%.2d|",J3[2]->carton[RetornoMatriz]);
  675. textbackground(LIGHTRED);
  676. RetornoMatriz++;
  677. x += 4;
  678. }
  679. printf("\n");
  680. y++;
  681. x = 60;
  682. if(Cartones == 4){
  683. x = 80;
  684. }
  685. }
  686. }
  687.  
  688. int Numrep(int Num_guardado, int arreglo[]){
  689. int indice;
  690. for(indice =0;indice<5;indice++){
  691. if(arreglo[indice] == Num_guardado){
  692. return 0;
  693. }
  694. }
  695. return 1;
  696. }
  697.  
  698.  
  699. int Numrep2(int Num_guardado, BINGO arreglo[]){
  700. int indice;
  701. for(indice =0;indice<75;indice++){
  702. if(arreglo[3][indice].BOLA[indice] == Num_guardado){
  703. return 0;
  704. }
  705. }
  706. return 1;
  707.  
  708. }
  709.  
  710. char Iterador(int Bola){
  711. char Bingo;
  712. if(Bola > 0 && Bola <= 15){
  713. Bingo = 'B';}
  714. if(Bola > 15 && Bola <= 30 ){
  715. Bingo = 'I';
  716. }
  717. if(Bola > 30 && Bola <= 45){
  718. Bingo = 'N';}
  719. if(Bola > 45 && Bola <= 60 ){
  720. Bingo = 'G';
  721. }
  722. if(Bola > 60 && Bola <= 75){
  723. Bingo = 'O';
  724. }
  725. return Bingo;
  726. }
  727.  
  728. int NumDifHorizontal(int Num){
  729. int ind;
  730. for(ind = 2;ind<100;ind += 5){
  731. if( Num == ind){
  732. return 1;
  733. }
  734. }
  735. for(ind = 3;ind<100;ind += 5){
  736. if( Num == ind){
  737. return 1;
  738. }
  739. }
  740. for(ind = 4;ind<100;ind += 5){
  741. if( Num == ind){
  742. return 1;
  743. }
  744. }
  745. return 0;
  746. }
  747.  
  748. int Ganador(BINGO *J1, int indMatriz){
  749.  
  750. int ind,ind2;
  751. //Comprobar si hay cuatro en línea en horizontal
  752. for(ind = 0;ind < 100;ind++){
  753. if((*J1[3]).JugadorGanador[indMatriz] == 1 && (*J1[3]).JugadorGanador[indMatriz+1] == 1
  754. && (*J1[3]).JugadorGanador[indMatriz+2] == 1 && (*J1[3]).JugadorGanador[indMatriz+3] == 1
  755. && (*J1[3]).JugadorGanador[indMatriz+4] == 1 ){
  756. return 1;
  757. }
  758.  
  759. indMatriz +=5;
  760. }
  761.  
  762.  
  763. //Comprobar si hay cuatro en línea en vertical
  764. for(ind = 0;ind < 25;ind++){
  765. if((*J1[3]).JugadorGanador[indMatriz] == 1 && (*J1[3]).JugadorGanador[indMatriz+5] == 1
  766. && (*J1[3]).JugadorGanador[indMatriz+10] == 1 && (*J1[3]).JugadorGanador[indMatriz+15] == 1
  767. && (*J1[3]).JugadorGanador[indMatriz+20] == 1){
  768. return 1;
  769. }
  770. indMatriz+=1;
  771. }
  772.  
  773.  
  774. //Comprobar si hay cuatro en línea en diagonal 1
  775. for(ind = 0;ind < 25;ind++){
  776. if((*J1[3]).JugadorGanador[indMatriz] == 1 && (*J1[3]).JugadorGanador[indMatriz+6] == 1
  777. && (*J1[3]).JugadorGanador[indMatriz+12] == 1 && (*J1[3]).JugadorGanador[indMatriz+18] == 1
  778. && (*J1[3]).JugadorGanador[indMatriz+24] == 1){
  779. return 1;
  780. }
  781.  
  782. }
  783.  
  784. //Comprobar si hay 5 en línea en diagonal 2
  785. for(ind = 0;ind < 25;ind++){
  786. if((*J1[3]).JugadorGanador[indMatriz+4] == 1 && (*J1[3]).JugadorGanador[indMatriz+8] == 1
  787. && (*J1[3]).JugadorGanador[indMatriz+12] == 1 && (*J1[3]).JugadorGanador[indMatriz+16] == 1
  788. && (*J1[3]).JugadorGanador[indMatriz+20] == 1){
  789. return 1;
  790. }
  791.  
  792. }
  793.  
  794. //Comprobar si hay 5 en línea en diagonal 2
  795. for(ind = 0;ind < 25;ind++){
  796. if((*J1[3]).JugadorGanador[indMatriz+4] == 1 && (*J1[3]).JugadorGanador[indMatriz+8] == 1
  797. && (*J1[3]).JugadorGanador[indMatriz+12] == 1 && (*J1[3]).JugadorGanador[indMatriz+16] == 1
  798. && (*J1[3]).JugadorGanador[indMatriz+20] == 1){
  799. return 1;
  800. }
  801.  
  802. }
  803.  
  804. return 0;
  805. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement