NOTAS DE DESARROLLO "THE CURSE OF TRASMOZ" AGD SPECTRUM
Por Javy Fernandez 2018-2019

EVENTO 0: PLAYER
EVENTO 1: ESPADAZO!
EVENTO 2: MURCIELAGOS
EVENTO 3: ZOMBIE
EVENTO 4: VELAS
EVENTO 5: HUESO
EVENTO 6: ESQUELETO
EVENTO 7: BRUJA
EVENTO 8: ORBES2 (Movimiento)


VARIABLES DEL JUEGO (Banco 0):
------------------------------
A 	Controla la velocidad de animación del ZOMBIE *lenta* (en MAIN LOOP 1)
B 	Controla la velocidad de animación del ORBE *rapida* (en MAIN LOOP 1)
C 	Contador para el retardo del disparo-espada
D 	Controla encendido de velas
E   Controla encendido de velas2
F	Con valor 0 Player mira a la izquierda, 1 mira a la derecha
G	Controla si estamos pulsando disparo 1 SI 0 NO (bloquea desplazamientos)
H 	Controla el TIEMPO UI *NEW*  'Controla si hemos matado zombie (para vuelo ORBE) -LIBERAR-
I	Controla animación IDLE, con valor 0 NO Anim  1 SI Anim
J	Controla imagen salto (y utilizado para NO disparo en el aire)
K	Coordenada X SPRITE disparo-espada
L 	Coordenada de los corazones en marcador (para borrar vidas)
M 	RESERVADA PARA LA MUSICA
N 	Nivel actual 
O 	Coordenada Y SPRITE disparo-espada
P   Numero de velas por pantalla (para cambio de Nivel)
Q   Controla si mantenemos pulsado el disparo (para disparar una sola vez)
R 	Unidades de fuego en inventario
S   Controla el retardo para lanzar hueso (esqueletos)
T	Coordenada de fuego en marcador


VARIABLES DEL JUEGO (Banco 1):
------------------------------
A   
B   Continues (1 SI - 0 NO) ** NO USADO **
C   
D   
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S   
T   


VARIABLES DE SERIE:
-------------------
X	Controla la posicion horizontal del player
Y	Controla la posicion vertical del player


MUSICAS:      implementado:     evento:
1 Level 1               ok      (game initialization)
2 Level 2               ok      (main loop 2)
3 Level 3               ok      (main loop 2)
4 Menu                  ok      (intro menu)
5 Game Completed        ok      (initialization sprites)
X Game Over        fx beep      (kill player)

BLOQUES (en marcador):
----------------------
6	Corazon rojo
36	Corazon blanco
29	Fuego rojo
30	Fuego blanco


*EXPORTAR SCRIPTS (EVENTOS):
Direccion 16384

*CAMBIAR VERSION DE AGD o AGDX:
Desde A (Fonts): Direccion 31232, Tamaño 33536.

*CAMBIAR COLOR MITAD DE SPRITE
Direccion 32866 valor 2 multi horizontal
Direccion 32866 valor 3 normal horizontal
Direccion 32822 valor 0 multi vertical
Direccion 32822 valor 119 normal vertical

#horizontal
asm 62
asm 2
asm 50
asm 98
asm 128
spriteink 5
add 8 to X
spriteink 6
subtract 8 to X
asm 62
asm 3
asm 50
asm 98
asm 128

#vertical
asm 62
asm 0
asm 50
asm 114
asm 128
spriteink 5
add 8 to Y
spriteink 6
subtract 8 to Y
asm 62
asm 119
asm 50
asm 114
asm 128


#Crear dos bancos de variables 0 y 1 intercambiables. No se pueden mezclar entre ambos.
=======================================================================================
Cada vez que eso se ejecuta se hace un intercambio entre las variables actuales y otro conjunto alternativo.
(el conjunto alternativo se guarda en el objeto 0, por tanto ese objeto no debe usarse)
no hay problema en crear nuevo objetos y usar el 1,2,etc...

RUTINA:
ASM 42
ASM 77
ASM 125
ASM 17
ASM 29
ASM 125
ASM 6
ASM 20
ASM 26
ASM 78
ASM 119
ASM 235
ASM 113
ASM 35
ASM 19
ASM 16
ASM 247

pongo un ejemplo de esta rutina:
LET A 12  ; banco 0 (el normal)
RUTINA ;intercambiamos
LET A 23 ;banco 1
RUTINA ;intercambiamos
DISPLAY A ;mostraría A del banco 0 (12)
RUTINA ;intercambiamos
DISPLAY A ;mostraría A del banco 1 (23)

lo que no permite es hacer asignaciones entre bancos distintos:
LET A T
en este caso tanto A como T deben estar en el mismo banco de variables

#Llamar a la rutina cambio de bloque que hemos colocado en zona MAPA:

ASM 205
ASM 236
ASM 143
