Ir para conteúdo
Fórum Script Brasil
  • 0

Valor aleatório SEM REPETIÇÃO


webber

Pergunta

Galera,

preciso pegar um número aleatoriamente entre 1 e 80, mas quando a linha do tempo voltar ao início, o número não pode ser repetido. Inicialmente fiz um random básico:

FRAME 1:

onEnterFrame = function() {

var sorteio = random(79)+1;

objeto = "frasco" + sorteio;

}

--------------------------------

FRAME 2:

trace(objeto);

--------------------------------

FRAME 3:

goToAndPlay(1);

--------------------------------

Como vocês podem ver, quero que apareça uma lista randômica no output. Ex:

frasco2

frasco35

frasco7

frasco12

e assim vai...

Mas no código que fiz, o número se repete. Ex:

frasco5

frasco72

frasco16

frasco5

...

Pesquisando na web, descobri que isso se faz com Array, mas não consegui fazer aqui. Alguém poderia me ajudar nisso???

Abraços

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Segue abaixo um exemplo simples usando uma Array

var arr = new Array(1,2,3,4,5,6,7,8,9,0);

function getRandon():Number
{

var index = Math.floor( Math.random()*arr.length )
var tmp = arr[index];

arr.splice( index, 1)

return tmp

}

trace( getRandon() );
trace( getRandon() );
trace( getRandon() );
trace( getRandon() );
trace( getRandon() );
trace( getRandon() );
trace( getRandon() );
trace( getRandon() );
trace( getRandon() );
trace( getRandon() );
para colocar mais valores na array de 1 até 80, como no seu exemplo:
var arr = new Array();

for( n=1; n<=80; n++ )
{
arr.push( n );
}

function getRandon():Number
{

var index = Math.floor( Math.random()*arr.length )
var tmp = arr[index];

arr.splice( index, 1)

return tmp

}

trace( getRandon() );
trace( getRandon() );
trace( getRandon() );
trace( getRandon() );
trace( getRandon() );
trace( getRandon() );
trace( getRandon() );
trace( getRandon() );
trace( getRandon() );
trace( getRandon() );

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...