Big-man

"Pac-man encuentra en Kokoro su corazón, mente y alma. La fuerza para vencer a sus fantasmas. Así engrandece su espíritu y su cuerpo para la lucha".
Dosier fantasma.

Figura de Big-man. Cuatro Sprites solapados suman un cuadrado mayor.

Método.

Para afrontar el reto de conectar las pantallas y pintar a Big-man necesitas orden para no perderte, necesitas visualizar el trabajo, hacer pruebas y más pruebas, encontrar el momento y el lugar adecuados para colocar el código, encontrar tu método. Un buen comienzo será cumplir estas reglas básicas que se nos han dictado desde la experiencia.

EVENT RESTARTSCREEN lo usaremos para establecer las variables iniciales de cada pantalla.

EVENT SPRITETYPE y EVENT PLAYER serán los momentos en los que intervienen los actores. Estos serán los encargados de cambiar de pantalla, los únicos encargados de borrarse a sí mismos (REMOVE) y los únicos capaces de cambiar sus propiedades (posición, imagen, dirección, tipo) para la nueva escena. los comandos SPAWN y SPAWNED serán la forma de acceder a esas propiedades fuera de sus EVENT SPRITETYPE.

EVENT MAINLOOP2 se encargará de pintar los gráficos y reproducir el sonido en el justo momento "enmarcado" para hacerlo. Tomaremos aquí las decisiones cuando no tengamos actores en escena que puedan hacerlo.  

Este esquema muestra gráficamente cómo y cuándo pasamos de una pantalla a otra. Una guía para no perdernos cuando tengamos que cambiar código aquí y allá.

Cada camino incluye una condición y un actor. Empezamos en la Pantalla START.

Si dejamos pasar 10 segundos (S>10) nos muestra a Pac-man jugando en el laberinto, otros 10 segundos (S>10) y nos muestra HIGH SCORE, 10 segundos más (S>10) y vuelve a START. Este es el camino modo "Insert Coin" (línea discontinua).

Si pulsamos "FIRE1" en la pantalla START, pasamos a jugar el LABERINTO (modo "Gaming"). Podemos terminar el laberinto o morir en el intento. Para el primer caso N=193, para el segundo caso LIVES=0.

Introducimos en el diagrama la variable "C" que cada 3 laberintos completados salta a la pantalla INTERMISSION y sube el nivel de dificultad.

Terminando el laberinto o perdiendo todas las vidas, presentamos la pantalla BONUS. Desde aquí y según el caso completamos el ciclo: Si C>3 vamos a INTERMISSION, si LIVES>0 vamos a LABERINTO y si LIVES=0 salimos a HIGH SCORE.

Introduciremos una nueva variable "F" para gestionar los modos "Insert Coin" (F=2), "Gaming" (F=0) y "enmarcado" (F=1,F=3).

El guion.

Es el turno del editor de texto. Hay que cambiar muchas cosas en eventos distintos para poder recorrer las pantallas que hemos diseñado.

INTRO MENU

Lo primero que haremos es condicionar el menú inicial para que aparezca solo la primera vez que entramos en el juego. Modificamos también las opciones que escribió de forma automática el Script Generator.
Abre el editor MPAGD, selecciona "Intro menu" del menú "Events", debe quedar así:

EVENT INTROMENU

; PANTALLA
BORDER 0
PAPER 0
INK 7
CLS

IF F = 0    ; el juego se ejecuta por primera vez
    AT 8 10
    PRINT "1. KEYBOARD"
    AT 10 10
    PRINT "2. KEMPSTON"
    AT 12 10
    PRINT "3. SINCLAIR"
    LET CONTROL = 99
    WHILE CONTROL = 99 ; mientras no cambie no salir del bucle.
IF KEY OPTION1
    LET CONTROL = 0
ENDIF
IF KEY OPTION2
            LET CONTROL = 1
ENDIF
IF KEY OPTION3
    LET CONTROL = 2
ENDIF
    ENDWHILE
    CLS
ENDIF

Guarda el script, cierra el editor de texto y guarda el proyecto.

La variable F la cambiaremos más adelante para que condicione el menú de inicio. ¡Script finalizado!  Aprovechamos la oportunidad para definir BORDER 0, PAPER 0 e INK 7 (como en los viejos tiempos).

Capítulo Uno

Todo comienza en la pantalla START, Pac-man entra en modo "Insert coin", todo se mueve por iniciativa propia, Pac-man entra en escena, empieza a tomar las primeras decisiones.

RESTARTSCREEN

Cada vez que cambiamos de pantalla se dispara el evento RESTARTSCREEN. Aquí comprobamos de qué pantalla se trata y establecemos sus condiciones iniciales.

Selecciona "Restart screen" del menú "Events". Deberás editarlo así:

EVENT RESTARTSCREEN

LET A = 1 ; Reinicia el orden de EVENT INITSPRITE de fantasmas.

IF SCREEN = 1     ; si entramos en la pantalla START
    LET F = 1            ; pasa a modo "enmarcado"
    LET S = 0            ; y restaura el cronómetro.
ENDIF

Guarda el script, cierra el editor de texto y guarda el proyecto.

Para la pantalla "Start" levantamos la bandera "enmarcado" para que más adelante, en al evento MAINLOOP2, se pinten objetos en pantalla o se ejecuten sonidos. Ponemos el cronómetro a 0.

Los recursos gráficos, control y sonido estarán mejor sincronizados en MAINLLOP2 ya que se ejecuta continuamente al final en el "gameloop".

MAINLOOP2

Selecciona "Main loop 2" del menú "Events". Deberás editarlo así:

EVENT MAINLOOP2

IF SCREEN = 1        ; si estamos en la pantalla START
    IF F = 1            ; y en modo "enmarcado"
INK 2                ; pinta estos mensajes
PAPER 0
AT 3 9 MESSAGE 1
INK 3
PAPER 0
AT 6 9 MESSAGE 2
INK 5
PAPER 0
AT 9 9 MESSAGE 3
INK 6
PAPER 0
AT 12 9 MESSAGE 4
INK 7
PAPER 0
AT 14 4 MESSAGE 5
PUT 8 136 0           ; pinta a Kokoro
LET F = 2             ; y pasa a modo "Insert coin".
    ENDIF
ENDIF

Guarda el script, cierra el editor de texto y guarda el proyecto.

Como dictamos, en el main loop 2, y sólo para F=1 (modo "enmarcado"), pintamos los mensajes en la pantalla. Hacerlo en el main loop 2 nos asegura que el resto de elementos, Sprites, objetos y fondos hayan sido ejecutados por el "gameloop".
Pasamos finalmente a modo "Insert coin" (F=2). Con lo que el trabajo queda "enmarcado" para que se ejecute sólo una vez.

DEFINEMESSAGES

Selecciona la opción "Text messages" del menú "Editor". Disponemos de una lista de mensajes a la que podemos acceder con un índice. Edita la lista así:

DEFINEMESSAGES

"GAME OVER"
"-Sombra    Blinki"
"-Veloz     Pinky"
"-Timido    Inky"
"-Lento     Clyde"
"PULSA ESPACIO PARA JUGAR"
"PREPARATE!"
        "NIVEL"

Guarda el script, cierra el editor de texto y guarda el proyecto.

PLAYER

Entró en escena, es el protagonista, por eso es uno de los script más complejos. Estudiaremos las secciones correspondientes a cada capítulo una por una para construir todo el script.

En este capítulo estudiamos el siguiente guion para la "sección de comprobaciones". Selecciona "Player" del menú "Events". Añade estas líneas en la sección:

; comprobaciones

IF SCREEN = 1            ; si estamos en la pantalla START
    IF KEY FIRE1     ; si pulsamos FIRE1 entonces
LET F = 0     ; pasa a modo "Jugando"
LET X = 112     ; define posición y nuevas propiedades
LET Y = 96
LET FRAME = 0
LET DIRECTION = RIGHT
LET IMAGE = 0
LET SCREEN = 0      ; nuevo decorado = "laberinto"
EXIT                ; salir del script
    ENDIF
    IF S > 10             ; si agotamos 10 segundos entonces
        LET F = 2            ; pasamos a modo "Insert coin"
        LET X = 112      ; nueva posición GET READY
        LET Y = 96
        LET FRAME = 0        ; nuevas propiedades
        LET DIRECTION = RIGHT
        LET SCREEN = 0       ; nuevo decorado = "laberinto"
        LET IMAGE = 0
        EXIT                 ; salir del script
    ENDIF
ENDIF

Guarda el script, cierra el editor de texto y guarda el proyecto.

El programa comprueba si estamos en la pantalla START. El Sprite es capaz de leer el teclado, una razón más para colocar el código aquí. Si pulsamos la tecla FIRE1 pasa a modo "Jugando" y coloca a Pac-man en la posición de salida mirando a hacia la derecha.
Si pasa más de 10 segundos en escena Pac-man entra en el laberinto, esta vez en modo "Insert coin".

Un detalle a tener en cuenta. Si te fijas el script no para hasta que le ordenamos salir con el comando EXIT, aunque cambies el decorado de fondo podemos seguir cambiando propiedades del Sprite sin salir del script. Cuando juegas parece que cambia todo pero solo cambia el decorado.

Estudiamos el guion para distinguir la "sección Control" y la "sección de movimiento". Las dos quedan antes de la "sección de comprobaciones". Modifica el código para quedar así:

; Control

IF SCREEN = 0    ; si estamos en el Laberinto
    IF F = 0        ; y estamos en modo "Jugando" entonces controlamos a Pac-man
        IF KEY UP IF CANGOUP DIRECTION = UP ENDIF ENDIF
IF KEY DOWN IF CANGODOWN DIRECTION = DOWN ENDIF ENDIF
IF KEY LEFT IF CANGOLEFT DIRECTION = LEFT ENDIF ENDIF
IF KEY RIGHT IF CANGORIGHT DIRECTION = RIGHT ENDIF ENDIF
    ELSE            ; en modos "Insert Coin" y "enmarcado" no controlamos a Pac-man
IF S > 10         ; si agotamos 10 segundos en estos modos entonces
    ENDGAME            ; salir a HIGH SCORE
ENDIF
    ENDIF
ENDIF

; movimiento

IF DIRECTION = UP
    IF CANGOUP
        SPRITEUP
        LET IMAGE = 2
ANIMATE
    ENDIF
ENDIF

IF DIRECTION = DOWN
    IF CANGODOWN
        SPRITEDOWN
LET IMAGE = 3
ANIMATE
    ENDIF
ENDIF

IF DIRECTION = LEFT
    IF X <= LEFTEDGE
        LET X = RIGHTEDGE
        EXIT
    ELSE
        IF CANGOLEFT
    SPRITELEFT
    LET IMAGE = 1
            ANIMATE
        ENDIF
    ENDIF
ENDIF

IF DIRECTION = RIGHT
    IF X >= RIGHTEDGE
        LET X = LEFTEDGE
        EXIT
    ELSE
        IF CANGORIGHT
    SPRITERIGHT
            LET IMAGE = 0
            ANIMATE
        ENDIF
    ENDIF
ENDIF

Guarda el script, cierra el editor de texto y guarda el proyecto.

El programa debe distinguir ahora entre modos "Insert Coin" y "Jugando" en la sección de control .
En el primer modo somos espectadores y vemos a Pac-man recorrer las pantallas, transcurridos 10 segundos nos transportamos a "High score". En el modo "Jugando" tenemos el control de "la palanca de juegos".

Cada vez que incorporamos nuevas frases al guion se crean nuevas relaciones causa efecto. La escaleta nos dicta que incorporemos nuevas acciones en la "sección movimiento".

Modifica el código correspondiente a la dirección UP y DOWN y añade un generador de números pseudoaleatorios al principio de la sección para quedar así:

; movimiento

GETRANDOM 4
LET A = RND        ; guardar en "A" dirección pseudoaleatoria

IF DIRECTION = UP
    IF CANGOUP              ; si no hay obstáculo a su paso
        SPRITEUP                ; Pac-man se mueve
LET IMAGE = 2           ; mira en esa dirección
ANIMATE                 ; mueve la boca
    ELSE                    ; en caso de encontrar obstáculo
IF F = 2                ; y estar en modo "Insert Coin"
    LET DIRECTION = A        ; establecer dirección "A"
ENDIF
    ENDIF
ENDIF

IF DIRECTION = DOWN
    IF CANGODOWN            ; si no hay obstáculo a su paso
SPRITEDOWN              ; Pac-man se mueve
LET IMAGE = 3           ; mira en esa dirección
ANIMATE                 ; mueve la boca
    ELSE                    ; en caso de encontrar obstáculo
IF F = 2                ; y estar en modo "Insert Coin"
            LET DIRECTION = A        ; establecer dirección "A"
ENDIF
    ENDIF
ENDIF

Guarda el script, cierra el editor de texto y guarda el proyecto.

El programa deberá establecer una dirección pseudoaleatoria en el modo "Insert coin" y producir la ilusión de que Pac-man decide hacia donde va. Esta decisión está guardada temporalmente en la variable "A".

Big-man.

Incorporamos un nuevo actor en la sección de movimiento: Big-man.

"Cuando Pac-man atrapa la bola de poder en las pantallas INTERMISSION y START, se gira y aumenta de tamaño, los fantasmas que lo persiguen ahora se giran y huyen asustados, cuando pierde el poder regresa a su pequeña forma amarilla".

La huida de los fantasmas la veremos más adelante.

Modificaremos el código donde se mueve a Pac-man hacia la derecha y hacia la izquierda en la "sección de movimiento" para colaborar en la transformación de Big-man.

IF DIRECTION = RIGHT
    IF X >= RIGHTEDGE
        LET X = LEFTEDGE
        EXIT
    ELSE
        IF CANGORIGHT
            SPRITERIGHT
    IF SCREEN > 0      ; si estamos en "START" o "INTERMISSION"
IF M >= 200        ; y si atrapamos a "Kokoro"
            LET IMAGE = 14 ; transforma pieza inferior izquierda de Big-man.
ELSE
                    LET IMAGE = 0
                ENDIF
    ELSE
LET IMAGE = 0
    ENDIF
            ANIMATE
ELSE
    IF F = 2
LET DIRECTION = A
    ENDIF
        ENDIF
    ENDIF
ENDIF

IF DIRECTION = LEFT
    IF X <= LEFTEDGE
        LET X = RIGHTEDGE
        EXIT
    ELSE
        IF CANGOLEFT
            SPRITELEFT
    IF SCREEN > 0      ; si estamos en "START" o "INTERMISSION"
IF M < 200        ; y si no tenemos "el poder".
            LET IMAGE = 1    ; restauramos la forma Pac-man
ENDIF
    ELSE
LET IMAGE = 1
    ENDIF
            ANIMATE
ELSE
    IF F = 2
LET DIRECTION = A
    ENDIF
        ENDIF
    ENDIF
ENDIF

Guarda el script, cierra el editor de texto y guarda el proyecto.

El programa ahora pinta la pieza inferior izquierda de Big-man (sprite type 0 image 14) cuando estamos en las pantallas INTERMISSION o START, estamos mirando a la derecha y tenemos el poder de Kokoro. En cambio cuando perdemos ese poder regresa a la forma Pac-man.

El giro y la aparición del resto de las piezas (Sprites type 6) de Big-man deberán ser tareas de la sección de detección, cuando Pac-man atrapa la bola de poder.
Modifica el código que detecta la píldora de poder (IF OBJ < 4) de la "sección detección" para quedar así:

IF OBJ < 4       ; si es una PILDORA DE PODER
    ADD 1 TO D        ; suma PILDORAS PODER
    IF F = 0          ; solo si estamos "jugando" entonces
SCORE 50          ; suma 50 puntos
; BEEP 3          ; sonido "Gulp"
    ENDIF
    AT 22 2
    SHOWSCORE
    LET M = 200
    GET OBJ           ; COME
    IF SCREEN > 0     ; si estamos en "START" o "INTERMISSION"
LET DIRECTION = RIGHT   ; gira para perseguir a los fantasmas
LET IMAGE = 14          ; transformación en Big-man
        LET FRAME = 0
SPAWN 6 17 ; instancia pieza "Big-man"
SPAWNED
    ADD 15 TO X             ; posición abajo derecha
    LET FRAME = 0           ; asegura fotograma 0
    LET DIRECTION = RIGHT
ENDSPRITE
        SPAWN 6 15 ; instancia pieza "Big-man"
SPAWNED
    SUBTRACT 16 TO Y        ; posición arriba
    SUBTRACT 1 TO X
    LET FRAME = 0
    LET DIRECTION = RIGHT
ENDSPRITE
SPAWN 6 16 ; instancia pieza "Big-man"
SPAWNED
    ADD 15 TO X             ; posición arriba derecha
    SUBTRACT 16 TO Y
    LET FRAME = 0
    LET DIRECTION = RIGHT
ENDSPRITE
    ENDIF
ENDIF

Guarda el script, cierra el editor de texto y guarda el proyecto.

El programa hace aparecer a Big-man en escena. Está formado por el Sprite type 0 de Pac-man que ahora muestra la pieza inferior izquierda de Big-man (Sprite type 0 image 14). Se unen la pieza superior izquierda (Sprite type 6 image 15), la pieza inferior derecha (Sprite type 6 image 17) y la pieza superior derecha (Sprite type 6 image 15).
Las piezas derechas, superior e inferior, tienen 3 fotogramas que mediante animación abren y cierran la boca de Big-man (ver figura Big-man).

El programa también se asegura de modificar el SCORE solamente en modo "Jugando". Esta frase se repite a partir de ahora en muchas partes del guion:

    IF F = 0          ; si solo si estamos "jugando" entonces
SCORE n            ; suma n puntos
; BEEP sonido      ; sonido determinado
    ENDIF

Estudiamos la incursión de esta condición (IF F=0) en la detección de los fantasmas asustados. Busca en el código de detección con fantasmas tipo 3 (IF COLLISION 3) para modificar así:

IF COLLISION 3    ; come fantasmas "asustados"
    READ A
    REPEAT A
        ADD 1 TO J        ; suma un PACK BONUS al contador
IF F = 0              ; solo si estamos "jugando" entonces
    SCORE 200            ; suma 200 puntos
ENDIF
    ENDREPEAT
    READ A
    PUT X Y A
    LET B = 1        ; inicia CONTADOR ciclo imagen BONUS
    IF A = 7
RESTORE
    ENDIF
    AT 22 2
    SHOWSCORE
    ADD 1 TO G      ; aumenta TOTAL FANTASMAS POR PANTALLA
    IF F = 0         ; solo si estamos "jugando" entonces
        ; BEEP 4          ; sonido "eat ghost"
    ENDIF
    OTHER
LET TYPE = 1      ; transforma a modo "ojos incorpóreos"
LET IMAGE = 6
LET FRAME = 0
    ENDSPRITE
ENDIF

Guarda el script, cierra el editor de texto y guarda el proyecto.

El programa ahora solo aumenta SCORE o ejecuta el sonido "eat ghost" si estamos en modo "jugando".

EVENT SPRITETYPE 6

Big-man en sí mismo. Selecciona "Sprite type 6" del menú "Events". Escribir para quedar así: 

EVENT SPRITETYPE6

; Big-man

SPRITEINK 14

; comprobaciones

IF M < 200        ; Big-man pierde el "poder"
    REMOVE            ; se borra a sí mismo.
ENDIF

; sección de velocidad

IF L = 1
    ; VELOCIDAD 4+ 110110
    IF Z = 2
EXIT
    ENDIF
    IF Z = 5
    EXIT
    ENDIF
ENDIF
IF L = 2
    ; VELOCIDAD 5+ 111110
    IF Z = 5
        EXIT
    ENDIF
ENDIF

; sección de movimiento

IF DIRECTION = RIGHT
    IF X >= RIGHTEDGE
        LET X = LEFTEDGE
        EXIT
    ELSE
ANIMATE SLOW
SPRITERIGHT
    ENDIF
ENDIF

Guarda el texto, cierra el editor de textos y guarda el proyecto. Otro script terminado. ¡Por fin! Los programas parecen no terminar nunca.

El programa mueve las tres piezas de Big-man a la derecha a la misma velocidad que la pieza inferior izquierda (Sprite type 0) mientras Big-man tiene el poder (M>=200). Cuando pierde el "poder energizante" (M<200) desaparecen. 

EVENT SPRITETYPE4

Los fantasmas también deben tomar nuevas decisiones, son los co-protagonistas de la historia.

Selecciona "Sprite type 4" del menú "Events". Modifica el código al principio del script para que quede así:

IF M >= 200         ; si PACMAN TIENE EL PODER
    IF D > SETTINGB     ; bola nueva
LET TYPE = 3     ; transforma a TIPO "ASUSTADO"
LET IMAGE = 5
LET FRAME = 0
    ENDIF
    IF SCREEN > 0       ; y si estamos en "START" o en "INTERMISSION"
LET DIRECTION = RIGHT    ; los fantasmas giran a la derecha.
    ENDIF
ENDIF

Con este programa aseguramos que los fantasmas "asustados" se giren a la derecha para huir de Big-man.

Otro ejemplo de la pequeña incursión del caso F = 0. Modifica el código que está al final del script para que quede así:

IF COLLISION PLAYER
    IF K = 5
        OTHER
    IF F = 0                ; solo en modo "Jugando" entonces
SUBTRACT 1 TO LIVES    ; resta una vida
; BEEP 2               ; sonido "death 128k"
    ENDIF
    AT 22 16
    DISPLAY LIVES
    LET K = 0
    LET TYPE = 2            ; transforma en "LA MUERTE DE PACMAN"
ENDSPRITE
    ENDIF
ENDIF

Guarda el texto, cierra el editor de textos, guarda el proyecto.

Para evitar los cambios en las vidas, marcadores o la ejecución de sonidos en modo "Insert coin" nos aseguramos que solo se ejecuten cuando estemos en modo "Jugando" (IF F = 0). ¡Ahora! Otro programa finalizado!

EVENT SPRITETYPE5

Selecciona "Sprite type 5" del menú "Events". Inserta la condición F = 0 en un par de sitios más. Todo el código debe quedar así:

EVENT SPRITETYPE5

; FRUTAS
; deben permanecer 10 segundos

SPRITEINK SETTINGA

IF S = 10              ; agotamos 10 segundos en pantalla
    REMOVE             ; desaparece
    GETRANDOM 5
    LET S = RND        ; restaurar cronómetro FRUTAS
ENDIF

IF COLLISION PLAYER    ; somos capturados
    GETRANDOM 5
    LET S = RND        ; restaurar cronómetro FRUTAS
    REPEAT SETTINGB
READ A             ; lee multiplicador en posición SETTINGB de la serie
    ENDREPEAT
    REPEAT A
        IF F = 0           ; solo si estamos "Jugando" entonces
            SCORE 200        ; suma 200 puntos al SCORE
        ENDIF
ADD 1 TO J         ; cuenta BONUS FRUTAS
    ENDREPEAT
    READ A            ; lee marcador BONUS
LET B = 4 
WHILE B < 8
        GET B         ; borra marcadores BONUS
ADD 1 TO B
ENDWHILE
    PUT X Y A         ; pinta marcador en pantalla
    LET B = 1         ; inicia cronómetro marcador BONUS
    AT 22 2
    SHOWSCORE         ; actualiza marcador SCORE
    IF F = 0           ; solo si estamos "Jugando" entonces
        ; BEEP 3            ; sonido "Gulp"
    ENDIF
    RESTORE           ; restaura serie DATA
    REMOVE            ; desaparece
    ADD 1 TO H        ; suma 1 al contador de FRUTAS
ENDIF

; diccionario: multiplicador, marcador Bonus
DATA 1 4 2 5 2 5 4 6 4 6 8 7

Para evitar los cambios en marcadores o la ejecución de sonidos en modo "Insert coin" volvemos a usar la condición F = 0 obligando a ejecutar estos cambios solo si estamos "Jugando" (IF F = 0). 

Guarda el texto, cierra el editor de textos, guarda el proyecto. Otro script finalizado. ¿Te lo puedes creer?

EVENT SPRITETYPE1

Selecciona "Sprite type 1" del menú "Events". Modifica el código desde el principio del script, hasta la sección de movimiento para que quede así:

; Objetivo Regresar a casa, ojos incorpóreos

SPRITEINK SETTINGA          ; mi color es mi identidad

IF SCREEN > 0 ; si estamos en "START" o "INTERMISSION" entonces
    REMOVE        ; no aparecen los ojos incorpóreos
ENDIF

IF X = 104
    IF Y = 72            ; en "posición inicial"
LET TYPE = 4     ; REAPARECE en modo perseguir/dispersar
LET SETTINGB = D    ; memoriza "última bola energizante"
LET IMAGE = 4       ; cambia de apariencia
LET FRAME = 0       ; asegura fotograma 0
        IF F = 0            ; solo si estamos "Jugando" entonces
    ; BEEP 5            ; sonido "Sirena fantasma"
        ENDIF
    ENDIF
ENDIF

IF LADDERBELOW        ; estoy "a las puertas de casa"
    SPRITEDOWN            ; MUEVE abajo
    EXIT                  ; salir del script
ENDIF

Guarda el texto, cierra el editor de textos, guarda el proyecto. Otro! Un script más terminado. Estamos de suerte.

Puedes editar ahora el bloque fantasma (bloque 017 tipo muro), borra los pixeles que forman la cruz, déjalo todo en negro. Recuerda guardar el proyecto. 

El capítulo Uno llegó a su fin, las escenas se llenaron con nuevos textos. Se crearon nuevas relaciones causa-efecto. Si quieres jugar avanza al capítulo Cero.



Comentarios

Entradas populares de este blog

El laberinto