Háaaaaa
Direto tem gente reclamando de funções random, que, muitas vezes não se parecem nada aleatórias.
Tipo hoje, o brodi chamado luis henrique (kakaroto) tava reclamando que o random dele, muitas vezes, repetia o valor que saiu no sorteio anterior.
Ora, a probabilidade do número se repetir em um sorteio é bastante pequena para uma grande faixa de números (tipo 0 a 100) porém é uma probabilidade MUITO alta em faixa pequena de números (tipo 0 a 5).
Ora, se é aleatório, é aleatório. Mesmo que o número já tenha saído da última vez ele tem a probabilidade de sair novamente hehee.
Mas, como muita gente não fica satisfeito com esta possibilidade, bora gambiarrar mais uma vez pra impedir um número de se repetir.
Se este é seu caso, divirta-se com o código javascript abaixo (que eu chamei de 'pseudo-random'):
function pseudoRand(size){
//gerando o rand de zero a 'size - 1'
var randa = Math.floor(Math.random() * size);
//testando se o rand novo é igual ao antigo
if(typeof(oldrand)!='undefined'){
while(randa==oldrand){
//se for igual, eu gero um novo
randa = Math.floor(Math.random() * size);
}
}
//guardando o ultimo rand em uma var global
window['oldrand'] = randa;
//retornando o rand atual
return randa;
}
Uso
//vai alertar um random de 0 a 3 sem possibilidade de repetir o anterior alert(pseudoRandom(4))Gostou da dica acima? Então clica nos botões de compartilhamento abaixo e me ajude a dica a subir no Google.
