Como fazer o delphi escolher aleatóriamente?

06/12/2022

0

Oi, eu estou trabalhando em um programa porém não sei como fazer o delphi escolher entre 10 vídeos de forma aleatória. Teria algum jeito de fazer isso?
Aníbal

Aníbal

Responder

Post mais votado

07/12/2022

uma idéia:
você coloca o id dos vídeos num array.
sabendo o número de itens do array você executa o random e pega o item do array correspondente ao random.

mais ou menos assim:

arrayVideos := ['video1', 'video2', 'video3', 'video4']; // aqui está fixo, mas você pode fazer dinâmico

DecodeTime(now, hours, mins, secs, milliSecs);
RandSeed := milliSecs; // altera o "sequenciamento" dos números aleatórios

numVideo := Random(Length(arrayVideos)); // obtém um número aleatório dentro do intervalo de itens do array
ShowMessage('Video escolhido:' + arrayVideos[numVideo]);

Emerson Nascimento

Emerson Nascimento
Responder

Mais Posts

07/12/2022

Aníbal

uma idéia:
você coloca o id dos vídeos num array.
sabendo o número de itens do array você executa o random e pega o item do array correspondente ao random.

mais ou menos assim:

arrayVideos := ['video1', 'video2', 'video3', 'video4']; // aqui está fixo, mas você pode fazer dinâmico

DecodeTime(now, hours, mins, secs, milliSecs);
RandSeed := milliSecs; // altera o "sequenciamento" dos números aleatórios

numVideo := Random(Length(arrayVideos)); // obtém um número aleatório dentro do intervalo de itens do array
ShowMessage('Video escolhido:' + arrayVideos[numVideo]);
eu vou fazer um loop com 10 rodadas e para cada rodada seriam 10 vídeos diferentes. Eu teria que fazer esse mesmo código para cada uma das vezes ou tem como eu chamar ele cada vez que 10 novos vídeos entrassem?
Ps: teria algum jeito de prever o resultado? Vi que o delphi utiliza um pseudo gerador de números aleatórios
Responder

23/12/2022

Arthur Heinrich

Quando voce seleciona algo aleatoriamente, corre o risco de o programa escolher o mesmo item em todas as vezes... Afinal, é aleatorio.

Este problema foi encontrado pela Apple, quando desenvolveu sei iPod e disponibilizou uma função de shuffle (embaralhar). Ele escolhia as músicas aleatoriamente e repetia muitas músicas.

Para resolver o problema, você precisa carregar em um array com todos os seus vídeos e embaralhar tudo. Depois, basta mostrar na ordem, do primeiro ao último, já embaralhados, que você não terá repetições
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar