0% encontró este documento útil (0 votos)
391 vistas7 páginas

Juego Del Gato

Este documento describe un programa de Java que implementa el juego del gato (también conocido como tres en raya). El programa define una clase JuegoGato que contiene métodos para inicializar el tablero, indicar el turno de cada jugador, verificar si una posición está disponible, determinar al ganador, e imprimir el estado actual del tablero. El método principal jugarGato contiene la lógica del juego, alternando los turnos hasta que haya un ganador o empate.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
391 vistas7 páginas

Juego Del Gato

Este documento describe un programa de Java que implementa el juego del gato (también conocido como tres en raya). El programa define una clase JuegoGato que contiene métodos para inicializar el tablero, indicar el turno de cada jugador, verificar si una posición está disponible, determinar al ganador, e imprimir el estado actual del tablero. El método principal jugarGato contiene la lógica del juego, alternando los turnos hasta que haya un ganador o empate.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

INTELIGENCIA ARTIFICIAL

CAPACINI RAMIREZ CRISTIAN

Juego del gato.

import [Link].*;
public class JuegoGato{
//Variables.
public char [] [] tablero;
public char jugadorUno;
public char jugadorDos;
public boolean turno;
int contador;
//Constructor(Inicializa Variables).
public JuegoGato(){
tablero
= new char[3][3];
jugadorUno
= 'X';
jugadorDos
= 'O';
turno
= true; //Si El Valor De "turno" Es Igual A "true"
El Turno Es Del Jugador 1, De Lo Contrario Es Jugador 2.
int contador = 0;
//Lleva Cuenta De Las Veces Que Han
Participado Los Jugadores 1 y 2.
inicializarTablero();
}
//Inicia El Arreglo, Especifica El Numero Que Le Corresponde A Cada
Casilla.
public void inicializarTablero(){
int posicion = 1;
for(int i=0;i<3;i++){
for(int j=0; j<3;j++){
tablero[i][j] =
[Link](posicion).charAt(0);
posicion++;
}
}
}
//Imprime El Formato Del Tablero.
public void imprimirTablero(){
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
if(j<2)
[Link](" " + tablero[i][j] + "

|");
else

[Link](" " + tablero[i][j] + "


");
}
if(i<2)
[Link]("\n-----------");
}
[Link]();
[Link]();
[Link]();
}
//Indica La Posicion Donde Se Ingresara El Dato Dentro Del Arreglo Por
Medio De Parametros.
public void indicarPosicionArreglo (int a, int b, char c) {tablero
[a][b]=c;}
//Manipula el valor De La Variable "turno".
public void setTurno
(boolean d)
{turno
=d;}
//Manipula el valor De La Variable "contador".
public void setContador
(int e)
{contador
=e;}
//Regresa Valor De La Posicion Del Arreglo Indicada Por Medio De
Parametros.
public char getPosicionArreglo (int a, int b) {return tablero[a]
[b];}
//Regresa Valor De La Variable "jugadorUno".
public char getJugadorUno
() {return jugadorUno

;}

//Regresa Valor De La Variable "jugadorDos".


public char getJugadorDos
() {return jugadorDos

;}

//Regresa Valor De La Variable "turno".


public boolean getTurno
() {return turno
//Regresa Valor De La Variable "contador".
public int getContador
() {return contador

;}
;}

//Imprime e Indica El El Turno Del Jugador Que Le Toca Elejir Una


Casilla Con Ayuda del Metodo "getTurno()".
public void indicarTurno(){
if(getTurno()==true)
[Link]("JUGADOR 1: Elija Una Casilla
Ingresando El Numero Correspondiente.");
else

[Link]("JUGADOR 2: Elija Una Casilla


Ingresando El Numero Correspondiente.");
}
//Regresa El Caracter De Tipo Char Para Posteriormente Ingresarlo A
Alguna Posicion Del Arreglo, Usandolo En Otro Metodo.
public char obtenerFigura(){
if(getTurno()==true)
return jugadorUno;
else
return jugadorDos;

//Cambia El Valor De La Variable "turno" Para Llevar El Orden Correcto


De Los Turnos Entre Los 2 Jugadores.
public void cambiarTurno(){
if(obtenerFigura()=='X') //Si el Metodo regresa un valor char
igual a "X" cambia el valor de "turno" a "false".
setTurno(false);
else
setTurno(true);
}
//Verifica Si La Posicion Del Arreglo Al Que El Jugador Desea Ingresar
El Caracter No Fue Utilizada Antes.
public void comprobarEspacio(char espacio, int posicionUno, int
posicionDos){
//Si Se Cumple La Condicion Se Ingresa El Valor En La Posicion Del
Arreglo Especificada.
if(espacio!=getJugadorUno()&&espacio!=getJugadorDos()){
indicarPosicionArreglo(posicionUno,
posicionDos,obtenerFigura());//Ingresa EL Caracter Si Se Cumple La
Condicion.
cambiarTurno();
//Cambia El Turno Si Se Cumple La Condicion.
contador++;
//Solo Incremente Cuando Se Cumple La Anterior Condicion.
}
else
//Imprime El Siguiente Mensaje En Caso De Que No Se Cumpla La
Anterior Condicion.
[Link]("La Casilla Esta Ocupada, Elija Otra Por
Favor");

}
//Metodo Que Hace Uso De Un "switch" Para Indicar La Posicion Del
Arreglo Que El Jugador Elijio En El Juego.
public void elegirPosicion(int posicion){
switch(posicion){
//Comprueba Si La Posicion Esta Disponible Valiendose
Del Metodo "comprobarEspacio()"
case
1:comprobarEspacio(getPosicionArreglo(0,0),0,0);break;
case
2:comprobarEspacio(getPosicionArreglo(0,1),0,1);break;
case
3:comprobarEspacio(getPosicionArreglo(0,2),0,2);break;
case
4:comprobarEspacio(getPosicionArreglo(1,0),1,0);break;
case
5:comprobarEspacio(getPosicionArreglo(1,1),1,1);break;
case
6:comprobarEspacio(getPosicionArreglo(1,2),1,2);break;
case
7:comprobarEspacio(getPosicionArreglo(2,0),2,0);break;
case
8:comprobarEspacio(getPosicionArreglo(2,1),2,1);break;
case
9:comprobarEspacio(getPosicionArreglo(2,2),2,2);break;
default:
//Imprime El Siguiente Mensaje En Caso De Que
El "switch" No Reciba Un Digito Del 1 al 9.
[Link]("Por Favor, Ingrese
Solo Un Digito Del 1 al 9.");break;
}
}
//Solo Imprime Un Mensaje Distinto Dependiendo Del Jugador Que Haya
Resultado Ganador.
public void decirGanador(char a){

if(a=='X')
[Link]("FIN DEL JUEGO: FELICIDADES JUGADOR
1!, HA GANADO!.");

else if(a=='O')
[Link]("FIN DEL JUEGO: FELICIDADES
JUGADOR 2!, HA GANADO!.");

//Verifica Las Unicas 8 Combinaciones Que Pueden Dar La Victoria A Uno


De Los Jugadores.
public void buscarGanador(){
//Ciclo Con Instrucciones Para Comprobar Las 3 Posibilidades De
Ganar De Forma Horizontal.
for(int i=0;i<3;i++){
for(int j=1;j<2;j++){
[j]==tablero[i][j+1]){

if(tablero[i][j]==tablero[i][j-1]&&tablero[i]

}
}

decirGanador(tablero[i][j]);
imprimirTablero();
setContador(10);

//Ciclo Con Instrucciones Para Comprobar Las 3 Posibilidades De


Ganar De Forma Vertical.
for(int i=0;i<3;i++){
for(int j=1;j<2;j++){
[i]==tablero[j+1][i]){

if(tablero[j][i]==tablero[j-1][i]&&tablero[j]

}
}

decirGanador(tablero[j][i]);
imprimirTablero();
setContador(10);

//Instrucciones Para Comprobar La Unica Posibilidad De Ganar De


Forma Diagonal.
if(tablero[1][1]==tablero[0][0]&&tablero[1][1]==tablero[2][2]){
decirGanador(tablero[1][1]);
imprimirTablero();
setContador(10);
}
//Ciclo Con Instrucciones Para Comprobar La Unica Posibilidade De
Ganar De Forma Diagonal Inversa.
if(tablero[1][1]==tablero[0][2]&&tablero[1][1]==tablero[2][0]){

}
}

decirGanador(tablero[1][1]);
imprimirTablero();
setContador(10);

//Metodo Que Contiene El Flujo Y El Orden Del Juego.


public void jugarGato(){
BufferedReader entrada = new BufferedReader(new
InputStreamReader([Link]));
[Link]("BIENVENIDO A GATO Ver. 1.0");
do{
indicarTurno();
imprimirTablero();
try{elegirPosicion([Link]([Link]()));}
catch(IOException e){}
catch(NumberFormatException e){
if(getTurno()==true)
[Link]("ERROR!: Ingreso Un
Caracter No Valido, Por Favor, Intente Nuevamente JUGADOR 1.");
else
[Link]("ERROR!: Ingreso Un
Caracter No Valido, Por Favor, Intente Nuevamente JUGADOR 2.");
}
buscarGanador();
}while(getContador()<9);
if(getContador()==9){

}
}

[Link]("GATO!JUEGO EMPATADO!");
imprimirTablero();
[Link]("THANKS FOR PLAYING!");

[Link]("THANKS FOR PLAYING!");

public static void main(String [] args){


JuegoGato Objeto = new JuegoGato();
[Link]();
}
}

También podría gustarte