Ir para conteúdo
Entre para seguir isso  
pejuge2

Conceitos de Aleatório

Recommended Posts

pejuge2    1
pejuge2

Aleatório

 

Olá, estou a um tempo parado e decidi postar este tutorial conceitual.

 

O objetivo hoje é explicar como funciona a função math.random(...) em lua.

 

O que é aleatório?

Por conceito aleatório é aquilo que é escolhido independente de qualquer valor, ao acaso.

 

Aplicação?

Na prática, não existe aplicação exata ao conceito, entretanto, utilizamos fórmulas matemáticas para gerar valores que fogem um pouco do controle do usuário. Quando se utiliza math.random por exemplo, você está pedindo para a máquina gerar um número, definirei portanto esta atitude como semi-aleatória.

 

Por que semi-aleatório?

Simples, quando você utiliza math.random, o computador gera um número através de uma base que foi fornecida, às vezes sem sua percepção, é a denominada semente.

 

Semente? Planta?

O conceito utilizado requer um pouco de imaginação para compreensão. Imagine que você planta uma semente de caju, daqui algum tempos a árvore crescerá, e você poderá colher os frutos. Com math.random também é assim, você define o valor de base, este valor vai dar origem a vários outros valores.

 

O ser humano tem a capacidade de tomar múltiplas decisões?

Não, ao menos não do ponto de vista matemático. As decisões são tomadas de acordo com as experiências que este acumulou e com o momento em que ele está, sendo importantes as variáveis do ambiente, pensemos na natureza como um computador gigantesco e de alta performance.

 

OtServer

Quando um OT inicia, a semente que eu citei anteriormente, é semada logo na inicialização, por isso os scripts não precisam utilizá-lo. Quando um .lua é criado separadamente, caso não se semeie os resultados serão sempre iguais.

 

Resumo - Não entendeu? Leia o resumo...

Sempre que você utiliza math.random, o computador gera um número de acordo com a base definida por math.randomseed.

 

Obrigado por lerem o tópico.

Atenciosamente, Pedro Silva Moreira - PeJuGe.

 

Gostou? Clique no link do meu projeto \/.

Editado por pejuge2

Compartilhar este post


Link para o post
Oneshot    24
Oneshot

pejuge2,

 

Ótimo tutorial conceitual, explica bem a função math.random e as definições de Aleatoriedade.

 

Aprovado, obrigado pela contribuição.

Seu tutorial/script foi avaliado como [ C+ ] e será remunerado em 45 V$, aguarde.

Editado por Garou

Compartilhar este post


Link para o post
Mock    32
Mock

No caso o otserver coloca uma semente como valor inicial. Porem se você colcoar algo como semente = 7 e math.random(1,3) toda vez o primeiro random vai dar 2. Depende da seed então eis que veio alguem e falou, vamoz fazer o tempo uma semente! entao surgiu um formato de hora que conta os segundos minutos horas dias meses e anos com um numero só normalmente de 8 ou 9 digitos (nem lembro).

 

Quando você vai programar algo como um robô. e usar random n vai adiantar nada você precisa colocar um relogio nele pra quando o robo iniciar você pegar a hora do relogio e usar como semente, então nunca haverá uma semente igual :D

 

Correção:

math.random(...)

Math random funciona com nem um parametro (retorna um rand entre 0 e 1) ou 2 parametros (maximo e minimo)

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×