miércoles, 29 de junio de 2016

Ejemplo de juego en BASIC 3 en Raya.

Uno de los juegos más manidos, en los ratos muertos en el cole, el 3 en raya.

Implementar este juego en BASIC para el ZX Spectrum, nos da la posibilidad de practicar una de las cosas más importantes que hay en la programación, que es la inteligencia artificial (IA o en inglés AI).

Hay muchos algoritmos aplicables a este juego, que se pueden desarrollar en BASIC con más o menos esfuerzo, e incluso hacer que el juego sea "invencible".

La verdad que un juego en el que no podamos ganar, no tiene gracia y además, la IA debería parecerse a nosotros, los humanos, cometiendo errores y tomando decisiones inadecuadas.

Las premisas básicas para implementar la inteligencia del Spectrum a la hora de jugar contra nosotros han sido:

1) Se decide quien juega primero, humano o ordenador de forma aleatoria.

2) Si sale el Spectrum, posiciona su jugada de forma aleatoria.

3) Se comprueba siempre que nadie a ganado, o si  hay un empate.

4) Se comprueba si el jugador humano tiene una jugada para ganar, y se tapa por parte del Spectrum.

5) Si no hay una jugada por parte del jugador humano en la que pueda ganar, el Spectrum hace su siguiente jugada de forma aleatoria, en las casillas que hay libres.

Parece demasiado simple, ¿ verdad ?. Pues bueno, si que es sencillo de programar en el Spectrum  y además, el juego es divertido.

Habrá veces que nos gane otras que empatemos o que gane el Speccy. La aleatoriedad de la un valor añadido al juego, lo hace divertido, pero a la vez (como sabe comprobar si vamos a ganar y nos trata de parar) es lo suficientemente listo como para que el juego tenga dificultad.

El código fuente lo podéis bajar de este enlace.

Como siempre, lo he pasado a código máquina, usando el compilador a MC de HiSoft. La ganancia en velocidad de ejecución es asombrosa.

La versión en MC la podéis bajar de este enlace.

Por último, un vídeo de demostración del juego.






martes, 28 de junio de 2016

Colección de Juegos MSX en Flac.

Muy buenas.

Konamito  en el MSXBLOG a publicando una colección de juegos de MSX en formato CD de audio, muy cuidada e indispensable.

Para aquellos que como yo, cargan los juegos en su MSX usando el IPod, su portátil o un dispositivo de audio, he convertido la colección de CDs de Audio con juegos de MSX a formato Flac y lo he ordenado.

Son 14 CDs pasados a pistas en formato Flac.

En cada carpeta encontraréis las portadas de los CDs originales, y las pistas de los mismos por separado.

Que lo disfrutéis mucho. Lo podéis descargar de este enlace.


Nos pasamos a los 16BIT (un momento). Un regalo para el verano. SEGA.

Aprovechando que llega el verano, he puesto orden en un par de colecciones de ROMs Para SEGA Master System y Mega Drive / Genesis de muy alta calidad.

Son un compendio de ROMS "GoodGen 3.21" y "NoIntro".

Estas ROMS son las que se recomienda usar para jugar en nuestra consola SEGA original con el cartucho EverDrive. Por supuesto, que también sirven para nuestro emulador favorito.

En este enlace podéis ver la lista de ROMs contenidas.

En este otro enlace podéis descargar el archivo que contiene todas las ROMs.

Abajo, la lista de las ROMs que contiene la distribución.



Nos pasamos a los 16BIT (un momento). Un regalo para el verano. SEGA.

Aprovechando que llega el verano, he puesto orden en un par de colecciones de ROMs Para SEGA Master System y Mega Drive / Genesis de muy alta calidad.

Son un compendio de ROMS "GoodGen 3.21" y "NoIntro".

Estas ROMS son las que se recomienda usar para jugar en nuestra consola SEGA original con el cartucho EverDrive. Por supuesto, que también sirven para nuestro emulador favorito.

En este enlace podéis ver la lista de ROMs contenidas.

En este otro enlace podéis descargar el archivo que contiene todas las ROMs.

Abajo, la lista de las ROMs que contiene la distribución.