★ AMSTRAD CPC ★ GAMESLIST ★ EXOCET (c) SCIENCE ET VIE ★

Science&Vie

Nous vous proposerons ce mois-ci un jeu d'animation du type “jeu d'arcades” ; son principe repose sur la rapidité. Vous êtes aux commandes d'un navire démineur. Cependant, des Exocet viennent troubler votre tranquillité. Equipés d'une tête chercheuse et entrant les uns après les autres dans vos eaux, à savoir les bords de l'écran, ils se dirigeront inexorablement vers vous afin de couler votre bâtiment. Seule riposte possible, larguer des bouées-leurres sur leur trajectoire. Mais attention, la mise à flot des bouées demande une certaine préparation. Il est donc impossible de les lâcher en salves. A vous donc de les utiliser de façon pertinente et, surtout, de bien placer votre bateau de manière que la trajectoire de l'Exocet passe sur la bouée. Si tel est le cas, ce dernier sera détruit avant de vous avoir atteint, en cas contraire, dans la majeure partie des cas, il vous aura coulé avant que vous ayez eu le temps de larguer une deuxième bouée. But du jeu : résister le plus longtemps possible à l'attaque répétée des Exocet. A ce propos, rappelons que le nom donné à ce type de missile de combat, conçu pour se déplacer à très grande vitesse en effleurant les flots, n'est autre que celui d'une race de poissons volants.

Pour commander les déplacements de votre navire, vous devrez utiliser les quatre flèches de déplacement du curseur. Le largage des bouées sera activé dès que vous appuyerez simultanément sur l'une des touches de déplacement et sur la touche centrale marquée “COPY”. Cela dit, passons maintenant à l'écriture de notre programme.

En premier lieu, nous demanderons à l'Amstrad de fonctionner en mode 1 ; c'est-à-dire d'afficher 40 caractères, ou symboles, par ligne d'écran. Ensuite, nous redéfinirons l'ensemble des symboles graphiques nécessaires au fonctionnement du jeu. Notons ici que les bateaux comme les Exocet peuvent évoluer suivant quatre directions différentes, c'est pourquoi chaque symbole, ou groupe de symboles pour le bateau, sera défini quatre fois. Nous définirons de même un symbole pour la représentation des bouées et un pour simuler l'explosion. Afin d'accompagner cette dernière d'un effet sonore, nous devrons également définir une enveloppe sonore. Dès lors, nous pourrons commencer notre animation.

En premier lieu, nous ferons afficher à l'ordinateur une page de présentation. Afin de pouvoir inscrire le mot EXOCET sur l'écran à l'aide des bouées, nous mémoriserons la position de chacune d'entre elles à l'aide de chaînes DATA. L'animation de cette page de présentation sera, ensuite, assurée par des boucles FOR... NEXT et se terminera par la simulation de l'explosion des Exocet.

Le jeu peut alors débuter. Afin de mémoriser la position de largage de chaque bouée, nous créerons un tableau de mémorisation comportant un nombre de cases identique à celui du nombre de caractères venant à s'inscrire sur l'écran. Puis nous initialiserons les variables concernant les directions de déplacement du bateau et des Exocet. Les coordonnées de départ du bateau seront fixées de manière que ce dernier se trouve au centre de l'écran en début de jeu. De même, nous déterminerons les coordonnées de départ de l'Exocet. Ici, il démarrera toujours de l'un des bords de l'écran mais d'un point fixé de façon aléatoire. Pour vous permettre de déplacer le bateau, le programme viendra examiner la position des touches de déplacement du curseur. En fonction de leur état, enfoncées ou non, les coordonnées du navire seront modifiées. Il sera alors affiché à son nouvel emplacement. Afin que l'Exocet donne l'impression de le poursuivre, le programme fera évoluer la position de ce dernier en fonction de ses nouvelles coordonnées X et Y. Comme précédemment, une fois ce test effectué l'Exocet sera représenté. Notons que dans les deux cas l'orientation des graphiques sera cohérente avec la direction de déplacement. Nous aurons donc à chaque fois 4 lignes pour l'affichage de l'un des symboles graphiques ; chacune d'entre elles étant précédée d'un test concernant la direction de déplacement. Une dernière animation concernera l'explosion de l'Exocet. Cette explosion n'aura évidemment lieu que s'il touche le navire ou une bouée. Nous afficherons donc sur la position qu'il occupait sur l'écran le symbole correspondant à l'explosion et l'illustration sonore sera demandée. Dans le cas où une bouée est touchée nous la considérerons comme détruite ; sa position sera donc effacée du tableau de mémorisation.

Enfin une sous-routine sera utilisée pour assurer le largage des bouées. D'une part, elle assurera leur présentation sur l'écran et, d'autre part, la mémorisation de leur position dans le tableau destiné à cet effet.

La frappe de ce programme ne doit pas poser de problème particulier. Rappelons toutefois qu'il a été étudié pour fonctionner sur Amstrad 464. Bien que le basic utilisé soit relativement standard, il est possible que quelques modifications doivent lui être apportées pour l'adapter sur d'autres machines. Précisons donc que MODE indique à l'Amstrad le nombre de caractères qu'il doit afficher par ligne d'écran : 20,40 ou 80. SYMBOL permet de redéfinir les caractères graphiques. ENV détermine l'évolution de l'intensité du son dans le temps, l'enveloppe sonore. LOCATE indique l'emplacement de l'affichage d'un caractère sur l'écran en positions X,Y. INKEY (x) prend la valeur 0 lorsque la touche x est enfoncée, en cas contraire il vaut -1 ; enfin, SOUND commande le générateur de sons.

L'utilisation de ce programme est également très simple. Après l'avoir entièrement tapé et avoir demandé RUN, la page de présentation s'affiche à l'écran. Dès que celle-ci s'efface, la main est à vous. Précisons qu'il est possible d'appuyer simultanément sur plusieurs touches de manière à déplacer le navire en diagonale tout en larguant des bouées.

Toutefois, si vous demandez deux directions de déplacement opposées en même temps il est bien évident que rien ne se passera. Dès que l'Exocet aura été détruit par une bouée, un nouveau surgira de l'un des bords de l'écran. S'il parvient à vous couler, le programme reviendra à la page de présentation. Nous n'avons pas jugé utile de munir ce programme d'un compteur de score. Cependant, si tel est votre souhait il vous sera facile d'en adapter un en vous inspirant de ceux présentés dans de nombreux programmes que nous avons déjà publiés.

Henri-Pierre PENEL , Science&Vie n°877

EXOCET
(c) SCIENCE ET VIE

AUTEUR: Henri-Pierre PENEL

★ ANNÉE: 1990
★ LANGAGE:
★ GENRE: BASIC , ARCADE

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» Exocet    (Science  et  Vie)    FRENCHDATE: 2016-06-27
DL: 36 fois
TYPE: ZIP
SIZE: 21Ko
NOTE: Uploaded by hERMOL ; 40 Cyls
.HFE: OUI

» Exocet    (Science  et  Vie)    LISTING    FRENCHDATE: 2016-06-23
DL: 33 fois
TYPE: PDF
SIZE: 581Ko
NOTE: Uploaded by hERMOL ; 2 pages/PDFlib v1.6

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

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 869 millisecondes et consultée 577 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.