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
Bien, +7 en segundas
ResponderEliminar