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