GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Servidor de Discord do fórum?
por Super Games Ontem à(s) 01:27

» Problemas com a caixa de diálogo, ela é pequena e as letras não cabem dentro
por Rukasu777 Qui 16 maio 2024, 18:10

» Problemas com particulas
por RastaMaan Dom 12 maio 2024, 17:03

» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08

» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42


Random 5 veses sem repetir o mesmo valor

+8
pedrosorio
Volstagg
rodrigo1434
Froidz
vinians
RKNF1995
Gusba
Janx
12 participantes

Página 1 de 2 1, 2  Seguinte

Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Random 5 veses sem repetir o mesmo valor

Mensagem por Janx Dom 05 Out 2008, 15:48

è o seguinte:
tenho 5 objetos, dai eu quero que cada um ganhe um numero aleatorio de 0 a 4.
cada numero desses corresponde a um outro valor... para outra coisa
mas como eu fasso para fazer esses randoms sem repetir o valor???
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por Gusba Dom 05 Out 2008, 17:31

explique melhor
Gusba
Gusba

Data de inscrição : 03/08/2008
Reputação : 0
Número de Mensagens : 1156
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

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

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

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por RKNF1995 Dom 05 Out 2008, 17:38

acho que ele quer que apareça 5 numeros aleatorias mas que nao se repitam
RKNF1995
RKNF1995

Data de inscrição : 19/07/2008
Reputação : 6
Número de Mensagens : 1257
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

http://www.rknf1995.blogspot.com

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por vinians Dom 05 Out 2008, 18:14

Coloque no evento CREATE em um objeto de inicializacao:
Código:

randomize();
depois no evento CREATE de cada objeto:
Código:

numero = ceil(random(5));
vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2715
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por Janx Dom 05 Out 2008, 18:52

noossa explica porfavor?? O_O!"
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por Gusba Dom 05 Out 2008, 18:54

q codigo é esse, explica ae!
Gusba
Gusba

Data de inscrição : 03/08/2008
Reputação : 0
Número de Mensagens : 1156
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

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

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

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por Froidz Dom 05 Out 2008, 19:29

será que criando 5 alarms resolveria o problema?
Soh uma sugestão ^^
Froidz
Froidz

Data de inscrição : 03/08/2008
Reputação : 4
Número de Mensagens : 1053
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por Janx Dom 05 Out 2008, 19:37

Claudio Bruno escreveu:será que criando 5 alarms resolveria o problema?
Soh uma sugestão ^^
Nao O.o
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por vinians Dom 05 Out 2008, 19:46

Randomize() - Faz com que ao executar o seu jogo os números aleatórios gerados sejam sempre diferentes. Ele embaralha o gerador de números aleatórios. Assim quando voce usar a função random() ela vai funcionar melhor como se fosse um veradadeiro dado eletrônico. Você precisar executar a função randomize() ao menos uma vez em seus jogos se for utilizar números aleatórios. A função ceil() serve arredondar um número tipo 4.2 para o maior inteiro mais próximo do número. Você pode usar o floor() que faz o arredondamento para baixo. Tipo 4.2 vira 4. Usando o ceil() 4.2 vira 5. Então random(5) de 0 a 4.999 por isso uso o ceil(). Flw
vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2715
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por rodrigo1434 Dom 05 Out 2008, 20:13

var=floor(random(4))
tenta esse

ou cria um objeto que ira criar esse objetos

var a;
a=0
repeat(5){
bola=instance_create(random(room_width),random(room_height),obj_bola)
with(bola) valordabola=a
a+=1}


Última edição por rodrigo1434 em Dom 05 Out 2008, 20:21, editado 1 vez(es)
rodrigo1434
rodrigo1434

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 25/04/2008
Reputação : 5
Número de Mensagens : 324
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

http://brasilgame.forumbrasil.net

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por Janx Dom 05 Out 2008, 20:16

rodrigo1434 escreveu:var=floor(random(4))
tenta esse

isso pode dar o mesmo numero mais de uma vez.

Vunians:
Cara, mas dai se um valor é 'escolhido', esse valor nao vai ser mais escolhido dinovo ateh eu recomeçar o jogo?? digamos... que caiu 8
dai nunca mais pode cair 8 ateh eu fexa o jogo e abrir dinovo??
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por rodrigo1434 Dom 05 Out 2008, 20:24

atualizei o post veja dinovo
rodrigo1434
rodrigo1434

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 25/04/2008
Reputação : 5
Número de Mensagens : 324
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

http://brasilgame.forumbrasil.net

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por vinians Seg 06 Out 2008, 03:06

Na verdade o randomize() faz com que a aleatorização seja mais real. Se vc quizer garantir que nao dê igual armazene os numeros em um vetor.
No evento CREATE de um objeto coloque este código e execute pra vc como funciona:
Código:

r[1] = 0; r[2] = 0; r[3] = 0; r[4] = 0; r[5] = 0;
randomize(); //prepara gerador aleatorio
ss = " ";
while (ss <> "AAAAA")
{
  c  = 0;
  ss = "*****";
  repeat (5)
  {
      c += 1;
      r[c] = ceil(random(5));  //gera numero aleatório no vetor r
      //coloca uma letra 'A' pra marcar a posição
      s1 = string_copy(ss, 1,  r[c] - 1);
      s2 = string_copy(ss, r[c] + 1, string_length(ss) - r[c]);
      ss = s1 + 'A' + s2;
  }
}
c = 1; repeat(5) {r[c] = r[c] - 1; c += 1;}; //valores de 0 a 4 em r
//Depois que vc testar pode remover daqui pra baixo (é so pra mostrar como ficou)
c = 1; str = "-";
repeat(5) {str = str + string(r[c]) + "-"; c += 1; }
show_message('Numeros Gerados: ' + str);
Este é um código de exemplo que gera 5 numeros aleatórios diferentes entre si. Os numeros estão armazenados no vetor r[], dai agora é só vc pegar o valor r[1], r[2] etc e colocar numa variável nos seus 5 objetos. flw
*obs: código testado na versão 7 do GM[u]
vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2715
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por Volstagg Seg 06 Out 2008, 10:55

Que "codigozão" heim! Shocked
Volstagg
Volstagg

Data de inscrição : 16/05/2008
Reputação : 0
Número de Mensagens : 353
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por Gusba Seg 06 Out 2008, 13:13

muito bem pensado esse seu codigo vinians
Gusba
Gusba

Data de inscrição : 03/08/2008
Reputação : 0
Número de Mensagens : 1156
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

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

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

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por pedrosorio Seg 06 Out 2008, 18:13

Demasiado complicado esse código, e não faz sentido usar strings.

Código:

r[4]=0;
randomize();
for(a=0;a<=4;a+=1) {
  n=floor(random(200))+1;
  nn=0;
  while(n>0) {
    while(r[nn]!=0)
      nn=(nn+1) mod 5;
    n-=1;
  }
  r[nn]=a+1;
}
pedrosorio
pedrosorio

Data de inscrição : 15/06/2008
Reputação : 0
Número de Mensagens : 50
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

http://pedrosorio.nfshost.com

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por vinians Seg 06 Out 2008, 19:41

pedrosorio escreveu:Demasiado complicado esse código, e não faz sentido usar strings.

Código:

r[4]=0;
randomize();
for(a=0;a<=4;a+=1) {
  n=floor(random(200))+1;
  nn=0;
  while(n>0) {
    while(r[nn]!=0)
      nn=(nn+1) mod 5;
    n-=1;
  }
  r[nn]=a+1;
}
Sério? bem eu testei o seu código e ele não esta funcionando sempre retorna a mesma sequencia 1-2-3-4-5...
vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2715
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por pedrosorio Ter 07 Out 2008, 03:49

LOL

É o que dá escrever código às tantas da noite sem testar, evidentemente faltava uma linha fundamental:

Código:

r[4]=0;
randomize();
for(a=0;a<=4;a+=1) {
  n=floor(random(200))+1;
  nn=0;
  while(n>0) {
    nn=(nn+1) mod 5;
    while(r[nn]!=0)
      nn=(nn+1) mod 5;
    n-=1;
  }
  r[nn]=a+1;
}
pedrosorio
pedrosorio

Data de inscrição : 15/06/2008
Reputação : 0
Número de Mensagens : 50
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

http://pedrosorio.nfshost.com

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por dani Ter 07 Out 2008, 08:23

pedrosorio escreveu:LOL

É o que dá escrever código às tantas da noite sem testar, evidentemente faltava uma linha fundamental:

Código:

r[4]=0;
randomize();
for(a=0;a<=4;a+=1) {
  n=floor(random(200))+1;
  nn=0;
  while(n>0) {
    nn=(nn+1) mod 5;
    while(r[nn]!=0)
      nn=(nn+1) mod 5;
    n-=1;
  }
  r[nn]=a+1;
}

acho que não vai retornar o mesmo valor de antes.... pq tipo, o vetor r[4] vai adicionar sempre a sequência de 1 - 2 - 3 - 4 como mostra essa linha r[nn]=a+1; a meu ver tudo que está dentro do laço for será despresado.

@topic
não sei se o código do vinians explica isso, como não entendi vou perguntar... como que funciona exatamente esse randomize()? pois 1.2 é diferente de 1.3, mas como querem um inteiro vai ficar 1.. então se repetirá.
dani
dani

Data de inscrição : 03/10/2008
Reputação : 0
Número de Mensagens : 30
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por pedrosorio Ter 07 Out 2008, 16:08

Portanto, dani, você acredita sinceramente que um código que usa strings para gerar números aleatórios é um código conciso e correcto. Mas não se dá sequer ao trabalho de analisar um algoritmo simples para gerar números aleatórios não repetidos?

A meu ver, a linha r[nn]=a+1 vai colocar na posição nn do array r, o valor a+1, (1,2,3,4,5). Evidentemente a aleatoriedade se encontra no 'nn', isto é, na posição do array onde é colocado o número.

O algoritmo limita-se a gerar um número aleatório 'n' e a percorrer o array em busca de posições que ainda não têm valores atribuídos. Cada vez que encontra uma dessas, diminui o 'n' até chegar a 0. Quando aqui chega atribui à posição actual 'nn' o valor designado. Temos assim uma posição perfeitamente aleatória. Já tinha aliás mostrado este algoritmo noutro tópico da gmbr.

Embora o ciclo não tenha que ser percorrido muitas vezes, a verdade é que não vale a pena estar a diminuir n até chegar a 0. Um pouco de aritmética modular simples resultaria no seguinte código equivalente:

Código:

r[4]=0;
randomize();
for(a=0;a<=4;a+=1) {
  n=floor(random(200))+1;
  n=n mod (5-a);
  if(n==0)
    n=5-a;
  nn=0;
  while(n>0) {
    nn=(nn+1) mod 5;
    while(r[nn]!=0)
      nn=(nn+1) mod 5;
    n-=1;
  }
  r[nn]=a+1;
}

Pode parecer que me limitei a adicionar código "desnecessário" mas se quisermos gerar uma lista de números aleatórios muito grande, este código executará bem mais rápido que a minha versão anterior.
pedrosorio
pedrosorio

Data de inscrição : 15/06/2008
Reputação : 0
Número de Mensagens : 50
Prêmios : Random 5 veses sem repetir o mesmo valor Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

http://pedrosorio.nfshost.com

Ir para o topo Ir para baixo

Random 5 veses sem repetir o mesmo valor Empty Re: Random 5 veses sem repetir o mesmo valor

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Página 1 de 2 1, 2  Seguinte

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos