|
|
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 ┆ " ┆