|
|
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: 6144 (0x1800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Ne_Robot, seg_00e379
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Expertsystem;
use Expertsystem;
package body Ne_Robot is
package Behavior is new Classbehavior (Object, "ROBOTS ", 10);
function All_Robots return Collection.Object is
begin
return Behavior.Instances;
end All_Robots;
--------------------------
function Anciennete return Integer is
begin
Num_Anc := Num_Anc + 1;
return Num_Anc;
end Anciennete;
--------------------------
procedure Modifieranc (Unrobot : Reference; Val : Integer) is
Unrob : Object;
begin
Unrob := Behavior.Get (Unrobot);
Unrob.Anc := Val;
Behavior.Set (Unrobot, Unrob);
end Modifieranc;
---------------------------
function Plus_Ancien (R, Any : Reference) return Boolean is
begin
return Behavior.Get (R).Anc < Behavior.Get (Any).Anc;
end Plus_Ancien;
function Le_Plus_Ancien is new Collection.Themost (Plus_Ancien);
function Un_Plus_Ancien_Robot (R : Reference) return Boolean is
begin
return Behavior.Get (R).Anc =
Behavior.Get (Le_Plus_Ancien (Behavior.Instances)).Anc;
end Un_Plus_Ancien_Robot;
--------------------------
function Peutprendre (R : Reference) return Boolean is
begin
return Behavior.Get (R).Tache = Prendre;
end Peutprendre;
function Peutdeposer (R : Reference) return Boolean is
begin
return Behavior.Get (R).Tache = Deposer;
end Peutdeposer;
function Tientbrique (R : Reference) return Boolean is
begin
return Behavior.Get (R).Pinceoccupee;
end Tientbrique;
function Nom (R : Reference) return Tnom is
begin
return Behavior.Get (R).Nom;
end Nom;
function Numeroboite (R : Reference) return Tcase is
begin
return Behavior.Get (R).Boite;
end Numeroboite;
function Derniereboite return Tcase is
begin
Numerocourant := Numerocourant + 1;
return Numerocourant - 1;
end Derniereboite;
procedure Creer is
begin
Behavior.Allocate (Object'("Robot No 1", 1, Prendre, False, 0));
Behavior.Allocate (Object'("Robot No 2", 1, Prendre, False, 0));
Put (" Nb robots : ");
Put (Behavior.Cardinality);
Put_Line (" ");
end Creer;
procedure Modifierpince (R : Reference; B : Boolean) is
Unrobot : Object;
begin
Unrobot := Behavior.Get (R);
Unrobot.Pinceoccupee := B;
Behavior.Set (R, Unrobot);
end Modifierpince;
procedure Modifiertache (R : Reference; A : Ttache) is
Unrobot : Object;
begin
Unrobot := Behavior.Get (R);
Unrobot.Tache := A;
Behavior.Set (R, Unrobot);
end Modifiertache;
procedure Modifierboite (R : Reference; C : Tcase) is
Unrobot : Object;
begin
Unrobot := Behavior.Get (R);
Unrobot.Boite := C;
Behavior.Set (R, Unrobot);
end Modifierboite;
procedure Sesuicide (R : Reference) is
begin
Behavior.Dispose (R);
end Sesuicide;
end Ne_Robot;
nblk1=5
nid=0
hdr6=a
[0x00] rec0=25 rec1=00 rec2=01 rec3=00e
[0x01] rec0=00 rec1=00 rec2=05 rec3=008
[0x02] rec0=24 rec1=00 rec2=02 rec3=008
[0x03] rec0=20 rec1=00 rec2=03 rec3=012
[0x04] rec0=0e rec1=00 rec2=04 rec3=001
tail 0x2170b02ca821d7eddaae0 0x42a00088462063c03