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

⟦62419648e⟧ Ada Source

    Length: 10240 (0x2800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Moteur, seg_048168

Derivation

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

E3 Source Code



with Text_Io, Erreur;
with Verbs_Dictionary, Comps_Dictionary;
with Models, Symbols;
with Set_Of_Links, Set_Of_Connections;
with Player_Entries, Interprete;
with Liste_D_Instructions;

use Text_Io;

package body Moteur is


    procedure Execute_The_Game
                 (Dict : in out Verbs_Dictionary.Object;
                  Comp : in out Comps_Dictionary.Object;
                  Models_Table : in out Models.Object;
                  Symbols_Table : in out Symbols.Object;
                  Links : in out Set_Of_Links.Object;
                  Connect : in out Set_Of_Connections.Object;
                  Liste_Introduction : in out Liste_D_Instructions.Object;
                  Liste_Generale : in out Liste_D_Instructions.Object;
                  Liste_Globale : in out Liste_D_Instructions.Object;
                  Liste_Locale : in out Liste_D_Instructions.Object) is


        End_Of_The_Game : Boolean := False;
        Player_Command : Player_Entries.Token;
        Jeu_Termine : Boolean := False;
        Instruct_Executee : Boolean := False;
        Mode_Trace : Boolean := False;
    begin

        Liste_D_Instructions.Executer (Liste_Introduction, Models_Table,
                                       Symbols_Table, Connect, Links, Comp,
                                       Jeu_Termine, False, Instruct_Executee);

        while not End_Of_The_Game and not Jeu_Termine loop

            Player_Command := Interprete.Get_Player (Comp, Dict);

            case Player_Command is
                when Player_Entries.Fin =>
                    End_Of_The_Game := True;

                when Player_Entries.Verbe =>
                    Text_Io.Put_Line
                       ("-- Liste des Verbes -------------------------------------------------");
                    Verbs_Dictionary.Dump (Dict);
                when Player_Entries.Complement =>
                    Text_Io.Put_Line
                       ("-- Liste des Complements --------------------------------------------");
                    Comps_Dictionary.Dump (Comp);
                when Player_Entries.Modele =>
                    Text_Io.Put_Line
                       ("-- Liste des Modeles :Definition des types ---------------------------");
                    Models.Dump_Models (Models_Table);
                when Player_Entries.Symbole =>
                    Text_Io.Put_Line
                       ("-- Table des Symboles -----------------------------------------------");
                    Symbols.Dump_Symbols (Symbols_Table);
                when Player_Entries.Connexion =>  
                    Text_Io.Put_Line
                       ("-- Liste des Connexions  --------------------------------------------");
                    Set_Of_Connections.Dump (Connect);
                when Player_Entries.Lien =>
                    Text_Io.Put_Line
                       ("-- Liste des Liens --------------------------------------------------");
                    Set_Of_Links.Dump (Links);
                when Player_Entries.Introduction =>
                    Text_Io.Put_Line
                       ("-- Instructions d' Introduction -------------------------------------");
                    Liste_D_Instructions.Afficher (Liste_Introduction);
                when Player_Entries.General =>
                    Text_Io.Put_Line
                       ("-- Instructions Generales -------------------------------------------");
                    Liste_D_Instructions.Afficher (Liste_Generale);
                when Player_Entries.Global =>
                    Text_Io.Put_Line
                       ("-- Instructions Globales --------------------------------------------");
                    Liste_D_Instructions.Afficher (Liste_Globale);
                when Player_Entries.Local =>
                    Text_Io.Put_Line
                       ("-- Instructions Locales ---------------------------------------------");
                when Player_Entries.Trace =>
                    if Mode_Trace then
                        Text_Io.Put_Line ("-- Mode Trace: INACTIF");
                    else
                        Text_Io.Put_Line ("-- Mode Trace: ACTIF");
                    end if;
                    Mode_Trace := not Mode_Trace;

                when Player_Entries.Id =>

                    Instruct_Executee := False;
                    Liste_D_Instructions.Executer
                       (Liste_Generale, Models_Table, Symbols_Table,
                        Connect, Links, Comp, Jeu_Termine,
                        Mode_Trace, Instruct_Executee);
                    if not Jeu_Termine then
                        Instruct_Executee := False;
                        Liste_D_Instructions.Executer
                           (Liste_Locale, Models_Table, Symbols_Table,
                            Connect, Links, Comp, Jeu_Termine,
                            Mode_Trace, Instruct_Executee);
                        if not Instruct_Executee and not Jeu_Termine then
                            Liste_D_Instructions.Executer
                               (Liste_Globale, Models_Table, Symbols_Table,
                                Connect, Links, Comp, Jeu_Termine,
                                Mode_Trace, Instruct_Executee);
                        end if;  
                    end if;
                when Aide =>
                    Write_Help;
                when others =>
                    Text_Io.Put_Line
                       ("-- Option non implementee --------------------------------------------------");

            end case;
        end loop;
    end Execute_The_Game;

    procedure Write_Help is
    begin
        Text_Io.Put_Line
           ("<<<<<<<<<<<   BIENVENUE DANS NOTRE MONDE  >>>>>>>>>>>>>>>>>");
        Text_Io.Put_Line
           ("<<                                                       >>");
        Text_Io.Put_Line
           ("<<            - Clade - Ehrhard - Kocher -               >>");
        Text_Io.Put_Line
           ("<<                                                       >>");
        Text_Io.Put_Line
           ("<<                                                       >>");
        Text_Io.Put_Line
           ("<<        a) JEU                                         >>");
        Text_Io.Put_Line
           ("<<                                                       >>");
        Text_Io.Put_Line
           ("<<  Pour jouer  TAPEZ VOS COMMANDES                      >>");
        Text_Io.Put_Line
           ("<<  Quitter avant la fin           TAPEZ   :fin          >>");
        Text_Io.Put_Line
           ("<<  Pour l'aide                    TAPEZ   :aide         >>");
        Text_Io.Put_Line
           ("<<                                                       >>");
        Text_Io.Put_Line
           ("<<                                                       >>");
        Text_Io.Put_Line
           ("<<        b) MISE AU POINT DU JEU                        >>");
        Text_Io.Put_Line
           ("<<                                                       >>");
        Text_Io.Put_Line
           ("<<  Afficher les types de donnees   TAPEZ  :modele       >>");
        Text_Io.Put_Line
           ("<<  Afficher les variables          TAPEZ  :symbole      >>");
        Text_Io.Put_Line
           ("<<  Afficher les actions            TAPEZ  :verbe        >>");
        Text_Io.Put_Line
           ("<<  Afficher les complements        TAPEZ  :complement   >>");
        Text_Io.Put_Line
           ("<<  Afficher les connections        TAPEZ  :connexion    >>");
        Text_Io.Put_Line
           ("<<  Afficher les liens              TAPEZ  :lien         >>");
        Text_Io.Put_Line
           ("<<  Liste instructions introduction TAPEZ  :introduction >>");
        Text_Io.Put_Line
           ("<<  Liste instructions generales    TAPEZ  :general      >>");
        Text_Io.Put_Line
           ("<<  Liste instructions globales     TAPEZ  :global       >>");
        Text_Io.Put_Line
           ("<<  Liste instructions locales      TAPEZ  :locale       >>");
        Text_Io.Put_Line
           ("<<  Execution en mode trace         TAPEZ  :trace        >>");
        Text_Io.Put_Line
           ("<<                                                       >>");
        Text_Io.Put_Line
           ("<<<<<<<<<<<<<<<<   BONNE CHANCE !!! >>>>>>>>>>>>>>>>>>>>>>>");
    end Write_Help;

end Moteur;

E3 Meta Data

    nblk1=9
    nid=0
    hdr6=12
        [0x00] rec0=1c rec1=00 rec2=01 rec3=03e
        [0x01] rec0=18 rec1=00 rec2=02 rec3=028
        [0x02] rec0=10 rec1=00 rec2=03 rec3=074
        [0x03] rec0=10 rec1=00 rec2=04 rec3=076
        [0x04] rec0=15 rec1=00 rec2=05 rec3=006
        [0x05] rec0=17 rec1=00 rec2=06 rec3=05e
        [0x06] rec0=14 rec1=00 rec2=07 rec3=01c
        [0x07] rec0=13 rec1=00 rec2=08 rec3=010
        [0x08] rec0=0f rec1=00 rec2=09 rec3=000
    tail 0x2174c1ff686585b34f2bb 0x42a00088462060003