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

⟦6d104cbed⟧ Ada Source

    Length: 10240 (0x2800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Initialisation, seg_048623

Derivation

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

E3 Source Code



with Verbs, Complements;
with Personnages, Items, Rooms, Counters;
with Tests;

procedure Initialisation is
    Un_Test : Tests.Type_Test;
    Un_Effet : Tests.Type_Effect;
begin
    Complements.Create ("cuisine", Complements.Room);
    Complements.Create ("salon", Complements.Room);
    Complements.Create ("cave", Complements.Room);  
    Complements.Create ("chambre", Complements.Room);
    Complements.Create ("porte_vitree", Complements.Way);
    Complements.Create ("echelle", Complements.Way);
    Complements.Create ("escalier", Complements.Way);  
    Complements.Create ("Louis_XVI", Complements.Personnage);
    Complements.Create ("Marie_Antoinette", Complements.Personnage);
    Complements.Create ("fou", Complements.Personnage);
    Complements.Create ("table", Complements.Item);
    Complements.Create ("lit", Complements.Item);
    Complements.Create ("pomme", Complements.Item);
    Complements.Create ("eau", Complements.Item);
    Verbs.Create ("manger");
    Verbs.Create ("vomir");
    Verbs.Create ("boire");
    Verbs.Create ("embrasser");

    Counters.Create ("duree", 10);

    Personnages.Create ("Louis_XVI");
    Personnages.Set_Comment ("Louis_XVI", "le roi soleil");
    Personnages.Add_State ("Louis_XVI", "heros");

    Personnages.Create ("fou");
    Personnages.Set_Comment ("fou", "la distraction du roi ...");
    Personnages.Set_Position ("fou", "salon");
    Personnages.Add_State ("fou", "en_pleine_forme");

    Personnages.Create ("Marie_Antoinette");
    Personnages.Set_Comment ("Marie_Antoinette", "la reine");
    Personnages.Set_Position ("Marie_Antoinette", "chambre");
    Personnages.Add_State ("Marie_Antoinette", "endormie");

    Items.Create ("table");
    Items.Set_Comment ("table", "pour manger");
    Items.Set_Position ("table", "cuisine");
    Items.Add_State ("table", "en_chene");

    Items.Create ("lit");
    Items.Set_Comment ("lit", "pour dormir ou ...");
    Items.Set_Position ("lit", "chambre");
    Items.Add_State ("lit", "mou");
    Items.Add_State ("lit", "a_deux_places");

    Items.Create ("pomme");
    Items.Set_Comment ("pomme", "peche mortel");
    Items.Set_Position ("pomme", "cuisine");
    Items.Add_State ("pomme", "bleue");

    Items.Create ("eau");
    Items.Set_Comment ("eau", "c'est de la Vittel");
    Items.Set_Position ("eau", "cuisine");
    Items.Add_State ("eau", "plein");

    Rooms.Create ("cuisine");
    Rooms.Set_Comment ("cuisine", "piece pour faire a manger");
    Rooms.Add_State ("cuisine", "Enfume");

    Rooms.Add_Communication ("cuisine", "porte_vitree", "salon");
    Rooms.Set_Communication_Mode ("cuisine", "porte_vitree", Rooms.Unlock);
    Rooms.Set_Communication_Visibility
       ("cuisine", "porte_vitree", Rooms.Visible);
    Rooms.Add_Communication ("cuisine", "escalier", "cave");
    Rooms.Set_Communication_Mode ("cuisine", "escalier", Rooms.Unlock);
    Rooms.Set_Communication_Visibility ("cuisine", "escalier", Rooms.Visible);

    Rooms.Create ("salon");
    Rooms.Add_Communication ("salon", "porte_vitree", "cuisine");
    Rooms.Set_Communication_Mode ("salon", "porte_vitree", Rooms.Unlock);
    Rooms.Set_Communication_Visibility ("salon", "porte_vitree", Rooms.Visible);
    Rooms.Add_Communication ("salon", "echelle", "cave");
    Rooms.Set_Communication_Mode ("salon", "echelle", Rooms.Unlock);
    Rooms.Set_Communication_Visibility ("salon", "echelle", Rooms.Unvisible);
    Rooms.Add_Communication ("salon", "escalier", "chambre");
    Rooms.Set_Communication_Mode ("salon", "escalier", Rooms.Unlock);
    Rooms.Set_Communication_Visibility ("salon", "escalier", Rooms.Visible);

    Rooms.Create ("cave");
    Rooms.Add_Communication ("cave", "escalier", "cuisine");
    Rooms.Set_Communication_Mode ("cave", "escalier", Rooms.Lock);
    Rooms.Set_Communication_Visibility ("cave", "escalier", Rooms.Visible);
    Rooms.Add_Communication ("cave", "echelle", "salon");
    Rooms.Set_Communication_Mode ("cave", "echelle", Rooms.Unlock);
    Rooms.Set_Communication_Visibility ("cave", "echelle", Rooms.Visible);

    Rooms.Create ("chambre");
    Rooms.Add_Communication ("chambre", "escalier", "salon");
    Rooms.Set_Communication_Mode ("chambre", "escalier", Rooms.Unlock);
    Rooms.Set_Communication_Visibility ("chambre", "escalier", Rooms.Visible);

    Tests.Create;
    Un_Test.Kind := Tests.Is_A_Verb;
    Un_Test.Name := Tests.Identifier.Value ("manger");
    Tests.Add_Test (Un_Test);
    Un_Test.Kind := Tests.Is_A_Complement;
    Un_Test.Name := Tests.Identifier.Value ("pomme");
    Tests.Add_Test (Un_Test);  
    Un_Test.Kind := Tests.Is_In_State;
    Un_Test.Name := Tests.Identifier.Value ("pomme");
    Un_Test.State := Tests.Identifier.Value ("bleue");
    Tests.Add_Test (Un_Test);
    Un_Effet.Kind := Tests.Decrease;
    Un_Effet.Name := Tests.Identifier.Value ("duree");
    Un_Effet.Value := 2;
    Tests.Add_Effect (Un_Effet);

    Tests.Create;
    Un_Test.Kind := Tests.Is_In_Position;
    Un_Test.Name := Tests.Identifier.Value ("Louis_XVI");
    Un_Test.State := Tests.Identifier.Value ("cave");
    Tests.Add_Test (Un_Test);
    Un_Effet.Kind := Tests.Print;
    Un_Effet.Name := Tests.Identifier.Value
                        ("Vous est dans une piece tres froide ...");
    Tests.Add_Effect (Un_Effet);

    Tests.Create;
    Un_Test.Kind := Tests.Is_A_Verb;
    Un_Test.Name := Tests.Identifier.Value ("vomir");
    Tests.Add_Test (Un_Test);
    Un_Effet.Kind := Tests.Increase;
    Un_Effet.Name := Tests.Identifier.Value ("duree");
    Un_Effet.Value := 1;
    Tests.Add_Effect (Un_Effet);

    Tests.Create;
    Un_Test.Kind := Tests.Is_Equal;
    Un_Test.Name := Tests.Identifier.Value ("duree");
    Un_Test.Value := 0;
    Tests.Add_Test (Un_Test);
    Un_Effet.Kind := Tests.Print;
    Un_Effet.Name := Tests.Identifier.Value
                        ("Vous avez perdu, la pomme etait empoisonnee");
    Tests.Add_Effect (Un_Effet);
    Un_Effet.Kind := Tests.Game_Over;  
    Tests.Add_Effect (Un_Effet);

    Tests.Create;
    Un_Test.Kind := Tests.Is_A_Verb;
    Un_Test.Name := Tests.Identifier.Value ("boire");
    Tests.Add_Test (Un_Test);
    Un_Test.Kind := Tests.Is_A_Complement;
    Un_Test.Name := Tests.Identifier.Value ("eau");
    Tests.Add_Test (Un_Test);
    Un_Effet.Kind := Tests.Value;
    Un_Effet.Name := Tests.Identifier.Value ("duree");
    Un_Effet.Value := 10;
    Tests.Add_Effect (Un_Effet);
    Un_Effet.Kind := Tests.Print;
    Un_Effet.Name := Tests.Identifier.Value ("Vous avez bu tout le verre");
    Tests.Add_Effect (Un_Effet);
    Un_Effet.Kind := Tests.Comment;
    Un_Effet.Name := Tests.Identifier.Value ("eau");
    Un_Effet.State := Tests.Identifier.Value ("vide");
    Tests.Add_Effect (Un_Effet);

    Tests.Create;
    Un_Test.Kind := Tests.Is_A_Verb;
    Un_Test.Name := Tests.Identifier.Value ("embrasser");
    Tests.Add_Test (Un_Test);  
    Un_Test.Kind := Tests.Is_A_Complement;
    Un_Test.Name := Tests.Identifier.Value ("Marie_Antoinette");
    Tests.Add_Test (Un_Test);  
    Un_Effet.Kind := Tests.Change;  
    Un_Effet.Name := Tests.Identifier.Value ("Marie_Antoinette");
    Un_Effet.State := Tests.Identifier.Value ("endormie");
    Un_Effet.Other_State := Tests.Identifier.Value ("reveillee");
    Tests.Add_Effect (Un_Effet);


    Rooms.Set_Current_Room ("cuisine");  
    Personnages.Set_Position ("Louis_XVI", Rooms.Get_Current_Room);

end Initialisation;


E3 Meta Data

    nblk1=9
    nid=0
    hdr6=12
        [0x00] rec0=18 rec1=00 rec2=01 rec3=028
        [0x01] rec0=1c rec1=00 rec2=05 rec3=008
        [0x02] rec0=17 rec1=00 rec2=09 rec3=048
        [0x03] rec0=11 rec1=00 rec2=07 rec3=060
        [0x04] rec0=16 rec1=00 rec2=04 rec3=01e
        [0x05] rec0=1c rec1=00 rec2=02 rec3=036
        [0x06] rec0=0b rec1=00 rec2=08 rec3=016
        [0x07] rec0=17 rec1=00 rec2=06 rec3=082
        [0x08] rec0=0b rec1=00 rec2=03 rec3=000
    tail 0x215459aa6865977939273 0x42a00088462060003