jueves, 2 de diciembre de 2010

Un Programa hecho por mi

Este juego yo lo desarrolle esta muy simple pero pues mis conocimientos en java eran nulos hasta que empece con este juego, este es mi primer programa y aqui lo pondre, pensaba ponerlo como proyecto final pero a la ultima hora ya no tuve tiempo por estar haciendo el que seria mi proyecto final ahorita lo subire como quiera

Este el codigo

import javax.swing.*;//para las ventanas
import java.util.Random;//esta la tuve que utilizar para poder hace un rand
public class JuegoGato{//aqui empieza la clase JuegoGato
public static void main(String args[])
{
    int jugardenuevo=0;//esta la utilice para controlar si quiere
    do{//                jugar de nuevo o no por eso empieza con un do
    int tabla[][];//declare la matriz llamada tabla de enteros
    tabla=new int [3][3];//de 3x3



    int jugador=0,//inicializo variables
        juego=0,
        fila2=0,
        columna2=0,
    chequeo=0,
    c=0,
    ganador=0,
    decicion=0,
        compu=0;
        Random filacompu=new Random();//esta es la variable ran para fila
        Random columnacompu=new Random();//esta es para columna
        int filacompu2,columnacompu2;


    String fila,
       columna,
       decicion1;
    JOptionPane.showMessageDialog(null,"Bienvenido a mi Juego\n\tEl Gato\n\t De Mefisto","Bienvenida",JOptionPane.INFORMATION_MESSAGE);
    for(int i=0;i<=2;i++){//aqui crea la tabla del juego con puros 0
    for(int j=0;j<=2;j++){

        tabla[i][j]=0;

    }
    }
    JTextArea areaSalida= new JTextArea(7,10);
    String salida="";


     areaSalida.setText(//imprimira las instrucciones
        "\nEl jugador 1 Empieza"+
    "\nPrimero Ingresa el numero de fila"+
    "\nDespues Ingresa el numero de columna"+
        "\nAutomaticamente se pondra tu simbolo"+
    "\nLo mismo para el jugador 2");
    JOptionPane.showMessageDialog(null, areaSalida,"Intrucciones",
                  JOptionPane.INFORMATION_MESSAGE);

    while(juego!=1){//y empezara el juego con el jugador 1
chequeo=0;//la variable chequeo controla que no repita casillas
if(jugador==0){
        JOptionPane.showMessageDialog(null,"Turno de jugador 1",
                      "JUGADOR",JOptionPane.WARNING_MESSAGE);}
else{
        JOptionPane.showMessageDialog(null,"Turno de jugador 2","JUGADOR",
                      JOptionPane.WARNING_MESSAGE);}
        do{
        if(jugador==0){//aqui pide informacion de la matriz
        fila=JOptionPane.showInputDialog ( "Ingresa la fila" );
            columna=JOptionPane.showInputDialog ( "Ingresa la columna" );
        fila2=Integer.parseInt(fila);
        columna2=Integer.parseInt(columna);

            if(tabla[fila2-1][columna2-1]==0) {
        tabla[fila2-1][columna2-1]=1;
        chequeo=1;}//si en dado caso la casilla esta ocupada te avisa
            else{
        JOptionPane.showMessageDialog(null,"Ya esta ocupada esa casilla\n intenta de nuevo","checa esto",JOptionPane.WARNING_MESSAGE);
                  }
    }

        else{//si es turno del jugador 2 este sera su codigo
             //automatizado aunque es algo torpe y facil de vencer
        filacompu2=filacompu.nextInt(3)+1;
        columnacompu2=columnacompu.nextInt(3)+1;
        if(tabla[filacompu2-1][columnacompu2-1]==0){
        tabla[filacompu2-1][columnacompu2-1]=2;
        chequeo=1;
        }
        }
        }while(chequeo!=1);
        salida="";
    for(int i=0;i<=2;i++){
        for(int j=0;j<=2;j++){
        salida+= tabla[i][j];
        }
      salida+="\n";
    }
    areaSalida.setText(salida);
    JOptionPane.showMessageDialog(null,areaSalida,"Visualizacion",JOptionPane.WARNING_MESSAGE);
//y de aqui en adelante checara si hay un ganador
// se que es codigo innecesario asi, lo pude aver hecho con un ciclo
//pero pues asi lo deje
if(tabla[0][0]==1&&tabla[1][1]==1&&tabla[2][2]==1){
JOptionPane.showMessageDialog(null, "El Jugador 1 ha GANADO","GANADOR",JOptionPane.WARNING_MESSAGE);
c=8;
ganador=1;
}

if(tabla[0][0]==2&&tabla[1][1]==2&&tabla[2][2]==2){
JOptionPane.showMessageDialog(null,"El Jugador 2 ha GANADO",
"GANADOR",JOptionPane.WARNING_MESSAGE);
c=8;
ganador=1;
}

if(tabla[0][2]==1&&tabla[1][1]==1&&tabla[2][0]==1){
JOptionPane.showMessageDialog(null, "El Jugador 1 ha GANADO","GANADOR",JOptionPane.WARNING_MESSAGE);
c=8;
ganador=1;
}


if(tabla[0][2]==2&&tabla[1][1]==2&&tabla[2][0]==2){
JOptionPane.showMessageDialog(null, "El Jugador 2 ha GANADO","GANADOR",JOptionPane.WARNING_MESSAGE);
c=8;
ganador=1;
}


if(tabla[0][0]==1&&tabla[0][1]==1&&tabla[0][2]==1){
JOptionPane.showMessageDialog(null, "El Jugador 1 ha GANADO","GANADOR",JOptionPane.WARNING_MESSAGE);
c=8;
ganador=1;
}

if(tabla[0][0]==2&&tabla[0][1]==2&&tabla[0][2]==2){
JOptionPane.showMessageDialog(null, "El Jugador 2 ha GANADO","GANADOR",JOptionPane.WARNING_MESSAGE);
c=8;
ganador=1;
}

if(tabla[1][0]==1&&tabla[1][1]==1&&tabla[1][2]==1){
JOptionPane.showMessageDialog(null, "El Jugador 1 ha GANADO","GANADOR",JOptionPane.WARNING_MESSAGE);
c=8;
ganador=1;
}

if(tabla[1][0]==2&&tabla[1][1]==2&&tabla[1][2]==2){
JOptionPane.showMessageDialog(null, "El Jugador 2 ha GANADO","GANADOR",JOptionPane.WARNING_MESSAGE);
c=8;
ganador=1;

}

if(tabla[2][0]==1&&tabla[2][1]==1&&tabla[2][2]==1){
JOptionPane.showMessageDialog(null, "El Jugador 1 ha GANADO","GANADOR",JOptionPane.WARNING_MESSAGE);
c=8;
ganador=1;
}

if(tabla[2][0]==2&&tabla[2][1]==2&&tabla[2][2]==2){
JOptionPane.showMessageDialog(null, "El Jugador 2 ha GANADO","GANADOR",JOptionPane.WARNING_MESSAGE);
c=8;
ganador=1;
}

if(tabla[0][0]==1&&tabla[1][0]==1&&tabla[2][0]==1){
JOptionPane.showMessageDialog(null, "El Jugador 1 ha GANADO","GANADOR",JOptionPane.WARNING_MESSAGE);
c=8;
ganador=1;
}

if(tabla[0][0]==2&&tabla[1][0]==2&&tabla[2][0]==2){
JOptionPane.showMessageDialog(null,"El Jugador 2 ha GANADO","GANADOR",JOptionPane.WARNING_MESSAGE);
c=8;
ganador=1;
}

if(tabla[0][1]==1&&tabla[1][1]==1&&tabla[2][1]==1){
JOptionPane.showMessageDialog(null,"El Jugador 1 ha GANADO","GANADOR",JOptionPane.WARNING_MESSAGE);
c=8;
ganador=1;
}

if(tabla[0][1]==2&&tabla[1][1]==2&&tabla[2][1]==2){
JOptionPane.showMessageDialog(null,"El Jugador 2 ha GANADO","GANADOR",JOptionPane.WARNING_MESSAGE);
c=8;
ganador=1;
}
if(tabla[0][2]==1&&tabla[1][2]==1&&tabla[2][2]==1){
JOptionPane.showMessageDialog(null,"El Jugador 1 ha GANADO","GANADOR",JOptionPane.WARNING_MESSAGE);
c=8;
ganador=1;
}
if(tabla[0][2]==2&&tabla[1][2]==2&&tabla[2][2]==2){
JOptionPane.showMessageDialog(null ,"El Jugador 2 ha GANADO" ,"GANADOR",JOptionPane.WARNING_MESSAGE);
c=8;
ganador=1;
}




    if(jugador==0)//esto controla que jugador sigue
        jugador=1;
        else
        jugador=0;

        c=c+1;//el limite de movimientos totales son de 9
    if( c == 9){
        if(ganador!=1){//asi que si son 9 y nadie gano te dira empate
        JOptionPane.showMessageDialog(null,"Los 2 Jugadores han empantado","Empate!!",JOptionPane.WARNING_MESSAGE);
        }
        juego=1;
        decicion1=JOptionPane.showInputDialog("Juegas de nuevo\n1.si  2.no");
       decicion=Integer.parseInt(decicion1);
       if(decicion==1){
           jugardenuevo=0;}
       else{
           jugardenuevo=1;

        break;}
    }
    }

    }while(jugardenuevo==0);//si no quiere jugar de nuevo sera 1 y saldra
}
}

y unas capturas de pantalla









1 comentario: