Fórum Distribuição Randômica #284695
14/06/2005
0
Tenho alguns registros numa StringGrid assim:
CENA1
CENA2
CENA3
CENA4
E tenho uns registros para serem inseridos aleatoriamente, de forma que a StringGrid ficará assim:
CENA1
FASE10
FASE12
FASE5
FASE8
CENA2
FASE7
FASE5
FASE8
CENA3
etc...
Ou seja, os registros FASE1, FASE2, etc, deverão ser inseridos aleatoriamente, sem se repetirem dentro de uma mesma cena. Não precisa haver o mesmo número dee fases entre as cenas, mas essa distrribuição deve ser equilibrada.
Alguém tem alguma idéia? Por onde começar????
Rafaaugusto
Curtir tópico
+ 0Posts
14/06/2005
Beppe
const
MaxFases = { numero maximo de fases em cada cena }
var
F: array[1..TotalFases] of Boolean;
I, J: Integer;
begin
FillChar(F, SizeOf(F), 0);
for I := 1 to TotalCenas do
begin
for J := 1 to MaxFases do
F[Random(TotalFases) + 1] := True;
{ ao chegar aqui, as fases escolhidas estão como True em F }
end;
end;O que pode variar é a parte que dá um indeterminismo no número de fases por cena. Se fossem fixas, um novo random pracisaria ser gerada em caso de colisão. São as colisões que determinam o número de fases escolhidas neste caso.
Gostei + 0
15/06/2005
Rafaaugusto
E nesses casos de colisão, como devo tratar?
Gostei + 0
16/06/2005
Rafaaugusto
Gostei + 0
17/06/2005
Beppe
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)