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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  juego del gato
0 Usuarios y 3 Visitantes están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: juego del gato  (Leído 5,148 veces)
m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
juego del gato
« en: 8 Mayo 2012, 20:34 pm »

Saludos

Tengo este codigo que es en si una traducción de C, y me salen los siguientes errores en las líneas 35,58 y 78 que dice g cannot be resolved y no se si es porque tengo que utilizar herencia o por que

Código
  1. public class Gato {
  2. final int MAX_FILA=3;
  3. final int MAX_COLUM=3;
  4. final int MAX_TURNO=9;
  5. char gato[][];
  6. public Gato(){
  7. gato=new char[MAX_FILA][MAX_COLUM];
  8. }
  9. public int verificarFilas(){
  10. int i,j,suma=0,ganador;
  11. for(i=0;i<MAX_FILA;i++){
  12. for(j=0;j<MAX_COLUM;j++){
  13. suma+=gato[i][j];
  14. }
  15. if(suma==264){
  16. System.out.println("El ganador es el jugador X");
  17. ganador=1;
  18. return ganador;
  19. }
  20. else if(suma==237){
  21. System.out.println("El ganador es el jugador O");
  22. ganador=2;
  23. return ganador;
  24. }
  25. else
  26. ganador=0;
  27. }
  28. if(ganador==0)
  29. g.verificarColumnas();
  30. return ganador;
  31. }
  32. public int verificarColumnas(){
  33. int i,j,suma=0,ganador;
  34. for(i=0;i<MAX_FILA;i++){
  35. for(j=0;j<MAX_COLUM;j++){
  36. suma+=gato[j][i];
  37. }
  38. if(suma==264){
  39. System.out.println("El ganador es el jugador X");
  40. ganador=1;
  41. return ganador;
  42. }
  43. else if(suma==237){
  44. System.out.println("El ganador es el jugador O");
  45. ganador=2;
  46. return ganador;
  47. }
  48. else
  49. ganador=0;
  50. }
  51. if(ganador==0)
  52. g.verificarDiagonal();
  53. return ganador;
  54. }
  55. public int verificarDiagonal(){
  56. int i,suma=0,ganador;
  57. for(i=0;i<MAX_FILA;i++)
  58. suma+=gato[i][i];
  59. if(suma==264){
  60. System.out.println("El ganador es el jugador X");
  61. ganador=1;
  62. return ganador;
  63. }
  64. else if(suma==237){
  65. System.out.println("El ganador es el jugador O");
  66. ganador=2;
  67. return ganador;
  68. }
  69. else
  70. ganador=0;
  71. if(ganador==0)
  72. g.verificarDiagonalInv();
  73. return ganador;
  74. }
  75. public int verificarDiagonalInv(){
  76. int i,j,suma=0,ganador;
  77. for(i=2,j=0;j<MAX_COLUM;i--,j++)
  78. suma+=gato[i][j];
  79. if(suma==264){
  80. System.out.println("El ganador es el jugador X");
  81. ganador=1;
  82. return ganador;
  83. }
  84. else if(suma==237){
  85. System.out.println("El ganador es el jugador O");
  86. ganador=2;
  87. return ganador;
  88. }
  89. else
  90. ganador=0;
  91. if(ganador==0)
  92. return ganador;
  93. }
  94. public void imprimirTablero(char gato[][]){
  95. int i,j;
  96. for(i=0;i<MAX_FILA;i++){
  97. for(j=0;j<MAX_COLUM;j++){
  98. if((gato[i][j])=='X'||(gato[i][j])=='O')
  99. System.out.println(" "+gato[i][j]);
  100. else
  101. System.out.println(" ");
  102. System.out.println("|");
  103. }
  104. System.out.println("\n");
  105. System.out.println("_____");
  106. System.out.println("\n");
  107. }
  108. }
  109. public void turnoJugador(){
  110. Gato g=new Gato();
  111. final int MAX_JUG=2;
  112. int i,fila,columna,turno;
  113. char jugador[]={'X','O'},letra;
  114. turno=1;
  115. do
  116. {
  117. for(i=0;i<MAX_JUG;i++){
  118. System.out.println("Es turno del jugador "+jugador[i]);
  119. System.out.print("Dime la fila (1 a 3):");
  120. fila=ScanF.leeInt();
  121. System.out.println(" "+fila);
  122. System.out.print("Dame la columna (1 a 3):");
  123. columna=ScanF.leeInt();
  124. System.out.println(" "+columna);
  125. letra=jugador[i];
  126. gato[fila-1][columna-1]=letra;
  127. g.imprimirTablero(gato);
  128. }
  129.  
  130. }while((turno<=MAX_TURNO));
  131. }
  132. public static void main(String[] args) {
  133. int i,ganador;
  134. final int MAX_JUG=2;
  135. System.out.println("Juego del Gato v1.0");
  136. Gato g=new Gato();
  137. g.turnoJugador();
  138. ganador=g.verificarFilas();
  139. if(ganador!=0)
  140.                                   i=MAX_JUG+1;
  141. }
  142. }

gracias


« Última modificación: 8 Mayo 2012, 21:15 pm por m@o_614 » En línea

Proteus1989

Desconectado Desconectado

Mensajes: 184



Ver Perfil WWW
Re: juego del gato
« Respuesta #1 en: 8 Mayo 2012, 21:14 pm »

Resumiendo está fatal xD
Variables usadas sin inicializar, uso de g. en métodos donde no se han definido...

Te recomiendo instales eclipse donde al dejar el ratón por encima te diga todos los fallos que tienes.

Para empezar quita todos lo g. que veas que no estén en el main
int verificarDiagonalInv() no tiene un return al final, siempre están dentro de condicionales, y aunque sepas a ciencia cierta que tiene que pasar por algún return el compilador se va a quejar.
ScanF.leeInt(); no existe. Usa la clase Scanner o bufferedReader (busca ejemplos en internet)

Con eso en principio no debería darte errores de sintaxis, otra cosa es que los algoritmos estén bien construidos.


En línea

m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
Re: juego del gato
« Respuesta #2 en: 8 Mayo 2012, 21:16 pm »

la clase ScanF no se necesita porque tengo dos clases en un mismo archivo la clase Gato y la clase ScanF por eso no se ocupa
En línea

s00rk

Desconectado Desconectado

Mensajes: 195



Ver Perfil
Re: juego del gato
« Respuesta #3 en: 8 Mayo 2012, 21:45 pm »

Si durante la partida uno gana y aunno terminan los turnos seguiran jugando y al final si los dos ganan y puede que salte al falso ganador, eso dependiendo de tu la forma que checas el ganador.

Segun yo ya lo habias hecho bien en C++ recordando tu tema, no entiendo porque te complicas en algunas cosas heheh.
Suerte ;D
En línea

m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
Re: juego del gato
« Respuesta #4 en: 8 Mayo 2012, 22:04 pm »

si el programa en C ya compila bien, en cuanto encuetra ganador termina el programa, lo que sucede es que apenas voy empezando en esto de Java y creo que me fallan algunos conceptos

saludos
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,914 Último mensaje 2 Septiembre 2010, 15:00 pm
por xcoverdalex
Juego Gato
Java
Lain0x 2 9,936 Último mensaje 22 Marzo 2011, 05:43 am
por sapito169
Juego del gato « 1 2 »
Programación C/C++
m@o_614 13 22,642 Último mensaje 30 Abril 2012, 03:41 am
por s00rk
Ayuda con el juego del gato
Programación C/C++
Dieux Rablia 3 3,912 Último mensaje 20 Mayo 2012, 18:59 pm
por Dieux Rablia
Recomendad un juego al gato. « 1 2 3 »
Juegos y Consolas
Saberuneko 21 30,718 Último mensaje 19 Junio 2012, 13:40 pm
por Saberuneko
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines