Infernal Castle * Claude Le Moullec
---------------
Publie dans Am-Mag 36 * Juillet 1988
Egare dans un funeste chateau grouillant d'une faune innomable, un malheureux
pac-man espere son salut en la recole de cles disseminees dans ces lieux
d'epouvante...
Programmation
-------------
Variables de base
Tr$ : active le mode transparent
Nr$ : desactive mode transparent
Pass$ : elements de passerelle
Clef$, ta, vie, sc, rec... : sans commentaire
Dessin des tableaux
Trace d'un cadre de jeu, puis lecture en DATA du nombre de passerelles, des
murs verticaux et d'etoiles mortelles. Pour chaque element, lecture en DATA
du debut et de la fin de chaque segment, ainsi que de sa hauteur ou longueur.
Pour les etoiles, lecture de X et Y et LOCATE a ces coordonnees.
Affichage des monstres
Lecture en DATA de a (abscisse), b (ordonnee) et c (CHR$ redefini concernant le
monstre).
Routines en langage machine
CALL &8000 (scrolling) : en &8001 et &8002, adresse du premier octet de la
fenetre a scroller. En &8004, nombre de lignes de pixels (ici, 144).
CALL &8100 (deplacement des ennemis) : cinq routines identiques de &8100 a
&8500 pour les cinq poursuivants, avec changement de sens si test de collision
et valeur du CHR$ touche en &8126, &8226, etc.
CALL &8050 (test de collision) : cette routine lit la valeur se trouvant en
&8126, &8226, etc. Lorsque celle-ci est egale au CHR$ du PAC, on retrouve 10
a l'adresse &8050.
CALL &8170 (appel simultane des cinq routines de deplacement): affecte en
outre une couleur a chaque poursuivant.
CALL &8190 (test de collision du PAC) : routine lisant la valeur du CHR$
contenu a l'adresse X, Y, avant l'affichage du Pac. Ladite valeur retrouvee
en &8190, permet la reconnaissance de ce qui est touche par notre heros (cle,
ennemi ou mur).