★ AMSTRAD CPC ★ GAMESLIST ★ HELICO-DROP (c) LMC/MICROMAG ★

MICROMAG

Rares sont les jeux intéressants réalisés en peu de lignes. Helico Drop est pourtant de ceux-là. Cette version Basic, qui n'a rien à envier à l'ancienne version (binaire) existante, vous permet en autre de créer de nombreux tableaux supplémentaires.

Le but du jeu consiste à laisser tomber des balles qui, après un boyage erratique a travers de nombreuses galeries, viennent Remplir des caves. Si par inadvertance deux balles occupent la même cave, celles-ci disparaissent. Seize balles pour remplir huit caves, cela devrait être suffisant...

En plus du programme de jeu, figure un créateur de tableaux qui sauve un fichier ASCII utilisé par le programme principal. Si vous utilisez des cassettes, voici la marche à suivre: programme création sauvé de 0 à 20 (au compteur), programme de jeu sauvé de 21 à 100 (chiffres approximatifs). Mettez la cassette à 0 et lancez le programme de création. Le fichier ASCII «table» créé par ce programme, devra être riauvé «à la suite» du programme de jeu (de 101 à 115 par exemple). Une fois ceci fait, faites un RESET de l'ordinateur et positionnez la cassette sur 21. Lancez le programme de jeu qui chargera automatiquement le fichier «table».

Créa fichier tableaux

Ce programme tel qu'il est possède déjà trois tableaux. Il ne tient qu'à vous d'en créer d'autres; vingt étant un maximum.
- Ligne 60 : la variable NBTAB contient le nombre de tableaux. Vous devrez l'initialiser en conséquence.
- Lignes 80 à 110 : le DIM TABLO est chargé avec les variables contenues en DATA.
- Lignes 140 à 190 : ouverture d'un fichier ASCII en écriture. Le nom de ce fichier est 'TABLE'. La première donnée est NBTAB, les suivantes sont des données alphanumériques, les mêmes que celles en DATA.
- Lignes 210 à 250 : lignes data d'un tableau. Chaque data est une chaîne de caractères composée de quarante chiffres - car le jeu est en mode 1 - qui sont des 1 (briques) ou des 0 (cases vides). Dans le jeu, cinq lignes de briques peuvent scroller vers le haut ou le bas. Chaque ligne de data est la représentation numérique de ces lignes de briques. Vous en savez assez pour créer des tableaux supplémentaires.

Helico Drop,le jeu

A. Initialisation
- Lignes 150 à 250 : quelques caractères redéfinis pour l'hélico, la balle, le filin et le dessin des briques.

B. Chargement ASCII
- Ligne 310 : Call &BBFF pour rafraîchir la RAM vidéo.
- Lignes 320 à 350 : ouverture en lecture du fichier 'table'. Première donnée, le nombre de tableaux. Le nombre de données alphanumériques à lire est calculé en conséquence. On retrouve le même DIM TABLO que dans le programme de création.

C. Variables de base
- Ligne 460 : TA est le numéro du tableau par lequel le jeu va commencer. Vous avez créé un quatrième tableau et c'est celui que vous voulez tester? Rien de plus simple, changez TA=1 par TA =4.
- Ligne 480 : fonction mathématique qui permet de tester la couleur au centre d'une position X, Y (mêmes valeurs que celles utilisées pour un LOCATE).
- Lignes 500 à 510 : création de deux petites routines binaires pour le scrolling des lignes 2, 3 et 4. Call 300 pour la gauche et Call 325 pour la droite. Que ceux qui désirent creuser cette question consultent l'article d'un certain Claude Le Moullec (pourvu de nombreux exemples) paru dans Am-Mag n°37 d'août 1988.

D. Dessin tableau
- Ligne 570 : ligne des scores.
- Lignes 580 à 640 : dessin de la partie commune à tous les tableaux.
- Ligne 650 : transfert de données du tableau qui va être joué, du DIM TABLO$ au DIM LIG$. Ce transfert dans LIG$ se fait au même numéro de ligne où le dessin doit s'effectuer.
- Lignes 660 à 740 : dessin des lignes de briques. Cette méthode de dessin a déjà fait l'objet d'une explication dans la leçon sur les DATA (Am-Mag n°44). Il s'agit de la méthode numéro 1.
- Lignes 750 à 800 : dessin des plans inclinés. Cette boucle passe sur toutes les cases des galeries. Par rapport à chacune d'elles, celle du dessus et celle de dessous sont testées. Si celle du dessus est vide et celle de dessous pleine, un plan incliné est dessiné. Un tirage aléatoire décide de son sens.

E. Routine principale
- Lignes 880 à 930 : le critère de rapidité n'étant pas essentiel, les touches fléchées et le joystick sont testés à chaque passage.
- Lignes 940 à 980 : hélico sur la droite. Appel de la routine de scrolling. Le déplacement fait en sorte que la balle soit toujours sous un trou. Même principe pour le déplacement à gauche.
- Lignes 1050 à 1220 : algorithme de la montée des murs. Une ligne de murs disparaît en haut de l'écran, tout le reste monte. La ligne disparue est redessinée en bas ainsi que les plans inclinés. Pour se faire, sont utilisés les pointeurs PH et PB qui possèdent le numéro de variable contenu dans LIG$ et qui va être redessinée. Après chaque dessin, ces deux pointeurs sont rafraîchis pour ne pas dépasser leurs limites (lignes 1210 et 1220).
- Lignes 1240 à 1390 : même principe mais pour la descente des murs.

F. Chute de la balle
En fonction de la variable SENS, la nouvelle position de la balle est calculée dans X et Y. Le test de couleur permet de connaître l'élément qui se trouve à cette nouvelle position. S'il n'y a rien, on boucle pour un nouvel affichage. La présence d'un plan incliné fait changer le sens de la balle ainsi que celui du plan incliné. Tant que Y est différent de 25, la balle poursuivra sa progression. Si Y est égal à 25; une cave est atteinte. On passe au sous-programme suivant.

G. Comptage des balles
- Ligne 1810 : vérifier si cave pas déjà occupée.
- Ligne 1820 : non! Alors 50 points de plus au score.
- Lignes 1830 à 1850 : toujours avec la fameuse fonction test de couleur, comptage du nombre de caves occupées. Ce nombre se retrouve dans NBB. Si NBB=8; bravo, c'est gagné!
- Ligne 1860 : ce n'est pas le cas. Comptage des balles restantes. S'il n'en reste plus, c'est perdu...

H. Perdu/gagné
La partie est terminée et le score comparé au record. La victoire assure le passage au tableau suivant. Dans le cas contraire, retour au tableau 1 (de même si vous avez passé tous les tableaux en mémoire). Et voilà comment quelques lignes de Basic suffisent à engendrer un véribable casse-tête risquant de vous tenir éveillé des nuits entières. Je décline toute responsabilité quant aux dépressions nerveuses éventuelles

Claude Le Moullec , MICROMAG 7, page 77

HELICO-DROP
(c) LMC , MICROMAG

PROGRAMMATION: CLAUDE LE MOULLEC (LMC)
SORTIE EN LISTING DANS MAGAZINE MICROMAG n°7 (NOVEMBRE 1989)

★ ANNÉE: 1989
★ LANGAGE:
★ GENRE: INGAME MODE 1 , ARCADE

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Helico-Drop    FRENCHDATE: 2013-08-30
DL: 50 fois
TYPE: ZIP
SIZE: 25Ko
NOTE: 40 Cyls
.HFE: OUI

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 097 millisecondes et consultée 1076 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.