Menu Principal de la futura version de JBA para ZX Spectrum

Tutorial de AGD 21: Menu de Presentación

Hoy comentaremos en lenguaje sencillo la pantalla de presentación.

Como ya vimos en el capítulo dedicado al ciclo de vida, el cometido del menú de presentación es sencillamente introducirnos al juego y ofrecernos las opciones de control, una vez seleccionado el control comenzará la partida.

Pero ¿Qué se hace exactamente a efectos de código?

Bien , lo primero, sirva decir que la acción se desarrolla en el evento “Intro / Menú”, aunque puedes inventar tu propio método, yo hago lo siguiente:

  1. Ejecuto SILENCE para parar todos los sonidos del juego.
  2. A lo largo del proceso de menú ejecutar sonidos aquí y allá para dar variedad y robustez a algo por otra parte relativamente anodino como un menú.
  3. Ejecuto una secuencia CLS, luego asigno la variable SCREEN a una en que he preparado un bonito fondo para el menú, para a continuación ejecutar CLS y REDRAW para completar un efecto básico de recarga (aunque bastante efectivo visualmente).
  4. Usando LINE, COLUMN, COLOUR y MESSAGE dibujo el nombre del juego, otros mensajes como el copyright y las diferentes opciones del menú, a saber: 1. KEYBOARD, 2. KEMPTSTON, 3. SINCLAIR que son las que reconoce la instrucción del menú de control de AGD y una cuarta en la que suelo hacer algun chiste o mandar algún mensaje.
  5. Finalmente ejecuto CONTROLMENU que espera a la pulsación de una tecla y asigna el control según lo indicado por el usuario para finalmente redirigir el flujo de ejecución para que comience el juego.

Como veis algo relativamente sencillo de planificar.

Precaución

Este es un código relativamente simple, pero que llega a ser muy farrogoso, ahorra memoria donde puedas y sobre todo mantenlo muy limpio para evitar complicarlo mas alla de lo necesario.

¡MUY IMPORTANTE! En diversas ocasiones he tratado de usar bucles REPEAT dentro del evento Intro/Menú y en todas ellas el resultado ha sido desastroso, no se porque , pero cuando introduzco esta instrucción, el caracter space empieza a pintarse como uno de los bloques de los mapas. He optado por no usar REPEAT en este código, aún a costa de perder algunos bytes.

En el próximo capítulo os comentaré el tema de los TEXTOS de los que se alimenta la instrucción MESSAGE. Consejo: no olvidéis hacer backup a cada paso si decidís explorar TEXTOS por vuestra cuenta, es una opción muy inestable.

Si te planteas donar en estos tiempos, usa ese dinero para ayudar a tu alrededor.

No voy a negar que este proyecto en realidad me cuesta dinero, y dada mi capacidad adquisitiva, el porcentaje no es pequeño.

PERO, en esta crisis te pido que si piensas en donarme algo, lo evalúes y uses el dinero para ayudar a alguien de tu entorno inmediato.

Seguro que hay alguien que necesita algunos alimentos, científicos que neceistan fondos para investigar el COVID-19

En estos tiempos te pido que les des prioridad.

Si aún así tu posición te permite hacer ambas cosas, te agradezco de antemano tu aportación. ¡Ánimo que de esta salimos juntos!

Representacion en 8x8 Pixels del concepto "Coronavirus" usando una corona amarilla y un 19 rojo debajo

¿Te gusta lo que hago?

En ese caso, puedes ayudarme con los costes de servidor, de dominios, y apoyame para que pueda seguir trabajando en esta dirección.

Recuerda ¡esta donación es completamente voluntaria!

Puedes donar la cantidad que quieras a través de mi página en Paypal.me, si te resulta más cómodo.

Ayudame a entender mejor qué creaciones pueden ser de mayor valor para vosotros, indicandolo en el comentario de paypal.

Gracias de todo corazón.

¿Quieres saber cual es mi plan con los miles de millones de los pozos de petroleo?