for i:=1 to 8 do mas [i]:=2;
for i:=1 to 4 do
for j:=1 to 4 do
begin
a:=random (8); // я точно не помню какой диапазон даёт рандом, но если 0..8 то сделай его до 7, а когда выбьет 0 то замени на 8
p:=random (1);
while mas [a]=0 do //вместо этого можно придумать что-то более весёлое
begin
if p = 1 then
begin
a:=a+1;
if a>8 then a:=1;
end else
begin
a:=a-1;
if a = 0 then a:=8;
end;
end;
map [i,j]:=a;
mas [a]:=mas [a]-1;
end;