randomize

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

10% randomize

Mensagem por diassis em Qui 24 Maio 2012, 00:23

olá pessoal!!! tô quebrando a cuca com o comando randomize(), não sei onde coloco isso.
pois bem, preciso fazer um sorteio de 1 a 30 "aleatoriamente sem repetir nenhum"

Código:
a=ceil(random(30))
o tal do randomize() favorece isso, mas, não ecerto, alguém me dá uma dica?????????

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

10% Re: randomize

Mensagem por saim em Qui 24 Maio 2012, 08:55

Acabei de tomar conhecimento de 3 funções... randomize, random_set_seed e random_get_seed. Não sei usar nenhuma delas e o manual não ajudou.
Mas se você quer "randomizar" uma série de números (ou qualquer outra coisa), aqui tem um tópico em que estamos falando exatamente desse assunto.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

10% Re: randomize

Mensagem por diassis em Qui 24 Maio 2012, 15:45

saim obrigado por responder mas o meu código já está complexo demais para usar esse monte de coisa, eu iria pirar. só preciso de uma variavel que faz sorteios de 1 a 30 sem repetir só isso, uso o a=ceil(random(30)), mas se ele chama o numero 10 por exemplo, chama outros e depois o 10 sai novamente e não quero isso, quero de 1 a 30, um de cada vez aleatoriamente sem repetir. o resto do código que depende desses resultados já enche o saco bastante. falow!!!!!

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

10% Re: randomize

Mensagem por luan.alc em Qui 24 Maio 2012, 16:14

Cara não testei posso te dar uma sugestão usa um pouco de lógica e vê se da certo, por exemplo, você poderia criar uma VAR com os valores que já foram sorteados... e na hora de um novo sorteio verificar se valor a = sorteados se for manda randomizar novamente...

Deve ( Concerteza ) deve ter uma forma mais, simples, como falei antes é só uma sugestão ..

Abraços, espero que consiiga !

luan.alc

Ranking : Nota B
Número de Mensagens : 293
Idade : 20
Data de inscrição : 13/03/2012
Notas recebidas : B
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

Voltar ao Topo Ir em baixo

10% Re: randomize

Mensagem por saim em Qui 24 Maio 2012, 16:41

A "forma mais simples" é usar as ds_lists. Não acho que nada pode ser mais simples que isso.
- coloca-se os valores a serem sorteados numa ds_list
- embaralha-se a ds_list
- retira-se os valores da ds_list, já embaralhados
É só isso. No outro tópico eu falei um monte, mas resumindo, é só isso.

No outro tópico tem um script complexão (CUSTEI a entender o que ele faz), que roda em lite. Se quiser copiar e colar, está lá. Não tenho certeza de quais argumentos usar no script, porque não reli ele, mas lembro que ele era bem flexível.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

10% Re: randomize

Mensagem por diassis em Qui 24 Maio 2012, 16:52

luan.alc = estou fazendo exatamente como você disse, por isso tá ficando tão extenso e com muitas condições.

saim = o problema é que nunca usei ds list, não sei nem pra onde vai, mas estou usando arquivo ini e ele depende do resultado do sorteio por isso que as condições atrapalham seria bem mais fácil ler o sorteio comparar com o arquivo ini e pronto. mas o sorteio repete e caga tudo.

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

10% Re: randomize

Mensagem por luan.alc em Qui 24 Maio 2012, 16:59

diassis

Cara, meus jogos a maioria são assim.. cheio de códigos, variáveis, e tudo mais... porque uso bastante lógica da programação, já que não tenho muita experiencia com o gml , nunca me deu problema isto, mas tem que saber fazer certinho.. agora tem hora, que a logica não resolve. kk

Ai temos que estudar mesmo ! abraços, espero que consiga, se conseguir avisa ai !

luan.alc

Ranking : Nota B
Número de Mensagens : 293
Idade : 20
Data de inscrição : 13/03/2012
Notas recebidas : B
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

Voltar ao Topo Ir em baixo

10% Re: randomize

Mensagem por diassis em Qui 24 Maio 2012, 17:12

também me alimento dá lógica para fazer os meus, virei a noite fazendo esse código, fiz e refiz mas já está bem encaminhado vou conseguir sim de um jeito ou de outro, eu só queria simplificar. estou usando true e false para os números sorteados tá funcionando.

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

10% Re: randomize

Mensagem por Roooger em Qui 24 Maio 2012, 19:33

choose(1,2,3,4,5,...) também serve!

Roooger

Número de Mensagens : 254
Data de inscrição : 03/02/2012
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

10% Re: randomize

Mensagem por diassis em Qui 24 Maio 2012, 20:13

Roooger escreveu:choose(1,2,3,4,5,...) também serve!

também repete o sorteio..... mas eu chego lá. também pedi ajuda ao vinians por MP ele já comentou algo a respeito aqui no forum



//////////////////// EDITADO ///////////////////////


JÁ CONSEGUI!!! UFA!!!!! TRUE E FALSE RESOLVERAM O PROBLEMA

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

10% Re: randomize

Mensagem por Conteúdo patrocinado Hoje à(s) 15:27


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