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

⟦1d9f26ed5⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Draw, seg_05828b

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



----------------------------------------------------------------------
--
--              Maze Demonstration Main Program
--
--                      written by
--
--                   Edmond Schonberg
--
--                      Ada Project
--                   Courant Institute
--                  New York University
--                   251 Mercer Street
--                New York, New York  10012
--
-----------------------------------------------------------------------


with Maze, First_Task, Screen_Io;
use Maze, First_Task, Screen_Io;
with Text_Io;
use Text_Io;

with Random_Numbers;
use Random_Numbers;
procedure Draw is
    package Integer_Text_Io is new Text_Io.Integer_Io (Integer);
    use Integer_Text_Io;

    Start : Position := (23, 10);
    Goal : Position := (1, 66);
    First_One : Explore := new Ex;
    Num_Lines : Positive;
    Rint : Integer;
begin
    Clear;
    loop -- loop to get number of paths and random number seed.
        Puts (" enter desired number of paths in maze", 1, 1);
        begin
            Get (Num_Lines);
            exit;
        exception
            when others =>
                Puts ("invalid data. Please make it a positive no.", 1, 1);
                Skip_Line;
        end;
    end loop;
    loop
        Puts (" enter random seed (0 for value based on clock) ", 3, 1);
        begin
            Get (Rint);
            if Rint /= 0 then
                Set_Seed (Rint);
                Rint := Rand_Seed;
            end if;
            exit;
        exception
            when others =>
                Puts ("invalid data. Please make it a positive no.", 3, 1);
                Skip_Line;
        end;
    end loop;
    Maze.Goal := Goal;
    New_Maze (Start, Goal, Num_Lines); -- build new maze
    Putc ('@', Goal.Row, Goal.Col);   -- note starting point
    Putc ('*', Start.Row, Start.Col);  -- note ending point
    First_One.Start (Start, Up, First_One, First_One); -- solve maze
end Draw;
pragma Main;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=25 rec1=00 rec2=01 rec3=070
        [0x01] rec0=01 rec1=00 rec2=04 rec3=06a
        [0x02] rec0=1e rec1=00 rec2=02 rec3=012
        [0x03] rec0=02 rec1=00 rec2=03 rec3=000
    tail 0x217658c5887e283322935 0x42a00088462060003