comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Juego del Gato para aprendices.

  • 1 Respuestas
  • 2166 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado coke951

  • *
  • Underc0der
  • Mensajes: 37
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
  • Skype: Cok3951
« en: Septiembre 08, 2015, 02:59:24 pm »
Para los que están aprendiendo a programar, quizás les resulte útil este pequeño programa que hice en java solo por hacer.

Realmente lo hice bastante fácil, no me metí en detalle y quizás utilice métodos bastante tontos, igual soy nuevo programando.

Solo es el juego del Gato, tiene 2 opciones, jugar contra la computadora o jugar con otra persona. Al jugar con la computadora solo introduce una posición aleatoria. Espero que les sea de utilidad.

git: You are not allowed to view links. Register or Login

Imagenes:



Codigo:
Código: Java
  1. import java.util.Scanner;
  2.  
  3. class Gato{
  4.         public static void main(You are not allowed to view links. Register or Login []args){
  5.                 JuegoGame game = new JuegoGame();
  6.                 Scanner entrada = new Scanner(You are not allowed to view links. Register or Login.in);
  7.                 int coordenada[] = new int[2];
  8.                 boolean alternar = true;
  9.                 boolean salir = false;
  10.                 boolean ia = false;
  11.                 boolean coorVer = false;
  12.                
  13.                 You are not allowed to view links. Register or Login.out.println("Bienvenido al juego del gato.\nEste juego fue creado por BlaN");
  14.                 do{
  15.                         You are not allowed to view links. Register or Login.out.print("\n\nPuedes jugar contra otra persona o contra la computadora.\nContra quien quieres jugar?\n(1 = contra otra persona | 2 = contra la computadora): ");
  16.                         if(entrada.nextInt() == 2){
  17.                                 ia = true;
  18.                         }
  19.                        
  20.                         You are not allowed to view links. Register or Login.out.println("\nA JUGAR!");
  21.                        
  22.                         You are not allowed to view links. Register or Login.out.println("\nPrimero jugara el jugador X\n");
  23.                
  24.                         do{
  25.                                 You are not allowed to view links. Register or Login.out.println("\n"+game.mostrarTablero()+"\n");
  26.                                 do{
  27.                                         coorVer = false;
  28.                                         if(alternar){
  29.                                                 You are not allowed to view links. Register or Login.out.print("[*] Jugador X, Escoge fila: ");
  30.                                                 coordenada[0] = entrada.nextInt();
  31.                                                 You are not allowed to view links. Register or Login.out.print("[*] Jugador X, Escoge columna: ");
  32.                                                 coordenada[1] = entrada.nextInt();
  33.                                         }else if(!ia && !alternar){
  34.                                                 You are not allowed to view links. Register or Login.out.print("[*] Jugador O, Escoge fila: ");
  35.                                                 coordenada[0] = entrada.nextInt();
  36.                                                 You are not allowed to view links. Register or Login.out.print("[*] Jugador O, Escoge columna: ");
  37.                                                 coordenada[1] = entrada.nextInt();
  38.                                         }else{
  39.                                                 coordenada = game.jugarIA();
  40.                                                 You are not allowed to view links. Register or Login.out.println("La computadora escogio:\nFila: "+coordenada[0]+"\nColumna: "+coordenada[1]);
  41.                                         }
  42.                                         if(coordenada[0] < 1 || coordenada[0] > 3 || coordenada[1] < 1 || coordenada[1] > 3){
  43.                                                 coorVer = true;
  44.                                                 You are not allowed to view links. Register or Login.out.println("\nSolo puedes introducir numeros del 1 al 3\n");
  45.                                         }else if(!coorVer){
  46.                                                 if(game.comprobarLugarLimpio(coordenada)){
  47.                                                         You are not allowed to view links. Register or Login.out.println("\nEse lugar se encuentra ocupado ya.\n");
  48.                                                         coorVer = true;
  49.                                                 }
  50.                                         }
  51.                                 }while(coorVer);
  52.                                 game.setCoordenada(coordenada, alternar);
  53.                                 if(game.comprobarWin(alternar) || game.comprobarEmpate()){
  54.                                         You are not allowed to view links. Register or Login.out.println("\n"+game.mostrarTablero());
  55.                                         if(game.comprobarEmpate()){
  56.                                                 You are not allowed to view links. Register or Login.out.println("\n[->*] NO HAY GANADOR [*<-]");
  57.                                         }else if(alternar){
  58.                                                 You are not allowed to view links. Register or Login.out.println("\n[->*] EL GANADOR ES EL JUGADOR X [*<-]");
  59.                                         }else if(!alternar){
  60.                                                 You are not allowed to view links. Register or Login.out.println("\n[->*] EL GANADOR ES EL JUGADOR O [*<-]");
  61.                                         }
  62.                                        
  63.                                         You are not allowed to view links. Register or Login.out.println("\nVolver al menu?");
  64.                                         entrada.nextLine();
  65.                                         if(entrada.nextLine().equalsIgnoreCase("si")){
  66.                                                 game = null;
  67.                                                 game = new JuegoGame();
  68.                                                 alternar = true;
  69.                                                 salir = false;
  70.                                                 break;
  71.                                         }else{
  72.                                                 salir = true;
  73.                                                 break;
  74.                                         }
  75.                                 }else{
  76.                                         if(alternar)
  77.                                                 alternar = false;
  78.                                         else
  79.                                                 alternar = true;
  80.                                 }
  81.                                
  82.                         }while(true);
  83.                 }while(!salir);
  84.                
  85.         }
  86. }

Código: Java
  1. class JuegoGame{
  2.        
  3.         char [][]gato;
  4.        
  5.         public JuegoGame(){
  6.                 gato = new char[3][3];
  7.                 //fila 1
  8.                 gato[0][0] = ' '; gato[0][1] = ' '; gato[0][2] = ' ';
  9.                 //fila 2
  10.                 gato[1][0] = ' '; gato[1][1] = ' '; gato[1][2] = ' ';
  11.                 //fila 3
  12.                 gato[2][0] = ' '; gato[2][1] = ' '; gato[2][2] = ' ';
  13.         }
  14.        
  15.         public You are not allowed to view links. Register or Login mostrarTablero(){
  16.                 You are not allowed to view links. Register or Login tab = "";
  17.                
  18.                 for(int x = 0 ; x < gato.length ; x++){
  19.                         tab += "\t";
  20.                         for(int i = 0 ; i < gato.length ; i++){
  21.                                 tab += You are not allowed to view links. Register or Login.valueOf(gato[x][i]);
  22.                                 if( i < gato.length -1){
  23.                                         tab += " | ";
  24.                                 }
  25.                         }
  26.                         if(x < gato.length -1){
  27.                                 tab +="\n\t---------\n";
  28.                         }
  29.                 }
  30.                 return tab;
  31.         }
  32.        
  33.         public boolean comprobarLugarLimpio(int[] cor){
  34.                 if(gato[cor[0]-1][cor[1]-1] == 'X' || gato[cor[0]-1][cor[1]-1] == 'O'){
  35.                         return true;
  36.                 }else{
  37.                         return false;
  38.                 }
  39.         }
  40.        
  41.         public void setCoordenada(int [] cor, boolean alternar){
  42.                 int x = cor[0],y = cor[1];
  43.                 if(alternar){
  44.                         gato[x-1][y-1] = 'X';
  45.                 }else{
  46.                         gato[x-1][y-1] = 'O';
  47.                 }
  48.         }
  49.        
  50.         public int[] jugarIA(){
  51.                 int cor[] = new int[2];
  52.                 do{
  53.                         cor[1] = (int)((You are not allowed to view links. Register or Login.random()*3)+1);
  54.                         cor[0] = (int)((You are not allowed to view links. Register or Login.random()*3)+1);
  55.                 }while(comprobarLugarLimpio(cor));
  56.                 return cor;
  57.         }
  58.        
  59.         public boolean comprobarEmpate(){
  60.                 boolean comp = false;
  61.                 int cont = 0;
  62.                
  63.                 for(int x = 0 ; x < gato.length ; x++){
  64.                         for(int y = 0; y < gato.length ; y++){
  65.                                 if(gato[x][y] == 'X' || gato[x][y] == 'O'){
  66.                                         cont++;
  67.                                 }
  68.                         }
  69.                 }
  70.                
  71.                 if(cont < 9){
  72.                         comp = false;
  73.                 }else{
  74.                         comp = true;
  75.                 }
  76.                 return comp;
  77.         }
  78.        
  79.         public boolean comprobarWin(boolean alternar){
  80.                 boolean win[] = new boolean[3];
  81.                 win[0] = false;
  82.                 win[1]=false;
  83.                 win[2]= false;
  84.                 boolean ganador = false;
  85.                 boolean salir = false;
  86.                 int ganadas = 0;
  87.                 int contador = 0;
  88.                 int x = 0;
  89.                 int y = 0;
  90.                 do{
  91.                         if(alternar){
  92.                                 if('X' == gato[x][y]){
  93.                                         win[ganadas] = true;
  94.                                         ganadas++;
  95.                                         if(win[0] && win[1] && win[2]){
  96.                                                 ganador = true;
  97.                                         }
  98.                                 }
  99.                         }else{
  100.                                 if('O' == gato[x][y]){
  101.                                         win[ganadas] = true;
  102.                                         ganadas++;
  103.                                         if(win[0] && win[1] && win[2]){
  104.                                                 ganador = true;
  105.                                         }
  106.                                 }
  107.                         }
  108.                         contador++;
  109.                         if(contador <= 9){
  110.                                 y++;
  111.                         }else if(contador > 9 && contador < 18){
  112.                                 x++;
  113.                         }
  114.                        
  115.                         else if(contador > 18 && contador < 21){
  116.                                 y++;
  117.                                 x++;
  118.                         }else if(contador >= 21){
  119.                                 if(contador == 22){
  120.                                         x--;
  121.                                         y++;
  122.                                 }else if(contador == 23){
  123.                                         x--;
  124.                                         y++;
  125.                                 }
  126.                         }
  127.                         if(contador == 0){
  128.                                 win[0] = false;
  129.                                 win[1]=false;
  130.                                 win[2]= false;
  131.                                 ganadas = 0;
  132.                         }
  133.                         if(contador == 3){
  134.                                 win[0] = false;
  135.                                 win[1] = false;
  136.                                 win[2] = false;
  137.                                 ganadas = 0;
  138.                                 x++;
  139.                                 y=0;
  140.                         }else if(contador == 6){
  141.                                 win[0] = false;
  142.                                 win[1] = false;
  143.                                 win[2] = false;
  144.                                 ganadas = 0;
  145.                                 x++;
  146.                                 y=0;
  147.                         }else if(contador == 9){
  148.                                 win[0] = false;
  149.                                 win[1] = false;
  150.                                 win[2] = false;
  151.                                 ganadas = 0;
  152.                                 x=0;
  153.                                 y=0;
  154.                         }else if(contador == 12){
  155.                                 win[0] = false;
  156.                                 win[1] = false;
  157.                                 win[2] = false;
  158.                                 ganadas = 0;
  159.                                 x = 0;
  160.                                 y++;
  161.                         }else if(contador == 15){
  162.                                 win[0] = false;
  163.                                 win[1] = false;
  164.                                 win[2] = false;
  165.                                 ganadas = 0;
  166.                                 x = 0;
  167.                                 y++;
  168.                         }
  169.                         if(contador == 18){
  170.                                 win[0] = false;
  171.                                 win[1] = false;
  172.                                 win[2] = false;
  173.                                 ganadas = 0;
  174.                                 x=0;
  175.                                 y=0;
  176.                         }else if(contador == 21){
  177.                                 win[0] = false;
  178.                                 win[1] = false;
  179.                                 win[2] = false;
  180.                                 ganadas = 0;
  181.                                 x=2;
  182.                                 y=0;
  183.                         }
  184.                         else if(contador ==24){
  185.                                 salir = true;
  186.                         }
  187.                 }while(!salir);
  188.                
  189.                 return ganador;
  190.         }
  191. }


Cualquier duda, consejo o comentario constructivo es bienvenido.

Saludos
« Última modificación: Septiembre 08, 2015, 03:02:44 pm por coke951 »

Desconectado LKI

  • *
  • Underc0der
  • Mensajes: 60
  • Actividad:
    1.67%
  • Reputación 0
  • |Un día sin aprender nada, es un día perdido..|
    • Ver Perfil
    • Email
« Respuesta #1 en: Septiembre 10, 2015, 11:55:40 pm »
Muy buen código, muy limpio y ordenado es excelente cuando se respetan las convenciones  y se trabaja ordenadamente. Felicitaciones!
Ser mejor cada día es mi meta

 =LKI=

 

¿Te gustó el post? COMPARTILO!



Java al Extremo [Todo lo que Necesitas Para Aprender Java] [Multi]

Iniciado por Mr.Kratos

Respuestas: 0
Vistas: 91
Último mensaje Julio 20, 2018, 05:21:12 pm
por Mr.Kratos
Conversor ASCI a Hex para inyecciones by andresg888

Iniciado por ProcessKill

Respuestas: 0
Vistas: 1611
Último mensaje Febrero 24, 2010, 04:13:18 pm
por ProcessKill
[Aporte] Mi primera aplicacion para celular

Iniciado por Only

Respuestas: 4
Vistas: 2495
Último mensaje Noviembre 06, 2011, 07:41:24 am
por sisvot1
Programación de juegos para principiantes

Iniciado por Expermicid

Respuestas: 3
Vistas: 5441
Último mensaje Abril 06, 2014, 09:09:17 pm
por Expermicid