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

⟦97a3ccdc8⟧ Ada Source

    Length: 9216 (0x2400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Turtle, seg_036666

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 Easy_X;
with Bounded_String;
with Msg_Report;
with Turtle_Class;
with Object;
with Message;
with Arguments;
with Scanner;
with Symbol_Table;

use Object;

procedure Test_Turtle (Display : String) is

    Identifier : Scanner.B_String;
    Msg : Message.Selector;
    Arg_List : Arguments.List;
    Turtle_Object, Int_Object, Recep_Object : Object.Reference;
    I, Turtle_Value : Integer;

begin
    Msg_Report.Tracing_On;
    Symbol_Table.Create;
    Bounded_String.Copy (Identifier, Turtle_Class.Predefined_Turtle);
    if Symbol_Table.Is_Found (Identifier) then
        Turtle_Object := Symbol_Table.Get_Info (Identifier);
    end if;

    -- =======================================================================

    Message.Copy (Msg, "Tonx");
    Recep_Object := Turtle_Class.Send (Turtle_Object, Msg);
    Msg_Report.Information
       ("ton x ? => " & Integer'Image (Object.Identificator (Recep_Object)));

    -- =======================================================================

    Message.Copy (Msg, "Tonyy");
    Recep_Object := Turtle_Class.Send (Turtle_Object, Msg);
    Msg_Report.Information
       ("ton y ? => " & Integer'Image (Object.Identificator (Recep_Object)));

    -- =======================================================================

    Msg_Report.Information ("ton x <= " & Integer'Image (10));
    Message.Copy (Msg, "Tonx:");
    Int_Object := Object.Create (C_Integer, 10);
    Arg_List := Arguments.Void_Arguments;
    Arguments.Write (Arg_List, Int_Object);
    Recep_Object := Turtle_Class.Send (Turtle_Object, Msg, Arg_List);
    Message.Copy (Msg, "Tonx");
    Recep_Object := Turtle_Class.Send (Turtle_Object, Msg);
    Msg_Report.Continue ("ton x ? => " &
                         Integer'Image (Object.Identificator (Recep_Object)));

    -- =======================================================================

    Msg_Report.Information ("ton y <= " & Integer'Image (100));
    Message.Copy (Msg, "Tony:");
    Int_Object := Object.Create (C_Integer, 100);
    Arg_List := Arguments.Void_Arguments;
    Arguments.Write (Arg_List, Int_Object);
    Recep_Object := Turtle_Class.Send (Turtle_Object, Msg, Arg_List);
    Message.Copy (Msg, "Tony");
    Recep_Object := Turtle_Class.Send (Turtle_Object, Msg);
    Msg_Report.Continue ("ton y ? => " &
                         Integer'Image (Object.Identificator (Recep_Object)));

    -- =======================================================================

    Symbol_Table.Image_Table;
    Turtle_Class.Image_Table;


    Easy_X.Open (Display);

    loop
        case Easy_X.Next_Event is

            when Easy_X.Update =>
                -- tortue vaenx:400 y:400
                Arg_List := Arguments.Void_Arguments;
                Int_Object := Object.Create (C_Integer, 400);
                Arguments.Write (Arg_List, Int_Object);
                Int_Object := Object.Create (C_Integer, 400);
                Arguments.Write (Arg_List, Int_Object);

                Message.Copy (Msg, "Vaenx:y:");
                Recep_Object := Turtle_Class.Send
                                   (Turtle_Object, Msg, Arg_List);

                -- tortue Baissetaplume
                Message.Copy (Msg, " Baissetaplume");
                Recep_Object := Turtle_Class.Send (Turtle_Object, Msg);

                I := 0;

                while (I < 360) loop

                    Msg_Report.Information ("angle = " & Integer'Image (I));

                    -- tortue tataille:<(I / 120) + 1)>
                    Arg_List := Arguments.Void_Arguments;
                    Int_Object := Object.Create (C_Integer, (I / 120) + 1);
                    Arguments.Write (Arg_List, Int_Object);

                    Message.Copy (Msg, "Tataille:");
                    Recep_Object := Turtle_Class.Send
                                       (Turtle_Object, Msg, Arg_List);

                    -- tortue avance: 200
                    Arg_List := Arguments.Void_Arguments;
                    Int_Object := Object.Create (C_Integer, 200);
                    Arguments.Write (Arg_List, Int_Object);

                    Message.Copy (Msg, "Avance:");
                    Recep_Object := Turtle_Class.Send
                                       (Turtle_Object, Msg, Arg_List);

                    -- tortue vaenx:400 y:400
                    Arg_List := Arguments.Void_Arguments;
                    Int_Object := Object.Create (C_Integer, 400);
                    Arguments.Write (Arg_List, Int_Object);
                    Int_Object := Object.Create (C_Integer, 400);
                    Arguments.Write (Arg_List, Int_Object);

                    Message.Copy (Msg, "Vaenx:y:");
                    Recep_Object := Turtle_Class.Send
                                       (Turtle_Object, Msg, Arg_List);

                    I := I + 10;

                    -- tortue Tonangle: <I>
                    Arg_List := Arguments.Void_Arguments;
                    Int_Object := Object.Create (C_Integer, I);
                    Arguments.Write (Arg_List, Int_Object);

                    Message.Copy (Msg, "Tonangle:");
                    Recep_Object := Turtle_Class.Send
                                       (Turtle_Object, Msg, Arg_List);
                end loop;

            when Easy_X.Button_Up =>
                exit;

            when Easy_X.Button_Down =>
                null;

        end case;
    end loop;

    Easy_X.Close;

    Turtle_Class.Image_Table;

    Msg_Report.Information ("FIN DU TEST !!!");

end Test_Turtle;

E3 Meta Data

    nblk1=8
    nid=5
    hdr6=e
        [0x00] rec0=25 rec1=00 rec2=01 rec3=02c
        [0x01] rec0=05 rec1=00 rec2=06 rec3=014
        [0x02] rec0=15 rec1=00 rec2=03 rec3=056
        [0x03] rec0=1b rec1=00 rec2=04 rec3=062
        [0x04] rec0=18 rec1=00 rec2=02 rec3=082
        [0x05] rec0=16 rec1=00 rec2=08 rec3=07e
        [0x06] rec0=19 rec1=00 rec2=07 rec3=000
        [0x07] rec0=11 rec1=00 rec2=08 rec3=001
    tail 0x2152fe34084de969bcb73 0x42a00088462060003
Free Block Chain:
  0x5: 0000  00 00 03 fc 80 48 20 3d 3d 3d 3d 3d 3d 3d 3d 3d  ┆     H =========┆