SHARE
TWEET

c4 2.0

c_pinoleo01 Jan 23rd, 2020 88 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include"conecta4.h"
  4.  
  5. int tablero_c4[7][7] = {{0,0,0,0,0,0,0},{0,0,0,0,0,0,0},{0,0,0,0,0,0,0},{0,0,0,0,0,0,0},{0,0,0,0,0,0,0},{0,0,0,0,0,0,0},{0,0,0,0,0,0,0}};
  6. int ficha_c4;
  7. int jugador_c4 = 0;
  8. int ganador_c4 = 0;
  9. int columna_c4;
  10. char scanColumna[20];
  11.  
  12.  
  13. void inicializar_juego_c4();
  14.  
  15. char* pedirColumna_c4(char a[20]);
  16.  
  17. int filtroLetras_c4(char a[20]);
  18.  
  19. void ficha_jugador_c4(int a);
  20.  
  21. void imprimir_tablero_c4();
  22.  
  23. int verificar_ganador_c4(int a);
  24.  
  25. void declarar_ganador_c4(int a);
  26.  
  27. void inicializar_juego_c4(){
  28.  
  29.     printf("Conecta 4\n \n");
  30.     printf("Bienvenido a Conecta 4.\nEl primer jugador en conseguir que cuatro de sus fichas formen una linea \n(Ya sea horizontal, vertical o diagonal), gana.\n");
  31.     printf("Este es su tablero:\n \n");
  32.  
  33.     for(int i=0; i < 6; i++){
  34.             for(int j=0; j < 7; j++){
  35.  
  36.                 printf("<O> ");
  37.  
  38.             }
  39.             printf("\n");
  40.             }
  41.  
  42.     printf("\nEl jugador 1 tendra las fichas amarillas, el jugador 2 las rojas.\n");
  43.  
  44. }
  45.  
  46. char* pedirColumna_c4(char a[20]){
  47.  
  48.  
  49.     printf("Turno del jugador %i \n", jugador_c4+1);
  50.  
  51.     for(int i=0; i<20; i++){
  52.         a[i] = 0;
  53.     }
  54.  
  55.     printf("Porfavor, elija una columna del 1 al 7: \n");
  56.     scanf("%s",a);
  57.  
  58.     return a;
  59.  
  60. }
  61.  
  62. int filtroLetras_c4(char a[20]){
  63.  
  64.  
  65.     int k=0;
  66.     while(k == 0){
  67.  
  68.         int column = (int)a[0];
  69.  
  70.             if(((column < 56) && (column > 48))){
  71.                while(a[1]!=0){
  72.                 printf("El dato digitado no es un valor correcto. Ingrese un valor numerico correspondiente a alguna columna.\n");
  73.                 fflush(stdin);
  74.                 scanf("%s",&a);
  75.                 }
  76.                 k=1;
  77.                 break;
  78.             }
  79.                else{
  80.                 printf("El dato digitado no es un valor correcto. Ingrese un valor numerico correspondiente a alguna columna.\n");
  81.                 fflush(stdin);
  82.                 scanf("%s",&a);
  83.                 }
  84.            }
  85.  
  86.  
  87.  
  88.     int columna = (int)a[0];
  89.     columna -=49 ;
  90.  
  91.     return columna;
  92.  
  93. }
  94.  
  95. void ficha_jugador_c4(int a){
  96.  
  97.     switch(jugador_c4){
  98.         case 0:
  99.             ficha_c4 = 1;
  100.             break;
  101.  
  102.         case 1:
  103.             ficha_c4 = 2;
  104.             break;
  105.     }
  106.  
  107.     int l = 1;
  108.     for (int i = 1; i <7 ; i++){
  109.         if (tablero_c4[i][a] == 0)
  110.         {
  111.             tablero_c4[i][a]= ficha_c4;
  112.             l = 0;
  113.             break;
  114.         }
  115.  
  116.     }
  117.  
  118.     if(l == 1){
  119.         printf("Columna %i llena \n",a+1);
  120.     }
  121.  
  122.     switch(jugador_c4){
  123.         case 0:
  124.  
  125.             ficha_c4 = 1;
  126.  
  127.             break;
  128.  
  129.         case 1:
  130.  
  131.             ficha_c4 = 2;
  132.  
  133.             break;
  134.  
  135.     }
  136.  
  137.     if(l == 1){
  138.  
  139.         switch(jugador_c4){
  140.             case 0:
  141.                     jugador_c4 = 0;
  142.                 break;
  143.  
  144.             case 1:
  145.                     jugador_c4 = 1;
  146.                 break;
  147.         }
  148.  
  149.     }
  150.     else{
  151.         switch(jugador_c4){
  152.             case 0:
  153.                 jugador_c4 = 1;
  154.             break;
  155.  
  156.             case 1:
  157.                 jugador_c4 = 0;
  158.             break;
  159.         }
  160.  
  161.  
  162.     }
  163. }
  164.  
  165. void imprimir_tablero_c4(){
  166.  
  167.     system("CLS");
  168.     printf("\n");
  169.  
  170.     for(int i=6; i>=1; i--){
  171.         for(int j=0; j<7; j++ ){
  172.             if(tablero_c4[i][j] == 1){
  173.                 printf("<A> ", tablero_c4[i][j]);
  174.             }
  175.             else if(tablero_c4[i][j] == 2){
  176.                 printf("<R> ", tablero_c4[i][j]);
  177.             }
  178.             else{
  179.                 printf("<O> ", tablero_c4[i][j]);
  180.             }
  181.  
  182.  
  183.         }
  184.         printf("\n");
  185.  
  186.     }
  187.  
  188.     printf("\n");
  189. }
  190.  
  191. int verificar_ganador_c4(int a){
  192.  
  193.  
  194.     for(int j=0; j<7; j++){
  195.  
  196.  
  197.         for(int i=6; i>0; i--){
  198.  
  199.  
  200.             if((tablero_c4[i][j]==tablero_c4[i-1][j]) && (tablero_c4[i-1][j]==tablero_c4[i-2][j]) && (tablero_c4[i-2][j]==tablero_c4[i-3][j]) && (tablero_c4[i][j]!= 0)){
  201.                 if(tablero_c4[i][j]==1){
  202.                 a = 1;
  203.                 break;
  204.                 }
  205.                 else{
  206.                     a = 2;
  207.                     break;
  208.                 }
  209.  
  210.             }
  211.         }
  212.  
  213.         if((a == 1) || (a == 2)){
  214.             break;
  215.         }
  216.  
  217.     }
  218.  
  219.     for(int i=1; i<7; i++){
  220.  
  221.  
  222.         for(int j=0; j<5; j++){
  223.  
  224.  
  225.             if((tablero_c4[i][j]==tablero_c4[i][j+1]) && (tablero_c4[i][j+1]==tablero_c4[i][j+2]) && (tablero_c4[i][j+2]==tablero_c4[i][j+3]) && (tablero_c4[i][j]!= 0)){
  226.                 if(tablero_c4[i][j]==1){
  227.                     a = 1;
  228.                     break;
  229.                 }
  230.                 else{
  231.                     a = 2;
  232.                     break;
  233.                 }
  234.             }
  235.         }
  236.  
  237.         if((a == 1) || (a == 2)){
  238.             break;
  239.         }
  240.  
  241.     }
  242.     for(int i=1; i<5; i++){
  243.  
  244.  
  245.         for(int j=0; j<5; j++){
  246.  
  247.  
  248.             if((tablero_c4[i][j]==tablero_c4[i+1][j+1]) && (tablero_c4[i+1][j+1]==tablero_c4[i+2][j+2]) && (tablero_c4[i+2][j+2]==tablero_c4[i+3][j+3]) && (tablero_c4[i][j]!=0)){
  249.                 if(tablero_c4[i][j]==1){
  250.                     a = 1;
  251.                     break;
  252.                 }
  253.                 else{
  254.                     a = 2;
  255.                     break;
  256.                 }
  257.             }
  258.         }
  259.  
  260.         if((a == 1) || (a == 2)){
  261.             break;
  262.         }
  263.     }
  264.  
  265.     for(int i=7; i>3; i--){
  266.  
  267.  
  268.         for(int j=0; j<5; j++){
  269.  
  270.  
  271.             if((tablero_c4[i][j]==tablero_c4[i-1][j+1]) && (tablero_c4[i-1][j+1]==tablero_c4[i-2][j+2]) && (tablero_c4[i-2][j+2]==tablero_c4[i-3][j+3]) && (tablero_c4[i][j]!=0)){
  272.                 if(tablero_c4[i][j]==1){
  273.                     a = 1;
  274.                     break;
  275.                 }
  276.                 else{
  277.                     a = 2;
  278.                     break;
  279.                 }
  280.             }
  281.         }
  282.  
  283.         if((a == 1) || (a == 2)){
  284.             break;
  285.         }
  286.     }
  287.  
  288.     int contador_c4=0;
  289.  
  290. for(int i=1; i<7; i++){
  291.  
  292.     for(int j=0; j<7; j++){
  293.  
  294.         if(tablero_c4[i][j] != 0){
  295.             contador_c4++;
  296.         }
  297.  
  298.     }
  299.  
  300.     if(contador_c4 == 42){
  301.         a = 3;
  302.     }
  303. }
  304.  
  305.     return a;
  306. }
  307.  
  308. void declarar_ganador_c4(int a){
  309.  
  310.     switch(a){
  311.         case 1: printf("El ganador es el jugador 1 \n");
  312.         break;
  313.  
  314.         case 2: printf("El ganador es el jugador 2 \n");
  315.         break;
  316.  
  317.         case 3: printf("No hay ganador en este juego \n");
  318.         break;
  319.     }
  320. }
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