"El destino, la libertad de elegir por nosotros mismos, en el juego depende de una semilla fantasma. Un número, un instante en los circuitos de una máquina. Pac-man y sus perseguidores son conscientes de ello; pero ¿y tu?"
El dosier fantasma.
Existe un byte en la RAM, llamado "SEED", que contiene un número aleatorio. Este número es realmente el número de microsegundos que el usuario ha tardado en pulsar una tecla. Este número creará la ilusión de no poder librarnos de nuestros fantasmas.
GEGTRANDOM
Al contrario de las oleadas alienígenas con patrones rígidos, los fantasmas y Pac-man gozan de libertad de decisión, gracias a la ilusión de la inteligencia artificial.
El informe del equipo de desarrollo dice: -"Los
fantasmas usan un generador de números pseudo-aleatorios para elegir una
forma de girar en cada intersección cuando están ASUSTADOS".
Nuestro generador de números pseudo-aleatorios será GETRANDOM. La "semilla fantasma" se reserva en la variable RND.
Ghost
Abrimos el MPAGD. Abrimos nuestro proyecto Pacman. En el menú "Editor" seleccionamos "Sprites".
Pulsamos "x" con lo que vamos a crear un nuevo Sprite (Sprite 004).
Sprite 004 frame 000.
Dibuja pixel a pixel (toma referencias contando los pixeles para que te salga idéntico al de la figura). Ahora nuestro "Fantasma" puede tomar la apariencia de la imagen Sprite 004 frame 000.
Vamos a crear algunos frames (fotogramas) para animar. Pulsamos "i" (insertar nuevo frame) y dibujamos la siguiente:
Sprite 004 frame 001.
Otro más. Volvemos a pulsar "i" para insertar una imagen más:
Sprite 004 frame 002.
Último (Volvemos a pulsar "i" para insertar):
Sprite 004 frame 003.
Guarda el proyecto.
Repite el trabajo con este nuevo Sprite GHOST en modo ASUSTADO.
Pulsamos "x" con lo que vamos a crear un nuevo Sprite (Sprite 005).
Sprite 005 frame 000.
Pulsamos "i" (insertar nuevo frame) y dibujamos la siguiente:
Sprite 005 frame 001.
Guarda el proyecto.
Un último esfuerzo. Crea un Sprite más, el Sprite GHOST en modo "INCORPOREO" (ahora ya sabes cómo).
Sprite 006 frame 000.
Sprite 006 frame 001.
Sprite 006 frame 002.
Sprite 006 frame 003.
Guarda el proyecto.EVENT SPRITETYPE3
Para demostrar el uso de "la semilla fantasma" vamos a resolver la especificación del expediente que dice:
"los fantasmas entran en modo asustado cuando Pac-Man come uno de los cuatro "energizadores" ubicados en los rincones más alejados del laberinto. Durante los
primeros niveles, los fantasmas se volverán azul oscuro (lo que significa que
serán vulnerables) y deambularán sin rumbo por el laberinto durante unos
segundos".
EL dosier fantasma.
Selecciona "Sprite type 3" del menú "Events" del editor. Edita el script. Deberá quedar así:
EVENT SPRITETYPE3
; MODO MIEDO ASUSTADO
SPRITEINK 1 ; COLOREAMOS
GETRANDOM 4 ; GENERAR NUMERO PSEUDOALEATORIO 4=(0,1,2,3)(SEED)
LET A = RND ; RESERVAR en A = DIRECCIONES (0,1,2,3)
IF DIRECTION = UP
IF CANGOUP
SPRITEUP
ELSE ; CUANDO SE ENCUENTRA UN OBSTÁCULO
LET DIRECTION = A ; DIRECTION = RND Y VAGAR
ENDIF
ENDIF
IF DIRECTION = DOWN
IF CANGODOWN
SPRITEDOWN
ELSE
LET DIRECTION = A ; VAGAR
ENDIF
ENDIF
IF DIRECTION = LEFT
IF X <= LEFTEDGE
LET X = RIGHTEDGE ; TUNEL
EXIT
ELSE
IF CANGOLEFT
SPRITELEFT
ELSE
LET DIRECTION = A ; VAGAR
ENDIF
ENDIF
ENDIF
IF DIRECTION = RIGHT
IF X >= RIGHTEDGE
LET X = LEFTEDGE ; TUNEL
EXIT
ELSE
IF CANGORIGHT
SPRITERIGHT
ELSE
LET DIRECTION = A ; VAGAR
ENDIF
ENDIF
ENDIF
Hemos usado la variable A como "reserva", es una variable global pero no le damos más significado fuera de el ámbito de este Script, de esta manera la usaremos en otros scripts.
Guarda el script, Guarda el proyecto.
SPRITE POSITIONS
Ahora selecciona la opción "screens" del menú "Editor". Aparece el laberinto (si hubiera más pantallas escogeríamos el laberinto usando las teclas "1" y "2").
Ahora seleccionamos la opción "Sprite positions".
Para AÑADIR un fantasma al "Laberinto" seleccionamos el icono correspondiente al Sprite 5 (Con cada "clic" estarás añadiendo un fantasma, ten cuidado).
Segundo clic: EL botón derecho muestra el Sprite seleccionado y su tipo. Debes dejar seleccionado el tipo "Sprite type 3".
Tercer clic: En el Laberinto, en la posición que quieras, ahí aparecerá cada vez que "entres a jugar al laberinto". Coloca cuatro fantasmas en total.
Guarda el proyecto.
Pulsa "F5".
Esto pinta bien, nuestros fantasmas tienen movimiento errático cumpliendo la especificación "deambularán sin rumbo por el laberinto durante unos segundos".
"Ahora no manejo mi destino. En el laberinto nadie es dueño de su destino, Pac-man tampoco, pronto lo descubrirás".
Comentarios
Publicar un comentario