Hola que tal^^, espero que esto te ayude:
program colores ;
var
matriz: array[0..30] of byte ; {solo de ejemplo}
probabilidad :integer ; {una variable para la probabilidad}
begin
randomize ;
for x := 0 to 30 do
begin
probabilidad := random(6) ; {tan solo una probabilidad de color}
{0 = rojo, 1 = azul, 2 = amarillo, 3 = verde, 4 = blanco, 5 = violeta}
matriz[x] := probabilidad ;
end ;
end ;
Cuando leas la matriz, ya sabes las asignaciones que le has dado, o si prefieres una matriz con cadenas haces lo siguiente:
program colores ;
var
matriz: array[0..30] of string ; {solo de ejemplo}
probabilidad :integer ; {una variable para la probabilidad}
begin
randomize ;
for x := 0 to 30 do
begin
probabilidad := random(6) ; {tan solo una probabilidad de color}
{0 = rojo, 1 = azul, 2 = amarillo, 3 = verde, 4 = blanco, 5 = violeta}
if probabilidad = 0 then matriz[x] := 'rojo' ;
if probabilidad = 1 then matriz[x] := 'azul' ;
if probabilidad = 2 then matriz[x] := 'amarillo' ;
if probabilidad = 3 then matriz[x] := 'verde' ;
if probabilidad = 4 then matriz[x] := 'blanco' ;
if probabilidad = 5 then matriz[x] := 'violeta' ;
end ;
end ;
espero que te sea de ayuda^^, cualquier problema, escribeme a mi mail finaljuan@hotmail.com , saludos^^.