! This tiny game is just intended to test the new array ! facilities introduced by Inform 5.5. Switches dv5; Constant DEBUG; Constant Story "ARRAY TEST"; Constant Headline "^An Interactive Bit of the Sermon on the Mount^"; Include "Parser"; Include "VerbLib"; Global array1 -> 20; Global array2 --> 20; Global array3 -> "ABCDEF"; Global array4 -> 3 6 9 12; Global array5 --> 1 2 3 4 5 6 1000 2000 3000 4000; Global array6 -> 10; Global array7 --> 'one' 'two' 'three'; Global array8 --> "un" "deux" "trois"; Global array9 --> lilies #r$Dump #r$Initialise; Global narray1 string 20; Global narray2 table 20; Global narray3 string "GHIJKL"; Global narray4 string 15 18 21 24; Global narray5 table 1000 2000 3000 4000 6 5 4 3 2 1; Global narray6 string 10; Global narray7 table 'four' 'five' 'six'; Global narray8 table "quatre" "cinq" "six"; Global narray9 table lilies #r$Dump #r$Initialise; Global array10 -> 255 255; Object The_Fields "Fields" has light with description "Consider the lilies of the fields, how they grow; \ they toil not, neither do they spin; yet I say unto you, \ even Solomon in all his glory was not arrayed such as are \ these."; Nearby lilies "lilies of the fields" has scenery with name "lilies" "lily" "of" "fields", description [ i; print "Array 1^"; BDump(array1, array2); print "Array 2^"; Dump(array2, array3); print "Array 3^"; BDump(array3, array4); for (i=0:i<6:i++) print char array3->i, ", "; new_line; print "Array 4^"; BDump(array4, array5); print "Array 5^"; Dump(array5, array6); for (i=0:i<10:i++) print array5-->i, ", "; new_line; print "Array 6^"; BDump(array6, array7); print "Array 7^"; Dump(array7, array8); for (i=0:i<3:i++) print (address) array7-->i, ", "; new_line; print "Array 8^"; Dump(array8, array9); for (i=0:i<3:i++) print (string) array8-->i, ", "; new_line; print "Array 9^"; Dump(array9, narray1); print "Table 1^"; BDump(narray1, narray2, 1); print "Table 2^"; Dump(narray2, narray3, 1); print "Table 3^"; BDump(narray3, narray4, 1); for (i=1:i<=6:i++) print char narray3->i, ", "; new_line; print "Table 4^"; BDump(narray4, narray5, 1); print "Table 5^"; Dump(narray5, narray6, 1); for (i=1:i<=10:i++) print narray5-->i, ", "; new_line; print "Table 6^"; BDump(narray6, narray7, 1); print "Table 7^"; Dump(narray7, narray8, 1); for (i=1:i<=3:i++) print (address) narray7-->i, ", "; new_line; print "Table 8^"; Dump(narray8, narray9, 1); for (i=1:i<=3:i++) print (string) narray8-->i, ", "; new_line; print "Table 9^"; Dump(narray9, array10, 1); ]; [ Initialise; location = The_Fields; "^^^^^Worried about arrays and Inform 5.5? Try the...^"; ]; [ Dump from to fl i j; if (fl==1) { print "Size "; j=7; } else j=0; for (i=from:i0, " "; if (j%8==7) new_line; } new_line; ]; [ BDump from to fl i j; if (fl==1) { print "Size "; j=15; } else j=0; for (i=from:i0, " "; if (j%16==15) new_line; } new_line; ]; [ Hex x; HexDig(x/$1000); HexDig(x/$100); HexDig(x/$10); HexDig(x); ]; [ BHex x; HexDig(x/$10); HexDig(x); ]; [ HexDig y; y=y%16; switch(y) { 10: print "a"; 11: print "b"; 12: print "c"; 13: print "d"; 14: print "e"; 15: print "f"; default: print y; } ]; Include "Grammar"; Verb "consider" * noun -> Examine; end;