Programar En C++
Proyecto: GATO
Descripción de clases:
Archivo.java
Lee y escribe un fichero .txt llamado estadísticas. Sus funciones que tiene son:
* EscribirContenido();
* EscribirLinea();
* LeerContenido();
* LeerLineas();
* NumeroLineas();
* Existe();
ComputadoraIA.java
Clase principal de decisión donde esta la función Minmax que consiste en minimizar lacantidad o posibilidad que la computadora pierda el juego, de esa manera simula un agente inteligente. Sus funciones son las siguientes:
* Max();
* Min();
* Imprime();
* MovComputadora();
* MovDisponibles();
* Movimiento();
* posVacias();
* puedoGanar();
* puedoPerder();
* terminado();
Configurar.java
Te permite elegir el modelo de ficha previamente, lasimágenes de la ficha deben estar en el fichero gato.images.
Estadisticas.java
Guarda y muestra las estadísticas de juego, la cantidad de juegos empatados y perdidos. Las funciones que tiene son:
* guardarArchivo();
* guardarJugador();
* imprimeTabla();
* leerDatos();
* leerEstadisticas();
* refrescar();
Gato.java
Clase principal que imprime la interfaz del juego,en el cual están las funciones de capturar el click que se dan en el casillero mediante eventos, verifica si el juego a terminado, cambia los turnos y muestra todos los paneles; inicia todos los componentes de java.swing para trabajar en modo gráfico. Sus funciones son:
* cambiarFoco();
* estaOcupada();
* iniciarComponentes();
* iniciarJuego();
* lleno();
* mensajes();* mostrarEstadisticas();
* mostrarInformacion();
* movimiento();
* ponerFicha();
* ponerFichaCPU();
* recojerModelo();
* reiniciarJuego();
* run();
* suspenderJuego();
* terminado();
Jugador.java
Pide y anota los datos del jugador, cuenta los juegos empatados, perdidos y ganados. Las funciones que tiene son:
* empate();
* gano();
*miFicha();
* obtenFicha();
* perdio();
Modelo.java
Esta clase te da posibilidad de elegir el estilo de juego, si es persona vs persona o persona vs computadora, además pide el nombre de jugador o jugadores.
Sonidos.java
Reproduce un sonido de acuerdo a cada suceso, también tiene la posibilidad de enmudecer el sonido. Sus funciones son:
* sonidoFicha();
* sonidoGano();
*sonidoPerdio();
CODIGO FUENTE DE LA CLASE PRINCIPAL
ComputadoraIA.java:
package gato;
import java.lang.Runnable;
import java.util.Arrays;
public class ComputadoraIA{
public static int tiradas = 0;
/*Árboles para los movimientos del Gato.*/
class NodoG{
/*Mejor movimiento.*/
int mejorMovimiento;
/*Nodos hijos.*/NodoG nodos[];
/*Tablero del juego.*/
public int tablero[];
/*Turno de la computadora.*/
boolean miTurno = false;
/*Indice de la pocision.*/
int indice;
/*Ganador.*/
int ganador = 0;
/*Constructor.*/
NodoG(){
/*Inicializamos las variables.*/
tablero = newint[9];
}
}
/*Raíz del árbol*/
NodoG arbol = new NodoG();
/*Atributos.*/
int[] tablero;
/*Mi ficha.*/
public final int miFICHA = 2;
/*Método que nos devuelve los espacios disponibles.*/
public int movDisponibles( int[] tablero ){
int mov = 0;
for ( int i = 0; i < 9; i ++ )if ( tablero[i] == 0 )
mov++;
return mov;
}
/*Método que nos devuelve los indices del tablero de las pocisiones vacías.*/
public int[] posVacias( int[] tablero ){
/*Creamos el vector con los índices.*/
int[] indices = new int[movDisponibles(tablero)];
int indice = 0;
/*Recorremos y...
Regístrate para leer el documento completo.