DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦38d48bd98⟧ TextFile

    Length: 6497 (0x1961)
    Types: TextFile
    Notes: R1k Text-file segment

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦46a30f415⟧ 
            └─⟦this⟧ 

TextFile

DIRECTIONS

 nord , sud , est , ouest

PIECES

Cuisine constitue de
 description : "Il fait tout noir."
 lumiere_allumee : faux
fin

Entree constitue de
 description : "Une entree vide. Il y a une porte au nord."
fin

Salon constitue de
 description : " Un salon avec une tele et une console de jeux."
fin

piece_courante vaut entree

HERO

SuperBoby constitue de
 description : "Je suis le plus beau, le plus fort et le plus intelligent."
 pt_de_vie : 200
fin

OBJETS

Cle constitue de
 description : "Une superbe cle."
 possesseur : Entree
fin

Placard constitue de
 description : "Un placard en bois ferme."
 etat : peut etre ferme ou ouvert fin
fin

Joystick constitue de
 description : "Un baton de joie."
 possesseur : Placard
fin

Interrupteur constitue de
 description : "Je pense que cela sert a allumer une lumiere."
 etat : peut etre off ou on fin
fin

Console constitue de
 description : "Mais c'est une CD32."
fin

TV constitue de
 description : "A l'ecran on peut voir une demo du dernier jeu pour CD32."
fin

LIENS

LIEN_CUISINE_ENTREE constitue de
 Etat : peut etre ferme ou ouvert ou verrouille fin
fin

ACTIONS

--aller ou va
regarder ou voir ou gueter
allumer
tourner ou appuyer
brancher ou relier
verrouiller
deverrouiller
ouvrir
fermer
prendre
poser ou deposer

SCENARIO 

CLAUSES_GENERALES

 si pt_de_vie de Hero = 0 alors
  dire "Tu es mort."
  Jeu_Termine
 fin_si

 pt_de_vie de Hero - 1

CLAUSES_LOCALES


--****************************************************************************************
dans la piece Entree

 si (aller nord) alors
  si Etat de LIEN_CUISINE_ENTREE = ouvert alors
   piece_courante = Cuisine
  fin_si 
  si Etat de LIEN_CUISINE_ENTREE = ferme alors
   dire "La porte est fermee !"
  fin_si
  si Etat de LIEN_CUISINE_ENTREE = verrouille alors
   dire "La porte est verrouillee !"
  fin_si
 fin_si

 si (deverrouiller nord) et possesseur de Cle = Hero et Etat de LIEN_CUISINE_ENTREE = verrouille alors 
   Etat de LIEN_CUISINE_ENTREE = ferme
 fin_si
  
 si (ouvrir nord) et Etat de LIEN_CUISINE_ENTREE = ouvert alors
   dire "La porte est deja ouverte."
  fin_si
 
 si (ouvrir nord) et Etat de LIEN_CUISINE_ENTREE = ferme alors
   dire "Voila! La porte est ouverte."
   Etat de LIEN_CUISINE_ENTREE = ouvert 
  fin_si 
 
 si (ouvrir nord) et Etat de LIEN_CUISINE_ENTREE = verrouille alors
   si possesseur de cle = Hero alors
    Etat de LIEN_CUISINE_ENTREE = ouverte
   fin_si
   si possesseur de cle = Entree alors
    dire "Il faudrait peut-etre une cle !"
   fin_si
 fin_si
 
 si (fermer nord) et Etat de LIEN_CUISINE_ENTREE = verrouille alors
   dire "La porte est deja verrouille."
  fin_si
 
 si (fermer nord) et Etat de LIEN_CUISINE_ENTREE = ouvert alors
   dire "Voila! La porte est fermee."
   Etat de LIEN_CUISINE_ENTREE = ferme
  fin_si 
 
 si (fermer nord) et Etat de LIEN_CUISINE_ENTREE = ferme alors
   si possesseur de cle = Hero alors
    Etat de LIEN_CUISINE_ENTREE = ferme
   fin_si
   si possesseur de cle = Entree alors
    dire "Il faudrait peut-etre une cle !"
   fin_si
 fin_si



--*****************************************************************************************

dans la piece Cuisine

 si (aller sud) alors
  si Etat de LIEN_CUISINE_ENTREE = ouvert alors
   piece_courante = Entree
  fin_si
  si Etat de LIEN_CUISINE_ENTREE = ferme alors
   dire "La porte est fermee !"
  fin_si
  si Etat de LIEN_CUISINE_ENTREE = verrouille alors
   dire"La porte est verrouillee !"
  fin_si
 fin_si

 si (aller est) alors
  piece_courante = Salon
 fin_si 

 si (allumer) alors
  dire "Il faudrait trouver un interrupteur."
 fin_si

 si (prendre interrupteur) alors
  dire "Impossible il me faudrait un tournevis."
 fin_si

 si (tourner interrupteur) alors
  si etat de interrupteur = off alors
   etat de interrupteur vaut on
   lumiere_allumee de piece_courante vaut vrai
   description de piece_courante vaut "Une cuisine tout ce qu'il y a de plus classique avec un placard."
  fin_si
  si etat de interrupteur = on alors
   etat de interrupteur vaut off
   lumiere_allumee de piece_courante vaut faux
   description de piece_courante vaut "Qui a eteint la lumiere."
  fin_si
 fin_si

 si lumiere_allumee de piece_courante = VRAI alors
  si (ouvrir Placard) alors
   si etat de Placard = ferme alors
    etat de Placard vaut ouvert
    description de Placard vaut "Le placard est ouvert."
    possesseur de Joystick vaut Cuisine
   fin_si
   si etat de Placard = ouvert alors
    dire "Le placard est deja ouvert."
   fin_si
  fin_si
  si (prendre Placard) alors
   dire "Il va falloir faire de la musculation pour pouvoir le deplacer mon petit gars."
  fin_si
  si (fermer Placard) alors
   dire "Impossible vous avez casse la porte en l'ouvrant."
  fin_si
 fin_si

--*****************************************************************************************

dans la piece Salon

 si (aller ouest) alors
  piece_courante = Cuisine
 fin_si

 si (brancher Joystick Console) et possesseur de Joystick = hero alors
   possesseur de Joystick vaut Console
   dire "Je vais enfin pouvoir jouer."
   dire "Vous avez gagne le jeu est termine."
   Jeu_Termine
 fin_si


--*****************************************************************************************
 
CLAUSES_PSEUDO_GENERALES

 si (prendre objet) et possesseur de objet = piece_courante alors
  possesseur de objet vaut hero
 fin_si

 si (poser objet) et possesseur de objet = hero alors
  possesseur de objet vaut piece_courante
 fin_si

-- Ceci implique que tous les objets que le hero peut prendre au cours du jeu
-- aient un attribut possesseur. Ceux que le hero ne peut prendre doivent
-- etre traites dans les clauses locales sinon le programme se plantera
-- lamentablement !!! Ceci est laisse a l'attention du scenariste.

 si (regarder objet) et possesseur de objet = piece_courante alors
  dire description de objet
 fin_si

 si (regarder objet) et possesseur de objet = hero alors
  dire description de objet
 fin_si

 si (regarder) alors
  dire description de piece_courante              
 fin_si                                                                                          
               
-- Ceci impose que toutes les pieces aient une declaration de type description.
-- Ceci est aussi laisse a l'attention du scenariste.
-- !! De plus il faut penser a afficher les descriptions des objets present dans
-- !! la piece.

-- aller n'est pas dans la table des verbes
-- et pouyrtant pas d'erreur

dire "Impossible de faire ce que vous demandez !!!"