Ya tenemos las bases del diseño:
- Matrices para codificar los tableros.
- El tablero actual para llevar control de dónde está la partida.
- Un generador de jugadas (o tableros).
- El árbol de juego para decidir las jugadas del C64.
- Una función de evaluación.
- Un procedimiento minimax.
No implementaremos un registro de jugadas, aunque no sería complejo, porque no vamos a dar funcionalidades como rectificar jugadas ni grabar / cargar partidas. Y tampoco implementaremos un procedimiento de poda.
De todo lo anterior, las partes más complejas son:
- El generador de jugadas.
- La función de evaluación.
El generador de jugadas es tanto más complejo como complejo sea el juego. En el caso del ajedrez, que hay muchos tipos de piezas, muchos movimientos posibles, y muchas reglas, el generador de jugadas será necesariamente complejo. En el caso de las damas, que hay menos tipos de piezas, menos movimientos posibles, y menos reglas, el generador de jugadas será más sencillo. Y en el caso de Othello / Reversi, cuyo movimiento principal consiste en colocar una ficha sobre una casilla vacía y flanqueando al contrincante, el generador de jugadas será sencillo.
La función de evaluación también es compleja, pero no tanto porque sea difícil de programar, sino porque es difícil definir criterios que midan bien si los tableros son buenos o malos para los bandos. Los criterios materiales son más claros (tantos puntos por pieza de tal tipo); pero los criterios posicionales son difíciles de identificar y definir. Y son tanto más difíciles como complejo sea el juego.
En resumen, un juego como el ajedrez por supuesto es abordable, incluso con un C64, y con mucho éxito. A los hechos me remito (véase Colossus Chess). Pero su complejidad hace que esté fuera del alcance este blog. Un juego como las damas o el Othello / Reversi sí son abordables al nivel aficionado.
En todo caso, como el objetivo es ejemplificar todos estos conceptos, y además en ensamblador del C64 (ya de por sí complejo), vamos a optar por un juego de tablero sencillo: el ratón y los gatos.
En la siguiente entrada describiremos el juego.
No hay comentarios:
Publicar un comentario