Shopping Hospedagem Fórum Contato
     
   O portal do desenvolvedor ASP Florianópolis-SC, Terça-feira - 19 de Junho de 2018  
Busca

Menu do site
Efetuar Login
Usuário:

Senha:

 Esqueceu a senha?
Login automático

 Cadastre-se
Embaralhando números, como as cartas do baralho
Avaliações: 20   -   Minha nota: Média Geral: 6  

Vou mostrar neste artigo uma função que irá embaralhar os números, da mesma forma como ebaralhamos um baralho.
Ou seja, coloca-los em ordem aleatória e diferente a cada vez que chamada a função.


Veja abaixo a função:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<%
Function embaralha_numeros(tamanho)
  Dim numeros(), i, n
  Redim numeros(tamanho)
  For i = 1 to tamanho
    numeros(i) = i
  Next
  For i = 1 to tamanho
    Randomize
    n = Int(tamanho * Rnd) + 1
    x = numeros(1)
    numeros(1) = numeros(n)
    numeros(n) = x
  Next
  embaralha_numeros = Join(numeros, "-") & "-"
End Function
%>

Para chamar a função basta usar o seguinte código:

1
2
3
<%
Response.Write embaralha_numeros(20)
%>

Perceba que passamos para a função o valor "20", que pode ser qualquer valor, como preferir.
Significa que ela irá retornar os números de 1 a 20 embaralhados a cada vez que solicitado.



Veja abaixo este exemplo na prática, como ficaria:

-9-12-7-4-20-6-19-8-1-10-2-17-13-16-15-14-11-18-3-5-


O melhor de tudo é que você pode usar a função SPLIT para colocá-los em um ARRAY e usar os valores como desejar:

1
2
3
<%
valores = SPLIT(embaralha_numeros(20),"-")
Response.Write valores(3)
%>

Neste caso, sera exibido apenas o terceiro número da lista, veja abaixo:

7


Espero que este exemplo lhe seja útil.







SuperASP do Brasil Ltda

03.066.522/0001-84
Av. Rio Branco 433 - Centro - Florianopolis - SC
Contato

© 2001/2008 - Superasp do Brasil Ltda. Todos os direitos reservados