RYG: jugadas del ratón – solicitud al usuario #Programación retro del Commodore 64

El objetivo de generar los movimientos válidos del ratón no es ayudar al usuario. Se supone que el usuario sabe jugar.

El objetivo de generar los movimientos válidos del ratón es generar el árbol de juego. Para esto también necesitaremos generar los movimientos válidos de los gatos, pero esto ya lo haremos más adelante.

No obstante, "aprovechando que el Pisuerga pasa por Valladolid", como se suele decir, podemos ofrecerle al usuario las jugadas válidas del ratón, y que éste elija cuál le interesa más. La alternativa sería hacerle una pregunta abierta del tipo "¿a qué casilla quiere mover el ratón?" y, a posteriori, validar que el destino es válido. Ya que hemos llegado hasta aquí, casi mejor hacer lo primero.

Para ello, lo primero que vamos a hacer es mejorar el fichero "PintaTableros.asm" con una nueva rutina "pintaJugada", que simplemente pinta una jugada en el formato:

Número de jugada> (fila origen, columna origen) – (fila destino, columna destino)

Y lo siguiente que hacemos es mejorar el programa principal, fichero "RYG.asm", para hacer todo lo que veníamos haciendo hasta ahora (inicializar el tablero actual, pintar el tablero actual, pintar las jugada válidas del ratón – ya con la nueva rutina "pintaJugada" – ) y, además, solicitar al usuario qué jugada le interesa más.

Además, aprovechamos el viaje para estructurar un poco el programa principal porque, según vamos avanzando, se va complicando más y más:

Programa principal reestructurado

La principal novedad (reestructuración aparte) es la solicitud de la jugada al usuario, para lo que usamos la rutina "leeTeclado" de la librería "LibText.asm":

Solicitud jugada ratón

El número introducido por el usuario ("byteLeido") se contrasta contra el valor 4 y, si es mayor o igual que este valor, se vuelve a preguntar. Las jugadas válidas del ratón se numeran desde la 0 hasta la 3.

Igualmente, usando "byteLeido" como índice (registro X), se comprueba si la jugada elegida es válida o si vale ($ff, $ff). En este último caso, se vuelve a preguntar.

En conclusión, ya le presentamos al usuario sus jugadas válidas y le preguntamos cuál quiere:

Solicitud jugada ratón2

Lo siguiente es aplicar esa jugada, dando lugar a un nuevo tablero actual. Recordemos que no vamos a mantener un historial o registro de jugadas.


Código del proyecto: RYG04


Editar

Josepzin

No hay comentarios:

Publicar un comentario