Como fazer o delphi escolher aleatóriamente?

Algoritmo

Delphi

06/12/2022

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

Curtidas 0

Melhor post

Emerson Nascimento

Emerson Nascimento

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]);
GOSTEI 1

Mais Respostas

Aníbal

Aníbal

06/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]);
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
GOSTEI 0
Arthur Heinrich

Arthur Heinrich

06/12/2022

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
GOSTEI 0
POSTAR