Dudas de última hora. He modificado el archivo make.bat para que pueda por fin incluir en la compilación las cláusulas del scripting del juego (las que creo pueden funcionar en el juego), pero al general el alchivo con el juego y empezal a plobal.lo para vel si todo iba bien,
resulta que no veo cambio significativo alguno. Todo lo veo igual que como estaba en las últimas betas lanzadas. ¿Está todo bien, o hay algo que me falta aquí?
$this->bbcode_second_pass_code('', '@echo off
cd ..\script
msc aquanoid.spt msc.h 32
copy *.h ..\dev
cd ..\dev
cd ..\map
..\utils\mapcnv mapa.map 8 4 15 10 15 packed
copy mapa.h ..\dev
cd ..\dev
zcc +zx -vn aquanoid.c -o aquanoid.bin -lndos -lsplib2 -zorg=25000
..\utils\bas2tap -a10 -sAQUANOIDS loader.bas loader.tap
..\utils\bin2tap -o screen.tap -a 16384 loading.bin
..\utils\bin2tap -o main.tap -a 25000 aquanoid.bin
copy /b loader.tap + screen.tap + main.tap aquanoid.tap
del loader.tap
del screen.tap
del main.tap
del aquanoid.bin
echo DONE')
Así he dejado el contenido del archivo aquanoid.spt, después de darle vueltas al tema. Otra cosa, si voy a coger durante el juego 15 objetos que, en definitiva, va a estar predeterminado por la directiva #
define PLAYER_NUM_OBJETOS en config.h, no tengo por qué definir un flag (SET FLAG 1, 1) para ellos. Ya me diréis qué tengo que cambiar o modificar aquí para ir empezando a ver resultados:
$this->bbcode_second_pass_code('', '# Aquanoids
# Copyleft 2015 Neil Parsons
# Churrera 3.99b
# flags:
# 1 = cuenta de baterías (hasta 15)
# 2 = cuenta de objeto 1
# 3 = cuenta de objeto 2
# 4 = cuenta de objeto 3
# 5 = control objetos
# SET FLAG 1, 1 - ¿Innecesario?
SET FLAG 2, 0
SET FLAG 3, 0
SET FLAG 4, 0
SET FLAG 5, 0
ENTERING SCREEN 0
# Superficie, ordenadores, lámparas, contenedor.
IF TRUE
THEN
SET TILE (0, 0) = 20
SET TILE (1, 0) = 20
SET TILE (2, 0) = 20
SET TILE (3, 0) = 20
SET TILE (4, 0) = 20
SET TILE (5, 0) = 20
SET TILE (6, 0) = 20
SET TILE (7, 0) = 20
SET TILE (8, 0) = 20
SET TILE (9, 0) = 20
SET TILE (10, 0) = 20
SET TILE (11, 0) = 20
SET TILE (12, 0) = 20
SET TILE (13, 0) = 20
SET TILE (14, 0) = 20
# Lámparas
SET TILE (2, 4) = 22
SET TILE (3, 4) = 23
SET TILE (5, 4) = 22
SET TILE (6, 4) = 23
# Contenedor
SET TILE (2, 7) = 25
SET TILE (2, 8) = 26
SET TILE (3, 7) = 27
SET TILE (3, 8) = 28
# Vigas
SET TILE (6, 5) = 21
SET TILE (7, 5) = 21
SET TILE (8, 5) = 21
# Ordenadores
SET TILE (1, 8) = 24
SET TILE (5, 8) = 24
SET TILE (6, 8) = 24
# Fire zone (x1, y1, x2, y2)
SET_FIRE_ZONE 17, 111, 49, 143
END
END
ENTERING SCREEN 1
# Superficie
IF TRUE
THEN
SET TILE (0, 0) = 20
SET TILE (1, 0) = 20
SET TILE (2, 0) = 20
SET TILE (3, 0) = 20
SET TILE (4, 0) = 20
SET TILE (5, 0) = 20
SET TILE (6, 0) = 20
SET TILE (7, 0) = 20
SET TILE (8, 0) = 20
SET TILE (9, 0) = 20
SET TILE (10, 0) = 20
SET TILE (11, 0) = 20
SET TILE (12, 0) = 20
SET TILE (13, 0) = 20
SET TILE (14, 0) = 20
END
END
ENTERING SCREEN 2
# Superficie
IF TRUE
THEN
SET TILE (0, 0) = 20
SET TILE (1, 0) = 20
SET TILE (2, 0) = 20
SET TILE (3, 0) = 20
SET TILE (4, 0) = 20
SET TILE (5, 0) = 20
SET TILE (6, 0) = 20
SET TILE (7, 0) = 20
SET TILE (8, 0) = 20
SET TILE (9, 0) = 20
SET TILE (10, 0) = 20
SET TILE (11, 0) = 20
SET TILE (12, 0) = 20
SET TILE (13, 0) = 20
SET TILE (14, 0) = 20
END
END
ENTERING SCREEN 3
# Superficie
IF TRUE
THEN
SET TILE (0, 0) = 20
SET TILE (1, 0) = 20
SET TILE (2, 0) = 20
SET TILE (3, 0) = 20
SET TILE (4, 0) = 20
SET TILE (5, 0) = 20
SET TILE (6, 0) = 20
SET TILE (7, 0) = 20
SET TILE (8, 0) = 20
SET TILE (9, 0) = 20
SET TILE (10, 0) = 20
SET TILE (11, 0) = 20
SET TILE (12, 0) = 20
SET TILE (13, 0) = 20
SET TILE (14, 0) = 20
END
END
ENTERING SCREEN 4
# Superficie
IF TRUE
THEN
SET TILE (0, 0) = 20
SET TILE (1, 0) = 20
SET TILE (2, 0) = 20
SET TILE (3, 0) = 20
SET TILE (4, 0) = 20
SET TILE (5, 0) = 20
SET TILE (6, 0) = 20
SET TILE (7, 0) = 20
SET TILE (8, 0) = 20
SET TILE (9, 0) = 20
SET TILE (10, 0) = 20
SET TILE (11, 0) = 20
SET TILE (12, 0) = 20
SET TILE (13, 0) = 20
SET TILE (14, 0) = 20
END
END
ENTERING SCREEN 5
# Superficie
IF TRUE
THEN
SET TILE (0, 0) = 20
SET TILE (1, 0) = 20
SET TILE (2, 0) = 20
SET TILE (3, 0) = 20
SET TILE (4, 0) = 20
SET TILE (5, 0) = 20
SET TILE (7, 0) = 20
SET TILE (8, 0) = 20
SET TILE (9, 0) = 20
SET TILE (10, 0) = 20
SET TILE (11, 0) = 20
SET TILE (12, 0) = 20
SET TILE (13, 0) = 20
SET TILE (14, 0) = 20
END
END
ENTERING SCREEN 6
# Superficie
IF TRUE
THEN
SET TILE (0, 0) = 20
SET TILE (1, 0) = 20
SET TILE (2, 0) = 20
SET TILE (3, 0) = 20
SET TILE (4, 0) = 20
SET TILE (5, 0) = 20
SET TILE (6, 0) = 20
SET TILE (7, 0) = 20
SET TILE (8, 0) = 20
SET TILE (9, 0) = 20
SET TILE (10, 0) = 20
SET TILE (11, 0) = 20
SET TILE (12, 0) = 20
SET TILE (13, 0) = 20
SET TILE (14, 0) = 20
END
END
ENTERING SCREEN 7
# Superficie
IF TRUE
THEN
SET TILE (0, 0) = 20
SET TILE (1, 0) = 20
SET TILE (2, 0) = 20
SET TILE (3, 0) = 20
SET TILE (4, 0) = 20
SET TILE (6, 0) = 20
SET TILE (7, 0) = 20
SET TILE (8, 0) = 20
SET TILE (9, 0) = 20
SET TILE (10, 0) = 20
SET TILE (11, 0) = 20
SET TILE (12, 0) = 20
SET TILE (13, 0) = 20
SET TILE (14, 0) = 20
END
END
ENTERING SCREEN 17
# Lata de fuel = Obj1
IF FLAG 2 = 0
THEN
SET TILE (13, 5) = 29
SET_FIRE_ZONE 177, 95, 193, 95
END
END
PRESS_FIRE AT SCREEN 17
# Si lo cojemos, añadirlo a lista
IF PLAYER_TOUCHES 13, 5
THEN
INC FLAG 2, 1
PRINT_TILE_AT (2, 21) = 29
SOUND 6
SET TILE (13, 5) = 0 // Borrar tile y poner fondo en su lugar
END
END
ENTERING SCREEN 30
# Barril de cerveza = Obj2
IF FLAG 3 = 0
THEN
SET TILE (1, 2) = 30
SET_FIRE_ZONE 1, 31, 17, 47
END
END
PRESS_FIRE AT SCREEN 30
# Si lo cojemos, añadirlo a lista
IF PLAYER_TOUCHES 1, 2
THEN
INC FLAG 3, 1
PRINT_TILE_AT (4, 21) = 30
SOUND 6
SET TILE (1, 2) = 0
END
END
ENTERING SCREEN 31
# Cartera comprometedora = Obj3
IF FLAG 4 = 0
THEN
SET TILE (13, 3) = 31
SET_FIRE_ZONE 193, 47, 193, 63
END
END
PRESS_FIRE AT SCREEN 31
# Si lo cojemos, añadirlo a lista
IF PLAYER_TOUCHES 13, 3
THEN
INC FLAG 4, 1
PRINT_TILE_AT (6, 21) = 31
SOUND 6
SET TILE (13, 3) = 0
END
END
# Comprobación si se han cogido los tres objetos especiales
# y final de juego.
ENTERING ANY
IF FLAG 2 = 1
THEN
IF FLAG 3 = 1
THEN
IF FLAG 4 = 1
THEN
TEXT DONE!_COME_BACK_TO_BASE
INC FLAG 5, 1
SOUND 6
SOUND 7
END
END
END
END
PRESS_FIRE AT SCREEN 0
# Detectar el contenedor al entrar en la cámara
# Comprobar si el jugador lleva todo
IF PLAYER_IN_X 17,49
IF PLAYER_IN_Y 111,143
IF OBJECT_COUNT = 15
THEN
IF FLAG 5 = 1
THEN
WIN GAME
END
END
END')