Problemas com Random

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Problemas com Random

Mensagem por Borgo em Qua 07 Jan 2009, 22:10

Salve galerinha do mal,

I Have a Problema!!

Não sei se todos sabem mas o comando random, não só na GML mas em outras linguagens também, não funciona como um "verdadeiro aleatório". O computador nunca teve como verdadeiramente escolher um determinado valor, ele segue sempre um mesmo padrão.

Bem, ai vem o problema:
Estou criando um game de simulador de Criação de Peixes scratch
Para isso eu estou simulando um ambiente e talz, com datas, estações do ano, tempo, temperatura dop ambiente, etc.

Para a temperatura, além das estações do ano, eu uso um fator randomico para alterar (Nunca confie no homem do tempo kkk)
algo como tipo...

IF bla bla bla...
temperatura += random(1)-0.5;

Ou seja a cada hora, ele irá rodar isso, e a temperatura pode variar por hora entre -0,5 e + 0,5, porém como o random usa uma sequencia lógica, a temperatura varia somente entre 24 e 26 (caso o padrão seja 25).

Isto significa que se criarmos um jogo de sorte em que o comando random definirá o destino dos jogadores, mesmo que um saia na frente, ambos chegarão ao seu destino praticamente juntos. (Como quando pegamos transito e por mais que mudemos de faixa e a faixa visinha pareça andar mais rápido, vemos o mesmo cara que fechou agente a 50km atrás)

Obs.: Já tentei trabalhar com o comando random_set_seed(seed)

Valeu Galera!!

Borgo

Número de Mensagens : 69
Idade : 29
Data de inscrição : 06/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.neonerds.com.br

Voltar ao Topo Ir em baixo

Re: Problemas com Random

Mensagem por Lap1994 em Qua 07 Jan 2009, 22:16

Código:
random_set_seed(random(1024));
tempertura+=random(1)-0.5;
Creio q naum há muita coisa a fazer além de deixar o random + random.

Lap1994

Número de Mensagens : 350
Idade : 22
Data de inscrição : 20/11/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://lap1994.deviantart.com/

Voltar ao Topo Ir em baixo

Re: Problemas com Random

Mensagem por Borgo em Qua 07 Jan 2009, 22:24

ixxx, já deixei o random controlando um random com um fator randomico e nada scratch

faça um teste.

coloque no evento step de um objeto o seguinte código:

a=0;
random_set_seed(random(1024))
if random(1) < 0.5
a+=1
else
a-=1

inicie em debug mode e adicione a linha: objeto.a

o número irá variar entre -1 e 1 mas nunca além disso...

ah sim, basta executar o comando randomize() que ele muda o seed...


Última edição por Borgo em Qua 07 Jan 2009, 22:29, editado 1 vez(es)

Borgo

Número de Mensagens : 69
Idade : 29
Data de inscrição : 06/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.neonerds.com.br

Voltar ao Topo Ir em baixo

Re: Problemas com Random

Mensagem por Froidz em Qua 07 Jan 2009, 22:25

Não entendi nada o que disse xD
Mas vendo o código, acho você pode tentar:

Código:
temperatura += abs(random(1))-0.5;

Para ter um valor absoluto do random.

Valeu!Happy

Froidz

Número de Mensagens : 1053
Idade : 23
Data de inscrição : 03/08/2008
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Problemas com Random

Mensagem por Borgo em Qua 07 Jan 2009, 22:44

Não é isso...
Pense o seguinte, vc cria um jogo do tipo caça níqueis e usa o fator randomico para os premios, algo como if random(1) > 0.5 premio='GANHOU'

exatamente 50% das pessoas irão ganhar, este comando tende a agir como uma balança, se um dos números foi menor que 0.5 o próximo será maio, e assim por diante.

Não existe um comando do tipo jogar_dados(numero_de_dados)? kkkkk


Edit: Obs.: tentei usar o comando choose e acontece o mesmo. Vi que em algumas linguagens de programação existe um comando chamado shuffle (aleatório) que não sei como, criaram um algorítmo que realmente escolhe... aleaoriamente!! Mas isso não existe na GML.

Borgo

Número de Mensagens : 69
Idade : 29
Data de inscrição : 06/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.neonerds.com.br

Voltar ao Topo Ir em baixo

Re: Problemas com Random

Mensagem por Lap1994 em Qua 07 Jan 2009, 23:28

Coisa engraçada:
Código:
if random(3) > 1.5
Faça um teste, os resultados são surpreendentes

Lap1994

Número de Mensagens : 350
Idade : 22
Data de inscrição : 20/11/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://lap1994.deviantart.com/

Voltar ao Topo Ir em baixo

Re: Problemas com Random

Mensagem por Borgo em Qui 08 Jan 2009, 00:46

Sad
Num deu também...

Vou dar uma estudada legal e ver se consigo criar um algoritmo que faça isso direitinho...


Última edição por Borgo em Qui 08 Jan 2009, 01:14, editado 2 vez(es)

Borgo

Número de Mensagens : 69
Idade : 29
Data de inscrição : 06/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.neonerds.com.br

Voltar ao Topo Ir em baixo

Re: Problemas com Random

Mensagem por Gusba em Qui 08 Jan 2009, 01:13

cara tente sortear o seed com um valor q muda no jogo, por exemplo a posição do mouse

Gusba

Número de Mensagens : 1156
Idade : 21
Data de inscrição : 03/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.ciganospictures.hd1.com.br

Voltar ao Topo Ir em baixo

Re: Problemas com Random

Mensagem por Borgo em Qui 08 Jan 2009, 01:15

KKKK Vacilei!!!
se usar:

randomize()
if random(1)>0.5
{
bla bla bla
}

funciona...

Como agora eu só estava fazendo uns testes, fazia em cima do script:
a=0;
randomize()
if random(1)>0.5
a+=1;
else
a-=1;

Mas, esqueci do a=0 do começo, logo, ele sempre zera a variavel a antes de somar ou subtrair 1, ou seja... NUNCA iria passar de -1 e 1
lol!


Bem, então a solução do problema é
randomize()
if random(x)>y


Esse comando randomize() gera esse seed, mas a idéia da coordenada do mouse achei sensacional!!!

Valeu galera, vacilo meu... deve ser o sono hehehe

Borgo

Número de Mensagens : 69
Idade : 29
Data de inscrição : 06/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.neonerds.com.br

Voltar ao Topo Ir em baixo

Re: Problemas com Random

Mensagem por Gusba em Qui 08 Jan 2009, 01:20

mas a idéia da coordenada do mouse achei sensacional!!!

valeu cara, e olha só, nem me liguei tambem, ele sempre seta pra zero, auaheuaheu, nunca ia da mesmo, vlw!

Gusba

Número de Mensagens : 1156
Idade : 21
Data de inscrição : 03/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.ciganospictures.hd1.com.br

Voltar ao Topo Ir em baixo

Re: Problemas com Random

Mensagem por Conteúdo patrocinado Hoje à(s) 03:50


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum