Instituto Tecnológico de Saltillo Inteligencia Artificial Unidad $ Enero – Junio 2011 1
Instituto Tecnológico de Saltillo Conecta 4 Algoritmos de Resolución de Juegos César Augusto Tijerina Pérez 2
Conecta 4 3
Juego Juego clásico de Conecta4. Tamaño del tablero: 7 *6 Jugadores: 1 vs computadora Para ganar la partida el jugador debe de conectar 4 letras en una hilera vertical u horizontal. Las líneas diagonales no cuentan.
Programa A continuación citamos las partes relevantes del código usado en el juego: Como usamos A*, calculamos los movimientos posibles en Profundidad. La variable profundidad se usa para indicar el nivel de Profundidad hasta el que calcularemos los posibles movimientos: 7
/** Programa que Inicia un juego de Conecta4 * @SuppressWarnings("deprecation") * @author Augusto Tijerina * @author IngenierÃa en Sistemas * @version 0.01 */ class Conecta4Main { public final static int VACIO = 0; public final static int COMPUTADORA = 1; public final static int JUGADOR = -1; public final static int BORDER = 99; public final static int JUEGO_EN_CURSO = 0; public final static int GANADO = 1; public final static int TABLERO_LLENO = -1; public final static int EMPATADO = 0; public final static int JUGADOR_GANA = 1; public final static int JUGADOR_PIERDE = -1;
// Aqui calculamos la jugada private int _MejorJugada(int player, int movimiento[], int profundidad) { int NO_HAY_MAS_BUSQUEDAS = 10; // El fin int res = JUGADOR_PIERDE; int rivals_movimiento[] = new int[1]; int i; int campo_actual, columna_actual; int value[] = new int[1]; int valor_maximo = -1; for (movimiento[0] = -1, profundidad--, i = 3, value[0] = 0; i < NO_HAY_MAS_BUSQUEDAS; i++, cnt++) { if (_EstaVacio(i)) { if (movimiento[0] == -1) { movimiento[0] = i; }
Bibliografía: Primer Programa Conecta4 Applet TestFiguras clase de Graficación Netbeans Applet Viewer Plugin
Gracias por su tiempo. 11