He recuperado del baúl de los recuerdos el juego del cuatro en raya. Lo que a mi me gusta no es jugar, sino más bien hacer programas que jueguen. Eso me divierte más que jugar, pero lleva más tiempo. Así que me he plagiado a mi mismo y he retomado un algoritmo que escribí la friolera de 20 años atrás para implementarlo ahora para teléfono móvil, concretamente en Java para los Nokia 5800, N97, 5530, etc, es decir todos aquellos que tienen pantalla táctil de 640x360.
Os lo podéis descargar directamente aquí:
- Descarga del Cuatro en Raya (Un fichero .jar de 35 kb).
- Juego.java : La parte gráfica del juego. No incluye el motor de pensar, que está aislado en otra clase.
- Modelo.java : La parte pensante del juego. Esta es la parte autoplagiada del código que escribí hace 20 años. Ya sé que el 4 en raya no es reto como para hacer una tesis, pero tiene su gracia. Se trata de un método sistemático en los juegos de turnos. Cuando juega la máquina hace una simulación de "n" jugadas en profundidad, aplicando a cada estado final un heurístico que da un valor numérico de la posición. Se elige la jugada que nos lleve al camino del mejor valor heurístico calculado. Si no me equivoco, el 4 en raya es un juego de los que si el jugador no se equivoca puede siempre provocar tablas. El algoritmo no es tan bueno y se le puede ganar.
- Main.java (El programa principal, gestiona el ciclo de vida del Midlet y el Swt).
Historia
Cómo me gusta hacerme el abuelete. En 1990, aprovechando que estaba aprendiendo el lenguaje de programación "C", y estudiando la asignatura de Algoritmos. me dio por hacer este juego para Unix en modo carácter. Tengo el orgullo de decir que mis compañeros de trabajo jugaron mucho con él (En los descansos, claro está) y les daba mucha rabia perder. No había muchos juegos para Linux y menos ejecutables desde terminales tontos, que era lo que la mayoría de los programadores teníamos encima de la mesa.

La parte gráfica estaba hecha con la famosa librería Curses. Este programa , a día de hoy, aun está en nuestros equipos de desarrollo. Casualmente el otro día un compañero me preguntó por él y me fuí al servidor , escribí "4", pulsé Intro y de repente apareció, y se me vino el pasado al presente repentinamente y debo reconocer que me gustó la sensación. Ay, la vanidad.
Luego, como ya pensé que podía vivir del cuento, en vez de meterme con retos de mayor envergadura decidí portar el programa a Windows y ahora de repente a móviles. Es como los cantantes que sacan un disco de grandes éxitos remasterizado cada ciertos años.
Lo que más me gusta de todo esto es que después de ser yo mismo quien escriba el algoritmo me ponga a jugar contra él y me sorprenda su comportamiento. Sin ánimo de grandiosidades, es como si ahí estuviera la semilla de la inteligencia, cuando un robot se comporta de forma que parece no deducirse de los algoritmos que lo manejan. Si no es inteligencia artificial, hace la ilusión.





