|
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 - metrics - download
Length: 7168 (0x1c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Serveur, seg_059aa2
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Text_Io; with Asteroide; --with Imprimeur; package body Serveur is C : Character := 'C'; Num_T : Natural := 0; Q : Natural range 0 .. 2 := 0; --Tab_Aste : array (1 .. 2) of Asteroide.Objet; Tab_Ptr : array (1 .. 5) of Asteroide.D_Asteroide; task body Tserveur is begin accept Go; for I in 1 .. 4 loop Tab_Ptr (I) := new Asteroide.Objet; accept Ok; --Text_Io.Put_Line (" Tache aster cree dynamiquement nun : " & --Integer'Image (I); end loop; Text_Io.Put_Line (" Tache serveur en route ..."); loop --Text_Io.Put_Line (" Tache serveur en attente de accept ..."); select accept Envoyer_Evenement (C : in Character; No : in Integer) do Q := 2; --Text_Io.Put_Line --(" Serveur doit envoyer un message a un vaisseau "); -- regarder si collision -- sinon -- if C = Direction then Bouge:V --sinon Creer Tir end Envoyer_Evenement; or accept Accepter_Evenement (Position : in Definitions.Position; Num : in Natural) do Q := 1; --Text_Io.Put_Line (" serveur sert asteroide " & -- Integer'Image (Num) & " coord(L,C) : " & -- Integer'Image (Position.Colonne) & " , " & -- Integer'Image (Position.Ligne)); --Text_Io.Put_Line (" Num_t : " & Integer'Image (Num_T) & -- " et Num : " & Integer'Image (Num)); Num_T := Num; -- C := 'T'; --else C := 'B'; --Text_Io.Put_Line ("B"); --end if; end Accepter_Evenement; else delay 0.01; end select; case Q is when 0 => null; when 1 => Text_Io.Put_Line (" cas 1 aster "); Asteroide.Msg (Tab_Ptr (Num_T).all, C); when 2 => Text_Io.Put_Line (" cas 2 vaisseau "); end case; Q := 0; end loop; end Tserveur; -- terms : array (1..n) of terminal.handle; -- Terms (1) := Mon_Terminal.Creer (No => 1); -- Mon_Terminal.Ecrire (Terminal => Terms (1), -- handle -- C => C, -- caractere a ecrire -- X => X, -- Y => Y, -- Blink => Blink); -- procedure Traiter_Caractere (C : in Character; No : in Integer) is -- begin -- Text_Io.Put_Line ("Le terminal " & Integer'Image (No) & -- " a frappe le caractere " & C); -- Serveur.rendez-vous(No, C); -- end Traiter_Caractere; end Serveur;
nblk1=6 nid=5 hdr6=a [0x00] rec0=26 rec1=00 rec2=01 rec3=08a [0x01] rec0=00 rec1=00 rec2=02 rec3=004 [0x02] rec0=15 rec1=00 rec2=03 rec3=03a [0x03] rec0=22 rec1=00 rec2=06 rec3=060 [0x04] rec0=07 rec1=00 rec2=04 rec3=000 [0x05] rec0=03 rec1=00 rec2=02 rec3=000 tail 0x21768be04891071a3d82c 0x42a00088462060003 Free Block Chain: 0x5: 0000 00 00 00 a6 80 22 20 20 20 20 20 20 20 20 20 20 ┆ " ┆