Informations générales
Ceci est une nouvelle version de l’un des jeux préférés de Dan Cresp pour le ZX-81, adapté d’abord sur MSX et SHARP MZ-700,


Dan a décidé de créer une version “Cellophane Edition” pour ORIC, pour laquelle il a travaillé davantage sur la partie graphique et adapté le jeu à 36 colonnes au lieu de la version originale ou de 40 sur le MZ-700.
D’un côté, Dan aurait aimé avoir un jeu différent au niveau des couleurs, mais les limitations de l’ORIC ne l’ont pas permis. Il a donc décidé de le présenter tel quel, ce qui lui donne un aspect très rétro. Ce résultat est magnifique.
Les performances de l’ORIC sont très bonnes pour certaines choses, tel que le traitement des polices de caractères, mais en retrait pour d’autres aspects, ce qui fait que le jeu n’est pas aligné avec la fluidité que souhaitée. Comme tous les ennemis sont représentés par un seul personnage, Dan a décidé de passer directement sur l’écran vidéo par des POKE, au lieu d’utiliser le PLOT. Cela a simplifié le code et amélioré les performances.

La boucle principale se répète jusqu’à ce que nous perdions la seule vie que nous ayons. A chaque passage, nous ne déplaçons qu’un des ennemis, sélectionné aléatoirement avec un nombre compris entre 0 et 2 :
- 0 : Nous levons ou baissons la barrière d’énergie au hasard.
- 1 : Au hasard, nous élevons ou abaissons l’un des navires ennemis.
- 2 : Pour les fongoïdes, nous calculons un grand nombre aléatoire. S’il est inférieur à 6, nous faisons croître le Fungaloid correspondant et sinon nous ne faisons rien. Cela les fait progresser plus lentement, mais au fur et à mesure que le jeu avance, le nombre que nous calculons diminue et, par conséquent, augmente sa vitesse et sa difficulté.

Pour détecter les collisions, j’utilise certaines variables qui indiquent la position absolue dans la mémoire de l’écran sur laquelle se trouve l’aile gauche de notre navire, ou notre tir. En accédant à la mémoire vidéo avec un PEEK, nous pouvons voir que nous jouons. Cela nous évite de nombreux calculs et cela reste assez précis.
Dans le jeu original, il faut survoler un Fungaloid et lui tirer dessus. Ici, pour gagner de la vitesse, j’ai choisi de lui faire tirer dessus en détruisant un fragment de Fungaloid. Donc, je prends le même code qui me dit que Fungaloid est parvenu à poser sa balle sur le sol correspondant.

La vérité, c’est que Dan aurait aimé apporter quelques modifications, mais il a choisi de conserver l’esprit du jeu original. Bien que complètement programmé en BASIC, le jeu a atteint une vitesse très convenable et vous permet de jouer parfaitement. Bien sûr, comme pour les autres logiciels crées par Dan Cresp, le son reste le point faible.
Je vous invite à l’essayer

Quelques informations à propos du programme
Dan a divisé le programme en 11 blocs:
- Déclaration de la matrice et début du jeu.
- Contrôle de notre vaisseau.
- Déplace les ennemis.
- Contrôle du tir.
- Contrôle du projectile ennemi.
- Fin du jeu.
- Niveau de passage.
- présentation
- Afficher l’écran de jeu et initialiser les variables.
- Plusieurs routines.
- bloc de données.
L’ensemble du programme occupe 82 lignes.
Ci dessous, le principe des différentes parties du programme:
- 10 – Nous définissons les matrices du jeu.
- 100 – Nous lisons le clavier: si aucune touche n’est enfoncée, elle passe à 170, mais le navire est supprimé de l’écran.
- 160 –Nous vérifions la position du navire. S’il y a autre chose que des espaces, passez à 600.
- 200 – Code déterminant quel ennemi nous devons nous déplacer: 0- Barrière énergétique, 1- Navires ennemis et 2- Fungaloids.
- 210 – Routine de mouvement de barrière d’énergie.
- 240 – Programme de déplacement d’un des trois navires.
- 270 – Programme de déplacement de l’un des six Fungaloids.
- 300 – Contrôle de notre tir.
- 400 – Commande de déclenchement fongoïde.
- 450 – Nous regardons les 3 personnages qui sont dans la position de notre vaisseau. S’ils ne correspondent pas au navire, cela signifie que nous sommes entrés en collision avec quelque chose et que nous sautons à la fin de la partie, sinon le système revient au début de la boucle.
- 600 – Fin de partie.
- 700 – Niveau de réussite.
- 800 – Divers programmes: charger des munitions (820), charger du carburant (850), montrer le score (880).
- 900 – Routine pour imprimer notre vaisseau dans la position correspondante.
- 2000 – Écran de présentation.
- 2500 – Nous dessinons l’aire de jeu.
- 2800 – Initialise les variables du jeu.
- 3000 – Nous chargeons les graphiques et initialisons certaines variables.
- 9000 – Données des positions verticales initiales des 6 fongoïdes.
Le jeu
Le jeu original a été publié en 1982 et fut programmé pour le ZX-81 étendu à 16K.
Le but du jeu est de détruire les Fungaloids avant qu’ils n’atteignent le haut de l’écran. Ces plantes poussent et produisent des spores qui nous détruisent si elles nous parviennent. Nous devons éviter d’entrer en collision avec eux ou avec les différents ennemis de la région.
Notre seul navire a une capacité limitée de carburant et de munitions et nous devons périodiquement faire le plein dans les zones correspondantes.
En détruisant tous les segments des Fungaloids, nous recevons 100 points, nous passons le niveau et la difficulté augmente.

Près de la base de certains Fungaloids, il y a des constructions. Si nous en détruisons un, nous perdons 20 points.
Le jeu se termine si nous perdons notre seule vie ou si nous perdons tous les points.
Contrôles : Q-A-O-P pour déplacer le navire et ESPACE pour tirer.
D’autres versions …



Leave a Reply