Le butin du Capitaine Verdeterre — 10 of 43

Ryan Veeder

Release 1

Part - Comment faire pour que le bateau soit toujours en train de couler

Section - déterminer si le bateau doit couler ce tour-ci

[J'ai dû essayer beaucoup de méthodes différentes pour empêcher la séquence où le bateau coule de se déclencher quand le joueur allait dans une mauvaise direction. Au final j'ai eu recours à un booléen "going nowhere" (n'aller nulle part), même si c'était vraiment inélégant.

Par contre, maintenant, je l'aime bien ! Je l'aime bien parce que, à mesure que je commençai à coder du contenu plus spécifique et à trouver des exceptions, je me suis aperçu que je pouvais désigner n'importe quelle action comme une "action gratuite" en les faisant activer le booléen "going nowhere". Ceci s'appelle la "généralisabilité" dans le monde des programmeurs cools et c'est considéré comme très désirable.]

The going nowhere boolean is a truth state variable. The going nowhere boolean is false.

Instead of going nowhere:

now the going nowhere boolean is true;

say "Vous ne pouvez pas vous déplacer dans cette direction depuis ici. [italic type]{Les directions disponibles sont affichées dans la barre de statut ci-dessus.}[roman type][paragraph break]".

Instead of going babord:

say "Bouger vers le côté gauche [if the location is in zeus]de la hune[otherwise]du pont[end if] n'a pour effet que de faire tanguer le navire d'une façon inquiétante[if the nautical vocabulary notes boolean is true][italic type]. {Note de vocabulaire nautique: 'babord' désigne le côté gauche du bateau.}[roman type][paragraph break][otherwise].[end if]";

now the going nowhere boolean is true;

Instead of going tribord:

say "Bouger vers le côté droit [if the location is in zeus]de la hune[otherwise]du pont[end if] n'a pour effet que de faire tanguer le navire d'une façon inquiétante[if the nautical vocabulary notes boolean is true][italic type]. {Note de vocabulaire nautique: 'tribord' désigne le côté droit du bateau.[roman type][paragraph break][otherwise].[end if]";

now the going nowhere boolean is true.

Every turn (this is the shipwreck deciding rule):

if the current action is looking or examining or taking inventory:

rule succeeds;

if the going nowhere boolean is true:

now the going nowhere boolean is false;

rule succeeds;

otherwise:

follow the shipwrecking rules.

Shipwrecking rules is a rulebook.