|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 6861 (0x1acd) Types: TextFile Notes: R1k Text-file segment
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦a6ded31f5⟧ └─⟦this⟧
JEU Exemple_de_source ACTION Aller SYNONYME ( Courir ) Manger Boire Allumer Eteindre Prendre SYNONYME ( Prend ) Poser SYNONYME ( Deposer, Abandonner ) Fermer Ouvrir Inventaire Decrire DEFINITION STRUCTURE Perso ( CHAINE Description, ENTIER Vie ) { Definition des structures de donnees liees aux pieces } ENUMERE Lumiere ( Eteind, Allume ) ENUMERE NiveauEau ( Sec, Noye ) ENUMERE NiveauEnergie ( SansDanger, Explosif ) STRUCTURE Piece ( CHAINE Description, Lumiere Eclairage, NiveauEau Niveau, NiveauEnergie Energie ) { Definition des structures de donnees liees aux objets } ENUMERE EtatBoite ( Vide, Pleine ) ENUMERE Position ( On, Off ) STRUCTURE Boite ( CHAINE Description, EtatBoite Contenance ) STRUCTURE Levier ( CHAINE Description, Position Etat ) STRUCTURE Arme ( CHAINE Description, ENTIER Efficacite ) STRUCTURE Aliment ( CHAINE Description, ENTIER Viatamine ) STRUCTURE Cle ( CHAINE Description ) STRUCTURE Sac ( CHAINE Description, ENTIER NbObjet ) PRESENTATION { Definition des protagonistes } Joueur OBJET Perso AVEC ( "C'est moi !..." , 250 ) Troll OBJET Perso AVEC ( "Un vilain troll menacant", 300 ) { Definition des pieces } Cave OBJET Piece AVEC ( "Une cave encombree de bouteilles \ \de vin", Eteind, Sec, SansDanger ) Salle_de_Bain OBJET Piece_d_Eau AVEC ( "Bain & Lavabo", Allume, Sec, SansDanger ) Hall OBJET Piece AVEC ( "C'est l'entree", Allume, Sec, SansDanger ) Cuisine OBJET Piece AVEC ( "Ca sent les pizzas affriolantes", Allume, Sec, SansDanger) Salon OBJET Piece AVEC ( "Cool pour un petite sieste, il y a une \ \commode en plien milieu", Allume, Sec, SansDanger ) Escalier_Bas OBJET Piece AVEC ( "Des marches dangereuses", Eteind, Sec, SansDanger ) Escalier_Haut OBJET Piece AVEC ( "Ca monte", Allume, Sec, SansDanger ) { ... } Position_Joueur OBJET Piece INIT Hall Position_Troll OBJET Piece INIT Cave { Definition des objets } Sac_a_dos OBJET Sac AVEC ("Vieux et gris", 1 ) Allumettes OBJET Boite AVEC ( "Une pochette", Pleine ) Bidon_d_Essence OBJET Boite AVEC ( "Du super", Pleine ) Commode OBJET Boite AVEC ( "Louis XVI", Vide ) Cle_Verte OBJET Cle AVEC ( "La cle des champs" ) Cle_Rouge OBJET Cle AVEC ( "La cle du succes" ) Disjoncteur OBJET Levier AVEC ( "Triphase", On ) Couteau OBJET Arme AVEC ( "Couteau de cuisine", 30 ) Tronconeuse OBJET Arme AVEC ( "Massacre a la ...", 50 ) Pizza OBJET Aliment AVEC ( "Napolitaine", 9999 ) Poison OBJET Aliment AVEC ( "Pizza du R.U.", 100) {en negatif} { ... } LIAISON { Declaration des connexions entre pieces } CONNEXION ( Nord, Sud, Est, Ouest, Haut, Bas ) CREER_CONNEXION ( Cave, Esclaier_Haut, Haut, LIE ) CREER_CONNEXION ( Escalier_Haut, Cave, Bas, DELIE ) CREER_CONNEXION ( Hall, Escalier_Bas, Bas, LIE ) CREER_CONNEXION ( Escalier_Bas, Hall, Haut, DELIE ) { ... } { Declaration des liens } CREER_LIEN ( Sac_a_Dos, Joueur, LIE ) CREER_LIEN ( Couteau, Joueur, LIE ) CREER_LIEN ( Bidon_d_Essence,Cave, LIE ) CREER_LIEN ( Allumettes, Commode, DELIE ) { ... } CREER_LIEN ( Commode, Salon, DELIE ) { ... } ANIMATION_GENERALE { Clauses generales independantes } { des entrees au clavier } POUR 1 ENTREE FAIRE Joueur.Vie := -5 + Joueur.Vie - (1*12) FINPOUR POUR 25 ENTREE FAIRE SI Postion_Troll = Cave ALORS Position_Troll := Escalier_Bas SINON Position_Troll := Cave FINSI FINPOUR SI Joueur.Vie <= -2 ALORS AFFICHER ( "O rage, je suis mort" ) FIN FINSI SI Position_Joueur.Niveau = Noye ALORS AFFICHER ( "Glou, glou..." ) FIN FINSI ANIMATION_GLOBALE { Clauses globales } SI [ Aller COMP ] OU [ COMP ] ALORS SI EXISTE_CONNEXION ( Position_Joueur, COMP ) = VRAI ALORS SI ETAT_CONNEXION ( Position_Joueur, COMP ) = LIE ALORS Position_Joueur := DESTINATION_CONNEXION ( Position_Joueur, COMP ) SI Position_Joueur.Eclairage = Allume ALORS AFFICHER ( Position_Joueur.Description ) SINON AFFICHER ( "Il fait tout noir." ) FINSI SINON AFFICHER ( "Le passage est bloque." ) FINSI SINON AFFICHER ( "Il n'y pas d'issue dans cette direction" ) FINSI FINSI SI [ Decrire ] ALORS SI Position_Joueur.Eclairage = Allume ALORS AFFICHER ( Position_Joueur.Description ) SINON AFFICHER ( "Il fait tout noir." ) FINSI FINSI SI [ Decrire COMP ] ALORS SI ETAT_LIEN ( COMP, Joueur ) = LIE OU ETAT_LIEN ( COMP, Position_Joueur ) = LIE ALORS AFFICHER ( COMP.Description ) SINON AFFICHER ( "???" ) FINSI FINSI SI [ Inventaire ] ALORS AFFICHER ( "J'ai avec moi" ) LISTE_LIEN ( Joueur, LIE ) FINSI SI [ Prendre COMP ] ALORS SI ETAT_LIEN ( COMP, Position_Joueur ) = LIE ALORS ECHANGER_LIEN ( COMP, Position_Joueur, Joueur ) AFFICHER ( "ok" ) SINON SI ETAT_LIEN ( COMP, Joueur ) = LIE ALORS AFFICHER ( "Je l'ai deja !") SINON AFFICHER ( "???" ) FINSI FINSI FINSI { ... } ANIMATION_LOCALE { Clauses liees a un contexte particulier } { Clauses prioritaires par rapport aux globales } SI [ Prendre Commode ] ALORS SI Position_Joueur = Salon ET ETAT_LIEN ( Commode, Salon ) = LIE ALORS AFFICHER ( "Je pourrais la prendre, mais je ne vois pas pourquoi." ) SINON AFFICHER ( "Ou y a-t'il une commode ?" ) FINSI FINSI SI ( [ Aller Bas ] OU [ Bas ] ) ET Position_Joueur = Salle_de_Bain ALORS SI ETAT_CONNEXION ( Position_Joueur, Bas ) = LIE ALORS Position_Joueur := DESTINATION_CONNEXION ( Position_Joueur, COMP ) SI Position_Joueur.Eclairage = Allume ALORS AFFICHER ( Position_Joueur.Description ) SINON AFFICHER ( "Il fait tout noir." ) FINSI SINON AFFICHER ( "Il n'y pas d'issue dans cette direction" ) FINSI FINSI { ... } FIN