Après avoir étudié en détail le fonctionnement de l'analyseur de syntaxe dans notre dernier numéro, nous sommes parés aujourd'hui pour l'étude du traitement des actions, verbe par verbe.Nous allons commencer par renseigner dès à présent les lignes de remarque initialement prévues, mais que nous avions supprimées pour ne pas trop vous aider dans la résolution de l'aventure. On se référera pour cela au tableau n° 1. Une fois cette opération effectuée, l'architecture du programme devient déjà plus claire, non ? Pour l'instant, ne renumérotez pas les lignes du programme, car vous ne pourriez plus suivre les explications des différentes actions à cause du décalage que provoquerait cette opéra tion. Ouvrons ici une parenthèse pour expli quer le rôle de quelques variables que nous allons rencontrer au cours de notre analyse. Elles figurent au tableau n° 2 et représentent des drapeaux (flags en anglais). Leur contenu est égal à 1 lorsque la condition est remplie et à 0 lorsqu'elle ne l'est pas. Par exemple, on dira que F3, comme tous les autres dra peaux d'ailleurs, vaut 0 en début de par tie. Par contre, dès que vous aurez assommé la sentinelle, F3 sera égal à 1. Nous verrons en temps utile quand sont utilisés ces drapeaux, mais pour le moment, l'heure est venue de passer nos verbes en revue. ALLER Le traitement de ce verbe est extrêmement facile, c'est pourquoi nous le voyons en premier. Ceci présente l'avantage de pouvoir se promener très facilement dans le labyrinthe et de vérifier s'il n'y a pas d'erreur dans la liste des objets visibles à chaque emplacement. En ligne 380, nous testons si le complément est bien Nord, Sud, Est ou Ouest. Si vous demandez d'aller ailleurs (Aller saucisson, par exemple), vous aurez droit aux sévères remontrances de votre ordinateur, que l'on trouve aux lignes 2620 de chaque verbe, une ligne testant si l'action est possible avec le complément que vous avez donné. Viennent ensuite les lignes 390 à 420 qui testent si la direction demandée est accessible (voir plan du château) et commandent le déplacement en conséquence : E = E + 1 pour l'Est et E = E- 1 pour l'Ouest. Si le déplacement est possible, vous aurez le droit à l'un des messages situés entre 2700 et 2780 ; sinon on va en 2800 chercher le message "Vous ne pouvez pas aller par là !". PRENDRE Signalons, avant de poursuivre, que l'ordre des verbes dans le programme n'a aucune importance. En général, on les implante au fur et à mesure des besoins et en fonction du scénario. Prendre est un verbe qui sert très souvent au cours d'un jeu d'aventure, mais son traitement est très simple. En ligne 440, on teste si le nombre d'objets transportés est égal à 4. Si c'est le cas, vous ne pouvez pas en prendre d'autre et un message situé en 2870 vous l'indiquera. Vient ensuite la ligne 450 qui teste si les compléments au verbe '"prendre" sont plausibles. La ligne 470 vous envoie vers une routine très importante située en 2430 qui vérifie si l'objet que vous souhaitez prendre se trouve bien à l'endroit où vous vous trouvez. Si ce n'est pas le cas, on va en 2840 chercher un message du genre "Je ne vois pas de camion ici". Notez la présence de deux messages quasiment identiques, mais l'un correspond aux noms d'objets commençant par une consonne (2850) et l'autre aux noms commençant par une voyelle (2840). En ligne 480, on teste si l'on se trouve sur le chemin de ronde (E = 2), si l'on peut prendre les clés sans avoir assommé la sentinelle (F3 = 0). Si c'est le cas, la sentinelle se réveille et vous tue, ce qui est dommage ! En 490, on teste si on prend la corde, ce qui a pour effet de faire sonner la cloche et d'interrompre à nouveau l'aventure, ce qui est tout aussi dommage que tout à l'heure. Enfin, on ne vous y reprendra plus ! Finalement, en 500, rien ne s'est opposé à la prise de l'objet choisi. On modifie sa position dans le tableau EO(n) en lui attribuant le coefficient 99 qui signifie que l'objet est transporté. On en profite pour incrémen-ter NT qui est le compteur d'objets transportés et on revient à la maison après être passé en 2710 chercher un petit message d'accord. OUVRIR Le traitement de ce verbe est légèrement plus complexe. 530 — On s'assure que vous ne voulez pas ouvrir des trucs impossibles. 540 — Si on ouvre un tiroir dans la salle de torture, un poignard devient visible. 570 — Si on ouvre l'armoire dans le bureau du géolier, le message devient visible. 580 — Si on ouvre le camion sur le par king, la pince coupante devient visible. 590 — Si on ouvre la malle dans le garage, le plan du château devient visible. 600 à 660 — On est devant le Komman datur. On ne peut ouvrir la porte que si l'on possède le trousseau de clés. Dans ce cas, l'ordinateur vous demande avec quoi vous voulez ouvrir la porte. La ligne 630 autorise les mots CLES ou TROUSSEAU DE CLES. Si les conditions sont remplies, vous ne voyez plus "une porte", mais "une porte ouverte". On peut donc modifier le contenu d'une variable en cours d'aventure et nous aurons l'occasion de retrouver des exemples semblables. De plus, vous avez maintenant accès vers le Sud (640). 670 à 710 — Vous êtes dans le bureau du commandant et vous voulez ouvrir le coffre. On vous demande d'entrer la combinaison et si vous ne l'avez pas, vous êtes capturé. Si tout est en ordre, le passe-partout devient visible (690). 720 à 770 — Vous êtes devant la grille et vous voulez l'ouvrir pour quitter la forteresse. Ce ne sera possible que si le garde est tué (F7 = 1 ) et si vous transportez le passe-partout. Le mois prochain, nous étudierons d'autres verbes, mais dès à présent, vous en savez presque assez pour écrire votre propre jeu d'aventure. A bientôt. | TABLEAU 1 | | 375 | REM ALLER | | 435 | REM PPENDRE | | 525 | REM OUVRIR | | 775 | REM REMPLIR | | 815 | REM TUER | | 885 | REM LIRE | | 965 | REM ASSOMMER | | 1055 | REM - DONNER | | 1085 | REM - DEMANDER | | 1125 | REM - COUPER | | 1165 | REM - INVENTAIRE | | 1215 | REM - ALLUMER | | 1305 | REM - ETEINDRE | | 1365 | REM POSER. JETER | | 1415 | REM MANGER | | 1475 | REM BOIRE | | 1575 | REM CASSER | | 1615 | REM TOURNER |
| TABLEAU 2 | | F0 | Vous avez le code secret | | F1 | Le prisonnier a bu de l'eau | | F2 | Le bidon est plein d'eau | | F3 | La sentinelle est assommée | | F4 | Il est possible de couper la chaîne | | F5 | La chaîne est coupée | | F6 | La lampe est allumée |
CPC
|