|
|
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: 38912 (0x9800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Coded_Order_Array2, seg_047bc2
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Text_Io, Condition, Order, View, View_List, Affectation, Order,
Coded_Order_Array, Instruction_List, Attribute, Field_Identifier_Array,
Objet, Animate_List, The_Hero, Group_Identifier_Array, The_Place,
Identifier, Moving_String, Detail, Complement, Complement_Array,
The_Order, Enumeration_Array, Expression, Coded_Order;
use Text_Io;
procedure Test_Coded_Order_Array2 is
I1 : Instruction_List.Object := Instruction_List.Null_Object;
I2 : Instruction_List.Object := Instruction_List.Null_Object;
I3 : Instruction_List.Object := Instruction_List.Null_Object;
Player_Order, Real_Order : Order.Object;
Ia : Order.Index_Array;
Vi : View.Object;
Vi_List : View_List.Object;
Af : Affectation.Object;
C1 : Condition.Object := Condition.Null_Object;
C2 : Condition.Object := Condition.Null_Object;
C3 : Condition.Object := Condition.Null_Object;
D1, D2 : Detail.Object;
A1, A2, A3, A4, A5 : Attribute.Object;
Ob : Objet.Object;
Id : Identifier.Object;
Index : Natural;
Ok : Boolean;
F : Expression.Object := Expression.Null_Object;
L : Expression.Object := Expression.Null_Object;
R : Expression.Object := Expression.Null_Object;
F1 : Expression.Object := Expression.Null_Object;
F2 : Expression.Object := Expression.Null_Object;
F3 : Expression.Object := Expression.Null_Object;
F4 : Expression.Object := Expression.Null_Object;
F5 : Expression.Object := Expression.Null_Object;
procedure Run_Order (Player_Order : in out Order.Object) is
Found : Boolean;
Real_Order : Order.Object;
procedure Find_Order (Player_Order : in Order.Object;
Real_Order : in out Order.Object;
Ok : out Boolean) is
Found : Boolean;
begin
Put_Line ("start an run order2");
Order.Put_Place (Real_Order, Order.Complement (Player_Order, 1));
Complement_Array.List_Group_Init
(Order.Complement (Player_Order, 1));
Complement_Array.List_Group_Init
(Order.Complement (Player_Order, 2));
Complement_Array.List_Group_Init
(Order.Complement (Player_Order, 3));
Complement_Array.List_Group_Init
(Order.Complement (Player_Order, 4));
while not Complement_Array.List_Group_Done
(Order.Complement (Player_Order, 1)) and not Found loop
while not Complement_Array.List_Group_Done
(Order.Complement (Player_Order, 2)) and
not Found loop
while not Complement_Array.List_Group_Done
(Order.Complement (Player_Order, 3)) and
not Found loop
while not Complement_Array.List_Group_Done
(Order.Complement (Player_Order, 4)) and
not Found loop
Order.Put_First_Complement
(Real_Order, Complement_Array.List_Group_Name
(Order.Complement
(Player_Order, 1)));
Order.Put_Second_Complement
(Real_Order, Complement_Array.List_Group_Name
(Order.Complement
(Player_Order, 2)));
Order.Put_Third_Complement
(Real_Order, Complement_Array.List_Group_Name
(Order.Complement
(Player_Order, 3)));
Order.Put_Fourth_Complement
(Real_Order, Complement_Array.List_Group_Name
(Order.Complement
(Player_Order, 4)));
Found := Coded_Order_Array.Belong (Real_Order);
Complement_Array.List_Group_Next
(Order.Complement (Player_Order, 4));
end loop;
Complement_Array.List_Group_Next
(Order.Complement (Player_Order, 3));
end loop;
Complement_Array.List_Group_Next
(Order.Complement (Player_Order, 2));
end loop;
Complement_Array.List_Group_Next
(Order.Complement (Player_Order, 1));
end loop;
Ok := Found;
Put_Line ("run order finished2");
end Find_Order;
begin
Order.Put_Place (Player_Order, The_Place.Image);
Find_Order (Player_Order, Real_Order, Found);
if Ok then
Order.Put_Redirection (Player_Order,
Coded_Order_Array.Redirection (Real_Order));
The_Order.Put (Player_Order);
Order.Show (Real_Order);
The_Order.Show;
Coded_Order_Array.Run (Real_Order, Ok);
else
Order.Put_Place (Player_Order, "global");
Find_Order (Player_Order, Real_Order, Ok);
if Ok then
Order.Put_Redirection
(Player_Order, Coded_Order_Array.Redirection (Real_Order));
The_Order.Put (Player_Order);
Order.Show (Real_Order);
The_Order.Show;
Coded_Order_Array.Run (Real_Order, Ok);
else
Put_Line ("l'ordre " & Order.Image (Player_Order) &
" n'existe pas");
end if;
end if;
end Run_Order;
begin
Enumeration_Array.Put_Literal (Identifier.From_String ("normal"),
Identifier.From_String ("fermee"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("normal"),
Identifier.From_String ("ouverte"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("rouge"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("jaune"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("vert"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("bleu"), Ok);
-- Enumeration_Array.Show;
Field_Identifier_Array.Put (Identifier.From_String ("vie"));
Field_Identifier_Array.Put (Identifier.From_String ("nord"));
Field_Identifier_Array.Put (Identifier.From_String ("sud"));
Field_Identifier_Array.Put (Identifier.From_String ("age"));
Field_Identifier_Array.Put (Identifier.From_String ("nom"));
Field_Identifier_Array.Put (Identifier.From_String ("couleur"));
Field_Identifier_Array.Put (Identifier.From_String ("description"));
-- Field_Identifier_Array.Show;
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("xavier"), Ok);
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("fred"), Ok);
Complement_Array.Put (Complement.Animate_Object,
Identifier.From_String ("gedeon"), Ok);
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("gaston"), Ok);
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("alfred"), Ok);
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("table"), Ok);
Complement_Array.Put_Verb (Identifier.From_String ("courir"),
Identifier.From_String ("aller"), Ok);
Complement_Array.Put_Verb (Identifier.From_String ("aller"),
Identifier.From_String ("aller"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("de"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("nord"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("est"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("sud"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("ouest"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("vie"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("age"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("nom"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("couleur"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("description"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("porte"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("trou"), Ok);
Complement_Array.Put (Complement.Place_Object,
Identifier.From_String ("cuisine"), Ok);
Complement_Array.Put (Complement.Place_Object,
Identifier.From_String ("chambre"), Ok);
Complement_Array.Put (Complement.Place_Object,
Identifier.From_String ("salon"), Ok);
Complement_Array.Create_Enumerate_Field
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("nord"), Ok);
Index := Enumeration_Array.Enum ("normal");
Complement_Array.Field_Put_Enumerate
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("nord"), Index,
Enumeration_Array.Literal (Index, "fermee"), Ok);
Complement_Array.Create_Enumerate_Field
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("sud"), Ok);
Index := Enumeration_Array.Enum ("normal");
Complement_Array.Field_Put_Enumerate
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("sud"), Index,
Enumeration_Array.Literal (Index, "fermee"), Ok);
Complement_Array.Put_Place (Complement_Array.Index ("gaston"),
Complement_Array.Index ("cuisine"), Ok);
Complement_Array.Put_Movement (Identifier.From_String ("gedeon"),
Complement_Array.Index ("cuisine"));
Complement_Array.Put_Movement (Identifier.From_String ("gedeon"),
Complement_Array.Index ("salon"));
Complement_Array.Put_Movement (Identifier.From_String ("gedeon"),
Complement_Array.Index ("chambre"));
Complement_Array.Put_Movement (Identifier.From_String ("gedeon"),
Complement_Array.Index ("chambre"));
Complement_Array.Put_Movement (Identifier.From_String ("gedeon"),
Complement_Array.Index ("cuisine"));
Complement_Array.Put_Movement (Identifier.From_String ("gedeon"),
Complement_Array.Index ("chambre"));
Animate_List.Put (Complement_Array.Index ("gedeon"), Ok); -- a tester
Animate_List.Show;
Complement_Array.Create_Number_Field
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("age"), Ok);
Complement_Array.Field_Put_Number
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("age"), 13, Ok);
Complement_Array.Create_Number_Field
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("vie"), Ok);
Complement_Array.Field_Put_Number
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("vie"), 123, Ok);
Complement_Array.Create_Enumerate_Field
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("couleur"), Ok);
Index := Enumeration_Array.Enum ("couleur");
Complement_Array.Field_Put_Enumerate
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("couleur"), Index,
Enumeration_Array.Literal (Index, "rouge"), Ok);
Complement_Array.Put_Place (Complement_Array.Index ("gaston"),
Complement_Array.Index ("cuisine"), Ok);
Complement_Array.Put_Place (Complement_Array.Index ("table"),
Complement_Array.Index ("cuisine"), Ok);
Complement_Array.Create_Sentence_Field
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("description"), Ok);
Complement_Array.Field_Put_Sentence
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("description"),
Identifier.From_String ("C'est une belle cuisine"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("cuisine"),
Complement_Array.Index ("porte"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("nord"),
Complement_Array.Index ("chambre"),
Complement_Array.Index ("sud"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("cuisine"),
Complement_Array.Index ("trou"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("ouest"),
Complement_Array.Index ("salon"),
Complement_Array.Index ("est"), Ok);
Complement_Array.Create_Sentence_Field
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("description"), Ok);
Complement_Array.Field_Put_Sentence
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("description"),
Identifier.From_String ("C'est une belle et grande chambre"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("chambre"),
Complement_Array.Index ("porte"),
Complement_Array.Index ("chambre"),
Complement_Array.Index ("sud"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("nord"), Ok);
Complement_Array.Create_Sentence_Field
(Complement_Array.Index ("salon"),
Field_Identifier_Array.Index ("description"), Ok);
Complement_Array.Field_Put_Sentence
(Complement_Array.Index ("salon"),
Field_Identifier_Array.Index ("description"),
Identifier.From_String ("C'est un grand salon"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("salon"),
Complement_Array.Index ("trou"),
Complement_Array.Index ("salon"),
Complement_Array.Index ("est"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("ouest"), Ok);
Group_Identifier_Array.Put (Identifier.From_String ("salle"), Ok);
Group_Identifier_Array.Put (Identifier.From_String ("direction"), Ok);
Complement_Array.Put_Group ("cuisine",
Group_Identifier_Array.Index ("salle"), Ok);
Complement_Array.Put_Group ("chambre", Group_Identifier_Array.Index ("salle"), Ok);
Complement_Array.Put_Group ("salon",
Group_Identifier_Array.Index ("salle"), Ok);
Complement_Array.Put_Group ("nord",
Group_Identifier_Array.Index ("direction"), Ok);
Complement_Array.Put_Group ("sud",
Group_Identifier_Array.Index ("direction"), Ok);
Complement_Array.Put_Group ("ouest",
Group_Identifier_Array.Index ("direction"), Ok);
Complement_Array.Put_Group ("est",
Group_Identifier_Array.Index ("direction"), Ok);
--Complement_Array.Show;
The_Hero.Put (Complement_Array.Index ("gaston"));
-- Put_Line ("index the hero : " & Natural'Image (The_Hero.Index));
-- The_Hero.Show;
The_Place.Put (Complement_Array.Index ("cuisine"));
-- Put_Line ("index the place : " & Natural'Image (The_Place.Index));
-- The_Place.Show;
Objet.Create_Real (Ob, Complement_Array.Index ("gaston"));
Detail.Create_Real_Field (D1, Field_Identifier_Array.Index ("age"));
Attribute.Put (A1, Ob, D1);
-- Attribute.Show (A1);
Objet.Create_Real (Ob, Complement_Array.Index ("gaston"));
Detail.Create_Real_Field (D1, Field_Identifier_Array.Index ("nord"));
Attribute.Put (A5, Ob, D1);
-- Attribute.Show (A5);
Objet.Create_Group (Ob, 5);
Detail.Create_Field_Group (D1, 3);
Attribute.Put (A2, Ob, D1);
--Attribute.Show (A2);
Objet.Create_Hero (Ob);
Detail.Create_Real_Field (D1, Field_Identifier_Array.Index ("couleur"));
Attribute.Put (A3, Ob, D1);
-- Attribute.Show (A3);
Objet.Create_Place (Ob);
Detail.Create_Real_Field (D1, Field_Identifier_Array.Index ("nord"));
Attribute.Put (A4, Ob, D1);
-- Attribute.Show (A4);
Expression.Create (F4, Enumeration_Array.Enum ("normal"),
Enumeration_Array.Literal
(Enumeration_Array.Enum ("normal"), "ouverte"));
-- Put_Line ("evaluate f4 : " & Integer'Image (Expression.Evaluate (F4)));
-- Expression.Show (F4);
Expression.Create (F5, Enumeration_Array.Enum ("normal"),
Enumeration_Array.Literal
(Enumeration_Array.Enum ("normal"), "fermee"));
-- Put_Line ("evaluate f5 : " & Integer'Image (Expression.Evaluate (F5)));
-- Expression.Show (F5);
Expression.Create (L, 5);
Expression.Create (R, 8);
Expression.Create (F1, Expression.Add, L, R, Ok);
-- Put_Line ("ok : " & Boolean'Image (Ok));
-- Put_Line ("evaluate f1 : " & Integer'Image (Expression.Evaluate (F1)));
-- Expression.Show (F1);
Expression.Create (F2, Expression.Substract, L, R, Ok);
-- Put_Line ("ok : " & Boolean'Image (Ok));
-- Put_Line ("evaluate f2 : " & Integer'Image (Expression.Evaluate (F2)));
-- Expression.Show (F2);
Expression.Create (L, A1);
Expression.Create (R, 3);
Expression.Create (F3, Expression.Add, L, R, Ok);
-- Put_Line ("ok : " & Boolean'Image (Ok));
-- Put_Line ("evaluate f3 : " & Integer'Image (Expression.Evaluate (F3)));
-- Expression.Show (F3);
Expression.Create (L, 107);
Expression.Create (R, 20);
Expression.Create (F, Expression.Add, L, R, Ok);
-- Put_Line ("ok : " & Boolean'Image (Ok));
Condition.Create_Compare (C1, A1, Condition.Visible.Equal, F, Ok); -- faux
-- Put_Line ("ok : " & Boolean'Image (Ok));
-- Put_Line ("is right vide : " & Boolean'Image (Condition.Is_Right (C1)));
Condition.Create_Compare (C2, A1, Condition.Visible.Less, F, Ok); -- vrai
-- Put_Line ("ok : " & Boolean'Image (Ok));
-- Condition.Show (C2);
-- Put_Line ("is right: " & Boolean'Image (Condition.Is_Right (C2)));
Condition.Create_Compare (C3, A4, Condition.Visible.Equal, F4, Ok); -- faux
-- Put_Line ("ok : " & Boolean'Image (Ok));
-- Condition.Show (C3);
-- Put_Line ("is right : " & Boolean'Image (Condition.Is_Right (C3)));
Detail.Create_Real_Complement (D1, Complement_Array.Index ("alfred"));
Affectation.Create_Hero (Af, D1);
-- Affectation.Show (Af);
Order.Put_Place (Real_Order, Moving_String.From_String ("cuisine"));
Order.Put_First_Complement (Real_Order,
Moving_String.From_String ("aller"));
Order.Put_Second_Complement (Real_Order,
Moving_String.From_String ("direction"));
Order.Put_Third_Complement (Real_Order, Moving_String.From_String ("de"));
Order.Put_Fourth_Complement (Real_Order,
Moving_String.From_String ("salle"));
Ia := (1, 2, 3, 4, 5);
Order.Put_Redirection (Real_Order, Ia);
Objet.Create_Group (Ob, 5);
Detail.Create_Complement_Group (D2, 3);
Detail.Create_Field_Group (D1, 3);
Attribute.Put (A1, Ob, D1); -- nord de cuisine
Objet.Create_Group (Ob, 5);
Detail.Create_Real_Field (D1, Field_Identifier_Array.Index ("sud"));
Attribute.Put (A2, Ob, D1); -- sud de cuisine
Detail.Create_Complement_Group (D1, 3);
View_List.Free (Vi_List);
View.Create_Sentence (Vi, Identifier.From_String
("aller direction de salle "));
View_List.Put (Vi_List, Vi);
View.Create_Exit (Vi, D1);
View_List.Put (Vi_List, Vi);
View.Create_Attribute (Vi, A2);
View_List.Put (Vi_List, Vi);
View.Create_Attribute (Vi, A1);
View_List.Put (Vi_List, Vi);
Instruction_List.Insert_Display (I1, Vi_List);
Instruction_List.Insert_Next_Line (I1);
--Instruction_List.Insert_Go (I1, D2);
Coded_Order_Array.Put (Real_Order, I1, Ok);
Put_Line ("put ok :" & Boolean'Image (Ok));
Coded_Order_Array.Show;
Order.Put_Place (Player_Order, Moving_String.From_String ("cuisine"));
Order.Put_First_Complement (Player_Order,
Moving_String.From_String ("aller"));
Order.Put_Second_Complement (Player_Order,
Moving_String.From_String ("nord"));
Order.Put_Third_Complement (Player_Order, Moving_String.From_String ("de"));
Order.Put_Fourth_Complement (Player_Order,
Moving_String.From_String ("cuisine"));
Order.Put_Redirection (Player_Order,
Coded_Order_Array.Redirection (Real_Order));
The_Order.Put (Player_Order);
The_Order.Show;
Put_Line ("th1");
Coded_Order_Array.Run (Real_Order, Ok);
Put_Line ("th1");
Put_Line ("run ok :" & Boolean'Image (Ok));
Put_Line ("at end :" & Boolean'Image (Coded_Order_Array.Is_At_End));
Put_Line (The_Place.Image);
Put_Line ("th1");
Order.Put_Place (Real_Order, Moving_String.From_String ("cuisine"));
Order.Put_First_Complement (Real_Order,
Moving_String.From_String ("aller"));
Order.Put_Second_Complement (Real_Order,
Moving_String.From_String ("salle"));
Order.Put_Third_Complement (Real_Order,
Moving_String.From_String ("direction"));
Order.Put_Fourth_Complement (Real_Order, Moving_String.From_String (""));
Ia := (1, 2, 4, 4, 3);
Order.Put_Redirection (Real_Order, Ia);
I1 := Instruction_List.Null_Object;
View_List.Free (Vi_List);
View.Create_Sentence (Vi, Identifier.From_String
("aller salle direction "));
View_List.Put (Vi_List, Vi);
View_List.Put (Vi_List, Vi);
View.Create_Exit (Vi, D1);
View_List.Put (Vi_List, Vi);
View.Create_Attribute (Vi, A1);
View_List.Put (Vi_List, Vi);
Instruction_List.Insert_Display (I1, Vi_List);
Instruction_List.Insert_Next_Line (I1);
Detail.Create_Real_Complement (D2, Complement_Array.Index ("sud"));
Instruction_List.Insert_Go (I1, D2);
Coded_Order_Array.Put (Player_Order, I1, Ok);
Put_Line ("put ok :" & Boolean'Image (Ok));
Order.Put_Place (Player_Order, Moving_String.From_String ("cuisine"));
Order.Put_First_Complement (Player_Order,
Moving_String.From_String ("aller"));
Order.Put_Second_Complement (Player_Order,
Moving_String.From_String ("cuisine"));
Order.Put_Third_Complement (Player_Order,
Moving_String.From_String ("nord"));
Order.Put_Fourth_Complement (Player_Order, Moving_String.From_String (""));
Order.Put_Redirection (Player_Order,
Coded_Order_Array.Redirection (Real_Order));
The_Order.Put (Player_Order);
The_Order.Show;
Coded_Order_Array.Run (Real_Order, Ok);
Put_Line ("run ok :" & Boolean'Image (Ok));
Put_Line ("at end :" & Boolean'Image (Coded_Order_Array.Is_At_End));
Put_Line (The_Place.Image);
Order.Put_Place (Real_Order, Moving_String.From_String ("cuisine"));
Order.Put_First_Complement (Real_Order,
Moving_String.From_String ("aller"));
Order.Put_Second_Complement (Real_Order, Moving_String.From_String ("a"));
Order.Put_Third_Complement (Real_Order,
Moving_String.From_String ("salle"));
Order.Put_Fourth_Complement (Real_Order,
Moving_String.From_String ("direction"));
Ia := (1, 2, 5, 4, 4);
Order.Put_Redirection (Real_Order, Ia);
I1 := Instruction_List.Null_Object;
View_List.Free (Vi_List);
View.Create_Sentence (Vi, Identifier.From_String
("aller a salle direction "));
View_List.Put (Vi_List, Vi);
View.Create_Exit (Vi, D1);
View_List.Put (Vi_List, Vi);
View.Create_Attribute (Vi, A1);
View_List.Put (Vi_List, Vi);
Instruction_List.Insert_Display (I1, Vi_List);
Instruction_List.Insert_Next_Line (I1);
Detail.Create_Real_Complement (D2, Complement_Array.Index ("sud"));
Instruction_List.Insert_Go (I1, D2);
Instruction_List.Insert_Stop (I1);
Coded_Order_Array.Put (Player_Order, I1, Ok);
Put_Line ("put ok :" & Boolean'Image (Ok));
Coded_Order_Array.Put (Player_Order, I1, Ok);
Put_Line ("put ok :" & Boolean'Image (Ok));
Order.Put_Place (Player_Order, Moving_String.From_String ("cuisine"));
Order.Put_First_Complement (Player_Order,
Moving_String.From_String ("aller"));
Order.Put_Second_Complement (Player_Order, Moving_String.From_String ("a"));
Order.Put_Third_Complement (Player_Order,
Moving_String.From_String ("cuisine"));
Order.Put_Fourth_Complement (Player_Order,
Moving_String.From_String ("nord"));
Order.Put_Redirection (Player_Order,
Coded_Order_Array.Redirection (Real_Order));
The_Order.Put (Player_Order);
The_Order.Show;
Coded_Order_Array.Run (Real_Order, Ok);
Put_Line ("run ok :" & Boolean'Image (Ok));
Put_Line ("at end :" & Boolean'Image (Coded_Order_Array.Is_At_End));
Put_Line (The_Place.Image);
Coded_Order_Array.Show;
Order.Put_Place (Player_Order, Moving_String.From_String ("cuisine"));
Order.Put_First_Complement (Player_Order,
Moving_String.From_String ("aller"));
Order.Put_Second_Complement (Player_Order, Moving_String.From_String ("a"));
Order.Put_Third_Complement (Player_Order,
Moving_String.From_String ("cuisine"));
Order.Put_Fourth_Complement (Player_Order,
Moving_String.From_String ("nord"));
Ia := (1, 2, 5, 4, 4);
Order.Put_Redirection (Player_Order, Ia);
Coded_Order_Array.Run (Player_Order, Ok); Put_Line ("run ok :" & Boolean'Image (Ok));
Put_Line (The_Place.Image);
-- Order.Put_First_Complement (Player_Order,
-- Moving_String.From_String ("aller"));
-- Order.Put_Second_Complement (Player_Order, Moving_String.From_String ("a"));
-- Order.Put_Third_Complement (Player_Order,
-- Moving_String.From_String ("cuisine"));
-- Order.Put_Fourth_Complement (Player_Order,
-- Moving_String.From_String ("nord"));
--
-- Run_Order (Player_Order);
--
-- Order.Put_First_Complement (Player_Order,
-- Moving_String.From_String ("aller"));
-- Order.Put_Second_Complement (Player_Order, Moving_String.From_String ("a"));
-- Order.Put_Third_Complement (Player_Order,
-- Moving_String.From_String ("chambre"));
-- Order.Put_Fourth_Complement (Player_Order,
-- Moving_String.From_String ("sud"));
--
-- Run_Order (Player_Order);
--
-- Order.Put_First_Complement (Player_Order,
-- Moving_String.From_String ("aller"));
-- Order.Put_Second_Complement (Player_Order,
-- Moving_String.From_String ("ouest"));
-- Order.Put_Third_Complement (Player_Order, Moving_String.From_String ("de"));
-- Order.Put_Fourth_Complement (Player_Order,
-- Moving_String.From_String ("cuisine"));
--
-- Run_Order (Player_Order);
--
-- Order.Put_First_Complement (Player_Order,
-- Moving_String.From_String ("aller"));
-- Order.Put_Second_Complement (Player_Order,
-- Moving_String.From_String ("salon"));
-- Order.Put_Third_Complement (Player_Order,
-- Moving_String.From_String ("est"));
-- Order.Put_Fourth_Complement (Player_Order, Moving_String.From_String (""));
--
-- Run_Order (Player_Order);
end Test_Coded_Order_Array2;
nblk1=25
nid=25
hdr6=48
[0x00] rec0=18 rec1=00 rec2=01 rec3=040
[0x01] rec0=00 rec1=00 rec2=21 rec3=014
[0x02] rec0=1e rec1=00 rec2=1c rec3=054
[0x03] rec0=00 rec1=00 rec2=1f rec3=004
[0x04] rec0=16 rec1=00 rec2=1a rec3=07c
[0x05] rec0=12 rec1=00 rec2=1b rec3=054
[0x06] rec0=17 rec1=00 rec2=19 rec3=010
[0x07] rec0=18 rec1=00 rec2=18 rec3=086
[0x08] rec0=12 rec1=00 rec2=17 rec3=08c
[0x09] rec0=13 rec1=00 rec2=16 rec3=018
[0x0a] rec0=0f rec1=00 rec2=15 rec3=03e
[0x0b] rec0=11 rec1=00 rec2=14 rec3=03c
[0x0c] rec0=15 rec1=00 rec2=13 rec3=02c
[0x0d] rec0=12 rec1=00 rec2=12 rec3=062
[0x0e] rec0=16 rec1=00 rec2=11 rec3=02c
[0x0f] rec0=12 rec1=00 rec2=10 rec3=070
[0x10] rec0=14 rec1=00 rec2=0f rec3=040
[0x11] rec0=15 rec1=00 rec2=0e rec3=002
[0x12] rec0=15 rec1=00 rec2=22 rec3=074
[0x13] rec0=03 rec1=00 rec2=0d rec3=02a
[0x14] rec0=1b rec1=00 rec2=0c rec3=01e
[0x15] rec0=16 rec1=00 rec2=0b rec3=01e
[0x16] rec0=17 rec1=00 rec2=0a rec3=030
[0x17] rec0=18 rec1=00 rec2=09 rec3=006
[0x18] rec0=1a rec1=00 rec2=08 rec3=07c
[0x19] rec0=01 rec1=00 rec2=24 rec3=022
[0x1a] rec0=16 rec1=00 rec2=07 rec3=00e
[0x1b] rec0=01 rec1=00 rec2=23 rec3=006
[0x1c] rec0=16 rec1=00 rec2=06 rec3=000
[0x1d] rec0=15 rec1=00 rec2=05 rec3=000
[0x1e] rec0=15 rec1=00 rec2=04 rec3=064
[0x1f] rec0=15 rec1=00 rec2=03 rec3=040
[0x20] rec0=17 rec1=00 rec2=02 rec3=002
[0x21] rec0=14 rec1=00 rec2=1d rec3=020
[0x22] rec0=14 rec1=00 rec2=1e rec3=00a
[0x23] rec0=05 rec1=00 rec2=20 rec3=001
[0x24] rec0=b0 rec1=97 rec2=42 rec3=600
tail 0x2174b6876865500d47ed9 0x42a00088462060003
Free Block Chain:
0x25: 0000 00 00 00 1f 80 16 65 5f 46 69 65 6c 64 5f 47 72 ┆ e_Field_Gr┆