elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Juego Gato: definir ganador y repetir coordenada
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Juego Gato: definir ganador y repetir coordenada  (Leído 1,742 veces)
daichi21

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Juego Gato: definir ganador y repetir coordenada
« en: 30 Noviembre 2016, 15:31 pm »

Hola! tengo este proyecto de crear un juego gato. Tengo listo lo de ir seleccionando casillas, nombre de jugador, etc. Lo que se me dificulta o falta es cómo validar al ganador, o sea, en qué parte o cómo o con qué hacer la comparación de casillas para definir al ganador, tenía una idea con un if, pero no me funciona. También en el momento en que el jugador seleccione una casilla ocupada, lo regrese al paso en donde selecciona casilla, había pensado en un do-while con un switch, pero tampoco funciona. si me pudieran ayudar gracias, esto es lo que llevo:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. char gato[3][3];
  5.  
  6. struct jugador{
  7. char nombre[50]
  8. }j1,j2;
  9.  
  10. int main (){
  11. int x, y, i;
  12. printf("Jugador X ingresa tu nombre:");
  13. scanf("%s", &j1);
  14. printf("Jugador O ingresa tu nombre:");
  15. scanf("%s", &j2);
  16. system("cls");
  17. for(i=0; i<100; i++){
  18.    printf("*****GATO*****\n");
  19. printf("|%c| |%c| |%c|\n", gato[0][0], gato[0][1], gato[0][2]);
  20. printf("-----------\n");
  21. printf("|%c| |%c| |%c|\n", gato[1][0], gato[1][1], gato[1][2]);
  22. printf("-----------\n");
  23. printf("|%c| |%c| |%c|\n", gato[2][0], gato[2][1], gato[2][2]);
  24.    if(i%2!=0){
  25.        printf("%s, elige tu casilla en coordenadas x y y: \n", &j2);
  26. printf("Coordenada x:\n");
  27. scanf("%d", &x);
  28. printf("\n coordenada y:\n");
  29. scanf("%d", &y);
  30. y=y-1;
  31. x=x-1;
  32. if (gato[y][x]==' ',gato[y][x]==0){
  33.    gato[y][x]= 'O';}
  34.    else{
  35.        printf("elige otra casilla\n");
  36.        system("pause");
  37.    }
  38. system("cls");
  39.    }
  40.    else{
  41.        printf("%s, elige tu casilla en coordenadas x y y: \n", &j1);
  42. printf("Coordenada x:\n");
  43. scanf("%d", &x);
  44. printf("\n coordenada y:\n");
  45. scanf("%d", &y);
  46. y=y-1;
  47. x=x-1;
  48. if (gato[y][x]==' ',gato[y][x]==0){
  49.    gato[y][x]= 'X';
  50.    }
  51.    else{
  52.        printf("elige otra casilla\n");
  53.        system("pause");
  54.    }
  55.    system("cls");
  56. }
  57. }
  58. printf("Ganó el jugador");
  59. system("pause");
  60. return 0;
  61. }
  62.  

MOD: etiqueta GeSHi.


« Última modificación: 30 Noviembre 2016, 15:36 pm por MCKSys Argentina » En línea

Kenji-chan

Desconectado Desconectado

Mensajes: 104


Ver Perfil
Re: Juego Gato: definir ganador y repetir coordenada
« Respuesta #1 en: 30 Noviembre 2016, 19:18 pm »

mírate estos tutos quiza te sirvan
https://www.youtube.com/playlist?list=PLw8RQJQ8K1yQZyhplheIkd5qtuYXM-qtx


En línea

KINGARZA

Desconectado Desconectado

Mensajes: 33

Facebook: Luis Garza


Ver Perfil
Re: Juego Gato: definir ganador y repetir coordenada
« Respuesta #2 en: 3 Diciembre 2016, 22:12 pm »

Hola que tal, hace poco me encargaron en el colegio un proyecto y opte por hacer un gato, eso de usar coordenadas (al momento de ingresarlas) en lo personal es un poco incomodo, espero y te ayude:
Código
  1. /**
  2.     Alumno: Luis Eduardo Garza Medina
  3.     programa: Juego
  4.     Nombre: Gato
  5.  
  6.     El juego posee un menu amigable con el usuario, entendible
  7.     para cualquier usuario.
  8.  
  9.     para el menu solo se usan las teclas: 'i', 'e' y 's';
  10.     y para jugar son los numeros, donde para acceder a una casilla debe presionarse
  11.     el siguiente numero:
  12.  
  13.     1 2 3
  14.     4 5 6
  15.     7 8 9
  16.  
  17.     el jugador uno es representado por un '1' equivalente a X
  18.     el jugador dos es representado por un '2' equivalente a O
  19.  
  20.     Al finalizar el programa, este indica los resultados finales de cada jugador.
  21. */
  22. #include <stdio.h>
  23. #include<windows.h>
  24. #define uno    gato[0][0]
  25. #define dos    gato[0][1]
  26. #define tres   gato[0][2]
  27. #define cuatro gato[1][0]
  28. #define cinco  gato[1][1]
  29. #define seis   gato[1][2]
  30. #define siete  gato[2][0]
  31. #define ocho   gato[2][1]
  32. #define nueve  gato[2][2]
  33. //el compilador sustituye la cadena en #define
  34. short gato[3][3] ={{0,0,0}, //definimos matriz
  35.                   {0,0,0},
  36.                   {0,0,0}};
  37. short won[2]; //definimos array
  38.  
  39. int verifica(){ //comprobamos si un jugador ya ganó
  40.    if(uno == dos && dos == tres)
  41.        return uno;
  42.    if(uno == cuatro && cuatro == siete)
  43.        return uno;
  44.    if(uno == cinco && cinco == nueve)
  45.        return uno;
  46.    if(tres == cinco && cinco == siete)
  47.        return tres;
  48.    if(tres == seis && seis == nueve)
  49.        return tres;
  50.    if(cuatro == cinco && cinco == seis)
  51.        return cuatro;
  52.    if(siete == ocho && ocho == nueve)
  53.        return siete;
  54.    if(dos == cinco && cinco == ocho)
  55.        return dos;
  56.    return 0;
  57. }
  58.  
  59. void mostrar(){ //ponemos en pantalla el gato
  60.    system("cls");
  61.    for(int i = 0; i < 3; i++){
  62.        for(int j = 0; j < 3; j++)
  63.            if(j < 2)
  64.                printf("%d|", gato[i][j]);
  65.            else
  66.                printf("%d", gato[i][j]);
  67.        if(i < 2)
  68.            printf("\n-----\n");
  69.        else
  70.            printf("\n");
  71.    }
  72. }
  73.  
  74. void instrucciones(){ //funcion que muestra las instrucciones del jueo
  75.    system("cls");
  76.    printf("Los controles son los numeros del 1 al 9, por ejemplo:\n\n");
  77.    printf("para acceder a la casilla superior izquierda se presiona 1\n\n");
  78.    printf("para acceder a la casilla inferorior intermedia se presiona 8\n\n");
  79.    system("pause");
  80. }
  81.  
  82. int main (){
  83.    short numero, k;
  84.    char opcion;
  85.    while(1){//while infinito
  86.        system("cls"); //limpia la pantalla
  87.        printf("JUEGO DEL GATO\n\n");
  88.        printf("Menu\n\n");
  89.        printf("presiona 'i' para ver instrucciones:\n");
  90.        printf("Presiona 'e' para comenzar\n");
  91.        printf("Presiona 's' para salir\n\n");
  92.        scanf("%s", &opcion);
  93.        switch(opcion){
  94.            case 'i':
  95.                instrucciones();
  96.            break;
  97.            case 'e':
  98.                memset(gato, 0, sizeof(gato));//inicializa la matriz con valores de 0
  99.                for(k = 1; k <= 9; k++){ //este for se repite 9 veces porque son 9 casillas
  100.                    mostrar();
  101.                    scanf("%d", &numero);
  102.                    if(numero == 1)
  103.                        if(k % 2 == 0) //la operacion del modulo ayuda a determinar de quien es el turno
  104.                            uno = 2;
  105.                        else
  106.                            uno = 1;
  107.                    else if(numero == 2)
  108.                        if(k % 2 == 0)
  109.                            dos = 2;
  110.                        else
  111.                            dos = 1;
  112.                    else if(numero == 3)
  113.                        if(k % 2 == 0)
  114.                            tres = 2;
  115.                        else
  116.                            tres = 1;
  117.                    else if(numero == 4)
  118.                        if(k % 2 == 0)
  119.                            cuatro = 2;
  120.                        else
  121.                            cuatro = 1;
  122.                    else if(numero == 5)
  123.                        if(k % 2 == 0)
  124.                            cinco = 2;
  125.                        else
  126.                            cinco = 1;
  127.                    else if(numero == 6)
  128.                        if(k % 2 == 0)
  129.                            seis = 2;
  130.                        else
  131.                            seis = 1;
  132.                    else if(numero == 7)
  133.                        if(k % 2 == 0)
  134.                            siete = 2;
  135.                        else
  136.                            siete = 1;
  137.                    else if(numero == 8)
  138.                        if(k % 2 == 0)
  139.                            ocho = 2;
  140.                        else
  141.                            ocho = 1;
  142.                    else if(numero == 9)
  143.                        if(k % 2 == 0)
  144.                            nueve = 2;
  145.                        else
  146.                            nueve = 1;
  147.                    int ganador = verifica();//le asignamos a ganador el valor que retorne la funcion verifica
  148.                    if(ganador > 0){
  149.                        mostrar();
  150.                        printf("\nEl jugador %d es el GANADOR", ganador);
  151.                        won[ganador - 1]++; //aumentamos en 1 el contador del ganador
  152.                        break;
  153.                    }
  154.                }
  155.                system("pause>null");
  156.            break;
  157.            case 's':
  158.                system("cls");
  159.                printf("El jugador 1 gano: %d partidas\n", won[0]);
  160.                printf("El jugador 2 gano: %d partidas\n", won[1]);
  161.                printf("Gracias por jugar!\n\n");
  162.                return 0;
  163.            break;
  164.            default:
  165.            break;
  166.        }
  167.    }
  168. }
  169.  
  170.  
« Última modificación: 3 Diciembre 2016, 22:14 pm por KINGARZA » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Juego Gato Inteligente.
Programación C/C++
xcoverdalex 5 7,607 Último mensaje 2 Septiembre 2010, 15:00 pm
por xcoverdalex
Juego Gato
Java
Lain0x 2 9,694 Último mensaje 22 Marzo 2011, 05:43 am
por sapito169
Juego del gato « 1 2 »
Programación C/C++
m@o_614 13 21,922 Último mensaje 30 Abril 2012, 03:41 am
por s00rk
juego del gato
Java
m@o_614 4 4,949 Último mensaje 8 Mayo 2012, 22:04 pm
por m@o_614
Ayuda con el juego del gato
Programación C/C++
Dieux Rablia 3 3,560 Último mensaje 20 Mayo 2012, 18:59 pm
por Dieux Rablia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines