Conectar-se
Quem está conectado
19 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 19 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://www.neonerds.com.br

Problemas com Random

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
Data de inscrição : 20/11/2008
Número de Mensagens : 350
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://lap1994.deviantart.com/

Re: Problemas com Random

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
Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://www.neonerds.com.br

Re: Problemas com Random

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
Data de inscrição : 03/08/2008
Número de Mensagens : 1053
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Problemas com Random

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
Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://www.neonerds.com.br

Re: Problemas com Random

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
Data de inscrição : 20/11/2008
Número de Mensagens : 350
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://lap1994.deviantart.com/

Re: Problemas com Random

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
Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://www.neonerds.com.br

Re: Problemas com Random

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
Data de inscrição : 03/08/2008
Número de Mensagens : 1156
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 1
   :
   :
Ver perfil do usuáriohttp://www.ciganospictures.hd1.com.br

Re: Problemas com Random

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
Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://www.neonerds.com.br

Re: Problemas com Random

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
Data de inscrição : 03/08/2008
Número de Mensagens : 1156
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 1
   :
   :
Ver perfil do usuáriohttp://www.ciganospictures.hd1.com.br

Re: Problemas com Random

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!
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum