You can use it with (in variable declarations
const temp: array[1..5, 1..5] of integer = ( (0,0,0,0,0), (0,1,1,0,0), (0,0,1,0,0), (0,0,1,1,0), (0,0,0,0,0) );
and then
rotationBounds := temp;
If you have a dynamic array, you can write your own functions: Either line by line:
procedure setrow(var a: array of integer; b: array of integer); begin if length(a) <> length(b) then raise Exception.Create('Invalid size'); move(b[0], a[0], length(a) * sizeof(a[0])); end; setrow(a[0], [0,0,0,0,0]); setrow(a[1], [0,1,1,0,0]); setrow(a[2], [0,0,1,0,0]); setrow(a[3], [0,0,1,1,0]); setrow(a[4], [0,0,0,0,0]);
Or all together:
type TIntArrayArray = array of array of integer; procedure setall(var a: TIntArrayArray; b: array of integer); var i: Integer; begin if (length(a)*length(a[0]) <> length(b)) then raise Exception.Create('Invalid size'); for i:= 0 to high(a) do move(b[i*length(a[0])], a[i,0], length(a[0]) * sizeof(a[0,0])); end; setall(a, [0,0,0,0,0, 0,1,1,0,0, 0,0,1,0,0, 0,0,1,1,0, 0,0,0,0,0]);