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.

¡Lucha contra el Imperio compartiéndolo en tus redes!

Ayudame a difundir este contenido a todo aquel que pueda sacarle partido, difundelo en redes, cuéntaselo a tus amigos, coméntalo en la cola del supermercado, además de aportar, ¡seguro que conoces a gente interesante y acabas uniéndose al bando rebelde!

Dibujo de un sable laser para ciegos con la estrella de la muerte de fondo