★ AMSTRAD CPC ★ GAMESLIST ★ EVASION (c) JEUX ET STRATEGIE ★

Jeux & Stratégie
Ce jeu d'aventure à “cases” et à “options” (voir La micro joue la BD, J&S n°47) a été conçu non seulement pour vous permettre de vivre une aventure, mais aussi pour que vous puissiez y apporter aisément les modifications de votre choix. Son thème est celui de l'évasion!

matériel: un micro disposant d'au moins 14 K de mémoire vive et notre listing, scénario: vous venez de vous évader de la prison centrale de la ville frontière syldave. Votre objectif est de quitter la ville pour rejoindre vos amis qui vous attendent au-delà des frontières maritimes ou terrestres. A vous de vous débrouiller, sachant qu'au départ vous avez 150 F (des flôrinwcz, bien sûr), 15 points de vie (notés PV) et 15 points de force (notés PF). Quand vos points de force tombent à zéro, vous perdez un point de vie, et quand vos points de vie tombent à zéro, vous êtes mort. La ville (100 cases) est composée de rues et de lieux remarquables (commerces, métro, parc, etc).

Dans la rue, il se peut que vous rencontriez un passant ou un milicien ou...personne! Face à un milicien, vous pourrez fuir, combattre ou...mendier. Face à un passant, vous pourrez mendier ou jouer à la Morra. Dans le parc, à la mairie, à la poste, sur les quais, dans les docks et tous les autres lieux spécifiques, vous pourrez acheter des objets : passeport, clef, barque, ticket, mât, gouvernail, voile, boussole, carte, etc. Tous ces objets ne sont pas indispensables, certains sont même gênants. Des postes frontières cernent toute la ville et vous ne pourrez la quitter que par la gare de chemin de fer ou la mer. Un métro vous permet de traverser rapidement la ville. La zone portuaire est située à l'est de la ville.

le jeu: il suffit d'opérer les choix qui vous seront proposés à l'écran. Pour se déplacer, il suffit d'appuyer sur les touches N, S, E et O, en mode déplacement. Et pour agir, d'appuyer sur les touches chiffres indiquées,

la programmation du jeu d'aventure: il a spécialement été conçu pour vous permettre de l'agrémenter indéfiniment de vos propres créations. Il est composé de deux grandes parties : le chargement des données et l'action. La partie de chargement des données n'est lue qu'une seule fois au cours de toute la partie. En parcourant ce listing, vous constaterez que certaines zones sont marquées d'aplats de couleur. Il s'agit de programmes de jeux qui peuvent être pratiqués indépendamment du jeu d'aventure lui-même.

Vous pourrez notamment pratiquer la Morra, un jeu qui consiste pour chacun des adversaires à présenter 1 à 5 doigts tout en annonçant la somme présumée des doigts avancés par les deux joueurs. Les Egyptiens et les Romains pratiquaient couramment ce jeu simple. Un autre jeu consiste à scier les barreaux d'une prison en évitant les rondes de gardiens. Celles-ci n'apparaissent pas au hasard, mais en fonction de calculs précis.

Entrons maintenant dans les secrets de la programmation !

Le dimensionnement est l'opération qui consiste à réserver en mémoire vive un espace suffisant pour toutes les variables dites “dimensionnées”, c'est-à-dire qui sont suivies d'une parenthèse contenant elle-même une variable, parfois deux. L'instruction en Basic est DIM, suivie des variables, séparées par des virgules.

Par exemple DIM D$(18) réserve 19 cases mémoires (de 0 à 18!) à la variable “D$” (lire “D dol de”).

Le premier problème à résoudre est de créer un terrain. C'est-à-dire qu'en un endroit donné, le joueur retrouve la même description. La solution pour laquelle nous avons opté demande deux temps : le chargement de noms de lieux et le chargement de données numériques correspondant à ces lieux. Le moment venu, il sera possible de faire le lien entre ces deux types de données.

Commençons par les noms de lieux. La ligne 170 est une boucle chargée d'associer les phrases en DATA (dans l'ordre où elles se présentent) à une variable alphanumérique, en l'occurrence D$(1). Ainsi, D$(0) sera “dans la rue”, D$(1),
“à la gare”, D$(2), “dans le métro”, etc. Il vous suffit de changer les contenus entre guillemets dans les DATA pour voir apparaître les noms de lieux que vous aurez vous-même choisis. Pour l'instant, nous n'avons qu'une collection de phrases.

Voyons le terrain. Il est composé de cases (10 x 10) portant chacune une valeur arbitrairement choisie (entre 0 et 14). Chaque case est repérable par ses coordonnées en X et Y. D(X,Y) est la valeur numérique d'une case de coordonnées X et Y. Par exemple, D(6,4)=5. Ou encore, D(8,2)=3. Il suffit de regarder le “damier” dans le listing (les lignes 180 à 280), en considérant X comme valeur horizontale et Y comme valeur verticale. Ici encore, vous pouvez modifier les valeurs des cases comme bon vous semble. Le moment de faire le lien entre les phrases et le terrain est venu ! Que répondra le programme si on lui dit PRINT D$(D(6,4)) ? Hmm? (Lire “D dol de D de 6, 4”).

On sait que D(6,4)=5. C'est donc comme si on lui demandait PRINT D$(5). Comme D$(5) à été précédemment pris comme valeur “à la mairie”, le programme répondra, discipliné comme il est, “à la mairie”.

Procédons de la même manière avec les objets. La boucle de la ligne 360 charge les DATA dans deux variables OB$(1) et PX(I1). L'une charge des lettres, l'autre des chiffres. Il s'agit du nom des objets et de leurs prix respectifs. C'est simple. OB$(1) sera la “barque”, elle coûtera PX(1), soit 400 (ligne 320).

Passons à plus complexe !

Premièrement, le choix a été fait d'attribuer à chaque case du damier, un nombre précis d'objets. La ligne 410 remplit cette fonction de chargement : les cases 0 possédront 3 objets, la case 1, 2 objets, la case 2, 4 objets, etc. D suffit de lire les DATA de la ligne 400. Chacune de ces valeurs est rangée dans la variable N(L), comme Nombre d'objets dans la ou les cases de valeur L. Deuxièmement, il faut déterminer quels sont les objets résidant dans les différentes cases. Là, il est nécessaire d'employer une double boucle. Une première FOR L = 0 TO 14 (les quinze types de cases), à l'intérieur de laquelle tourne une boucle FOR NO=1 TO N(L). Le programme commence par la case L=0, se rappelle que N(0)=3 et fait donc tourner trois fois la boucle FOR N0=1 TO N(L), en chargeant à chaque tour le numéro de l'objet qu'il lit dans les DATA de la ligne 430. Ce chargement a lieu dans la variable OB(L,NO). Par exemple OB(0,1)=12, OB(0,2)=3, OB(0,3)=4, etc. Il suffit de lire les données de la ligne 430. Mais dire vous avez trouvé l'objet 4 n'est pas très parlant. Il faut que le programme exprime le mot en clair. Que répondra le programme si on lui demande PRINT OB$(OB(0,3)) ? On sait que OB(0,3)=4. Or OB$(4) égale “ticket”. Donc, il répondra ce mot à chaque demande. Cette fois encore, vous pouvez modifier le nombre et la nature des objets contenus dans les différentes cases.

Ensuite, vous entrez dans la phase active du jeu, c'est-à-dire celle de l'affichage et des choix; un ensemble de PRINT, d'INPUT et de GOTO assez transparents pour ne pas être davantage développés.

Arrivé en ligne 470, nous vous conseillons de lancer le programme pour constater qu'il charge correctement toutes les données. Il suffit de taper deux virgules à la suite ou d'omettre une donnée pour que votre programme se plante. Cette phase de débuggage est indispensable. Vous savez maintenant “paramétrer” cette structure de jeu d'aventure et donc le renouveler à l'infini. Si vous voulez vous faire des surprises, remplacez les données par des tirages aléatoires (en respectant les bornes numériques du programme), ainsi vous ne saurez jamais où se trouvent les cases spécifiques, ni combien et quels objets elles contiennent ! Chaque aventure sera l'occasion de le découvrir. Mais vous pouvez faire plus encore. Regardez le contenu du listing placé sous le titre “dans le parc”, ligne 1 730. Le seul commentaire du programme est “des gens flânent...”. On ne peut plus simple. Il s'agissait simplement d'inclure une phrase de commentaire. A cet endroit, vous pouvez introduire tout ce que votre niveau en Basic vous permet de faire : une image, un texte plus long, un jeu entier, à l'image de celui que nous avons installé en fin de listing, la Morra.

LISTE DES VARIABLES

- boucles : I,L,NO,H,G,T,J
— tirages : P, Z
— phrases : TD$, BR$
— saisies : A$, M$, TL, OK AR, argent du joueur
AU, aumône
AX,AY, position de l'embarcation des sauveteurs
BA, épaisseur des barreaux restant à scier
D(X,Y), nature de la case, en ville
DJ, nombre de doigts cachés par le joueur, à la Morra
DM, nombre de doigts cachés par le micro, à la Morra
DN, position Nord en mer
DO, position Ouest en mer
D$(i), désignation du lieu i
DX,DY, position à l'écran du bateau de secours
N(L), nombre d'objets dans le lieu L
NM, nombre avancé par le micro, à la Morra
NT, nombre avancé par le joueur, à la Morra
OB(L,N), nature de l'objet numéro N dans la case L
OB$(i), désignation de l'objet i PF, points de force (0 à 10)
PS(i), possession de l'objet i (oui=1, non=0)
PV, points de vie (0 â 15)
PX(i), prix de l'objet i
Q, désigne la rencontre (passant=1, milicien =2)
R, résultat final d'un tirage de pourcentage (1 ou 0)
R1,R2,R3, paramètres du passage des rondes de la prison
RC$(i), désignation de la rencontre dans la rue
SE, seuil du tirage de pourcentage
SF, variable test (1 ou O)
T, nombre de fois qu'un milicien est blessé
TB, test de passage des rondes
TT, total des doigts montrés par les joueurs, à la Morra
X,Y, position en ville (X et Y, de 1 à 10)
XP,YP, position de la barque du joueur

Jeux et Strategie n°48

EVASION
(c) JEUX ET STRATEGIE

Auteurs: Francis Piault , Jean-Marc Dessal

★ ANNÉE: 1988
★ LANGAGE:
★ GENRE: INGAME MODE 1 , AVENTURE TEXT , BASIC
★ LiCENCE: LISTING

 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Evasion    (Jeux  et  Strategie)    FRENCH    LISTINGDATE: 2022-01-09
DL: 103
TYPE: PDF
SiZE: 1283Ko
NOTE: 2 pages/PDFlib v1.6

Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

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