Últimos assuntos
» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

» Ajuda para mecanismo do jogo
por Willy Dom 16 Jul 2017, 15:54

Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220918 mensagens em 30411 assuntos

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!!
avatar
Borgo

Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário 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.
avatar
Lap1994

Data de inscrição : 20/11/2008
Número de Mensagens : 350
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário 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)
avatar
Borgo

Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário 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
avatar
Froidz

Data de inscrição : 03/08/2008
Número de Mensagens : 1053
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

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.
avatar
Borgo

Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário 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
avatar
Lap1994

Data de inscrição : 20/11/2008
Número de Mensagens : 350
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário 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)
avatar
Borgo

Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário 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
avatar
Gusba

Data de inscrição : 03/08/2008
Número de Mensagens : 1156
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   :
   :

Ver perfil do usuário 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
avatar
Borgo

Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário 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!
avatar
Gusba

Data de inscrição : 03/08/2008
Número de Mensagens : 1156
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   :
   :

Ver perfil do usuário http://www.ciganospictures.hd1.com.br

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