|
|
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: 5120 (0x1400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Tir, seg_059b61
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Definitions;
with Text_Io;
with Serveur;
with Trajectoire;
with Imprimeur;
package body Tir is
Nb_Tir : Natural := 0;
procedure Deplacer (Tir : in out Objet) is
begin
Tir.Deplacer;
end Deplacer;
procedure Changer_Position (--Ast: in out Objet;
Pos : in out Definitions.Position;
Le_Cap : in out Definitions.Cap) is
begin
Trajectoire.Suivre_Cap (Pos, Le_Cap);
end Changer_Position;
procedure Detruire (Tir : in out Objet) is
begin
Tir.Detruire;
end Detruire;
task body Objet is
Le_Cap : Definitions.Cap;
Bidon : Character;
Pos_Sauve, Pos : Definitions.Position;
Numero : Natural;
Deplace : Boolean := False;
En_Vie : Boolean := True;
begin
Text_Io.Put_Line ("Tache Tir en route ...");
Nb_Tir := Nb_Tir + 1;
Numero := Nb_Tir;
Serveur.Serveur.Ok;
--Initialise (Pos, Le_Cap);
Text_Io.Put_Line ("Tache Initialisee numero " & Integer'Image (Numero));
--Imprimeur.Imprime ('*', Pos, False);
while En_Vie loop
Pos_Sauve := Pos;
Serveur.Serveur.Une_Position_Tir (Pos, Numero);
Text_Io.Put_Line ("Attente de la tache " & Integer'Image (Numero));
select
accept Deplacer do
Text_Io.Put_Line
(" OK pour pos Ordre de se deplacer accepte par " &
Integer'Image (Numero));
Deplace := True;
end Deplacer;
or
accept Detruire do
Text_Io.Put_Line ("je me tue");
Imprimeur.Imprime (' ', Pos, False);
En_Vie := False;
end Detruire;
if Deplace then
Text_Io.Put_Line ("ok je bouge");
Changer_Position (Pos, Le_Cap);
Text_Io.Put_Line ("ma pos virtuelle est calculee :");
Text_Io.Put_Line (Integer'Image (Pos.Colonne) &
" , " & Integer'Image (Pos.Ligne));
Imprimeur.Imprime (' ', Pos_Sauve, False);
Imprimeur.Imprime ('o', Pos, False);
Deplace := False;
end if;
delay 1.0;
end select;
end loop;
end Objet;
end Tir;
nblk1=4
nid=4
hdr6=6
[0x00] rec0=29 rec1=00 rec2=01 rec3=00e
[0x01] rec0=1c rec1=00 rec2=02 rec3=012
[0x02] rec0=12 rec1=00 rec2=03 rec3=000
[0x03] rec0=0b rec1=00 rec2=03 rec3=000
tail 0x21768e1f48913767fe287 0x42a00088462060003
Free Block Chain:
0x4: 0000 00 00 00 11 80 0e 20 20 20 50 6f 73 20 3a 20 44 ┆ Pos : D┆