Conecta Cuatro
Esta es una aplicación web para jugar al conocido juego deConecta Cuatro. Dos jugadores (A es rojo, B es amarillo) se turnan para llenar el tablero con monedas, tratando de conectar cuatro de las propias monedas, ya sea horizontal, vertical o diagonalmente.
Este proyecto fue desarrollado por Christian Kollmann como un proyecto en el curso «Software TechnologyProject», supervisado por Oswin Aichholzer, en la Universidad Tecnológica de Graz.
El servidor está escrito en Java 7, utilizando el framework de Spring. El cliente está escrito enHTML y JavaScript, utilizando jQuery. La compatibilidad fue probada en Chromium y MozillaFirefox corriendo en Linux y Android. No obstante la aplicación debería ser compatible con cualquier navegador comoMicrosoft Internet Explorer.
Características
- Los jugadores (A y B) pueden ser controlados por un humano o por el ordenador (IA)
- Elige el nivel de la IA: «Perfecto» siempre hará una jugada óptima (que puede no ser única), «Sólo ganar» elegirá aleatoriamente una jugada ganadora (si está disponible, y no necesariamente óptima), «Aleatorio» elegirá aleatoriamente una columna
- Información de la jugada: Opcionalmente muestra el número de medios movimientos hasta el final de la partida para las posibles jugadas
- Recomendar jugada: Muestra la(s) jugada(s) perfecta(s) para el jugador actual (puede ser más de una jugada)
- Deshacer/Rehacer: Revierte la(s) última(s) jugada(s) realizada(s) por cualquiera de los dos jugadores
- Guardar/Cargar: Guarda la partida (en el almacenamiento local, proporcionado por HTML5) para reanudar la partida más tarde
Básicos
La IA de este juego se basa en una evaluación exhaustiva de todas las posibles posiciones de juego de hasta 23 monedas,almacenadas en una gran base de datos. Los tableros con 24 o más monedas se evalúan directamente en el servidor. Para cada tablero posible se conoce su estado (victoria del jugador actual, victoria del jugador contrario, empate), así como el número mínimo de medios movimientos necesarios para forzar una victoria de este tablero. Un número par muestra en cuántos medios movimientos más se puede ganar la partida colocando la moneda en esa columna (suponiendo un juego óptimo del adversario, de lo contrario se puede ganar más rápido). Un número impar muestra el número máximo de medios movimientos que puede retrasar la victoria del adversario (de nuevo, suponiendo un juego óptimo del adversario). Una «D» indica una posición en la que el jugador actual puede forzar las tablas. Por lo tanto, un número par indica una jugada ganadora, que garantiza la victoria del jugador actual (si sigue jugando de forma óptima) como máximo en este número de medias jugadas. Una jugada ganadora óptima es una jugada que garantiza la secuencia más corta disponible de medios movimientos hasta que el jugador gane. En total, la exhaustiva base de datos subyacente no sólo confirma que Conecta Cuatro es una victoria para el primer jugador. Muestra para cualquier situación posible en el tablero la información completa para todas las jugadas posibles, proporcionando así una información perfecta para analizar toda la partida.