TEST CHANCE

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

TEST CHANCE

Mensagem por Rod em Sex 08 Jun 2012, 13:19

alguém sabe o código da função TEST CHANCE Action If Dice pra usar em code Action Code ?
tipo, tentei usar o choose, mas não serviu...

Rod

Ranking : Nota B
Número de Mensagens : 163
Data de inscrição : 20/04/2010
Notas recebidas : B
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: TEST CHANCE

Mensagem por cidmarcos em Sex 08 Jun 2012, 13:21

Posso até testar, mas de qualquer forma, você tem algo contra D&D ? pq, da para simplesmente fazer Action If Dice + Action Code . Não Quer tentar?

cidmarcos

Ranking : Nota D
Número de Mensagens : 177
Idade : 21
Data de inscrição : 26/05/2012
Notas recebidas : E+D
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.facebook.com/DragaoDeOuroJogo

Voltar ao Topo Ir em baixo

Re: TEST CHANCE

Mensagem por Rod em Sex 08 Jun 2012, 13:27

nada contra, eh que como eh código de IA do inimigo, o código final vai ficar meio quilométrico... queria saber se tem algum código simplesmente por questão de organização.
__________________________

P.S.: assim deu certo tb, se nao achar o codigo, vai ter que ser assim msm, VLW cidmarcos

Rod

Ranking : Nota B
Número de Mensagens : 163
Data de inscrição : 20/04/2010
Notas recebidas : B
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: TEST CHANCE

Mensagem por cidmarcos em Sex 08 Jun 2012, 13:45

De nada, Ah, eu não achei, eu pensei até em fazer variável,
Chance = 100
instance_create with chance = 0-100
Não EXATAMENTE isso, mas tentei de várias formas fazer essa chance em GML, mas não consigui...

vai ter que ser D&D + GML mesmo... mas já que é por organização não vejo pq não.

cidmarcos

Ranking : Nota D
Número de Mensagens : 177
Idade : 21
Data de inscrição : 26/05/2012
Notas recebidas : E+D
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.facebook.com/DragaoDeOuroJogo

Voltar ao Topo Ir em baixo

Re: TEST CHANCE

Mensagem por Zero. em Sex 08 Jun 2012, 14:01

Tem, assim :
var qualquer=irandom(n)
if qualquer=(n-2)
{//tal coisa acontece}
if qualquer=(n-1)
{//tal coisa acontece}
if qualquer=n
{//tal coisa acontece}

Ai está dividido em 3 ou seja 1/3 ou 33,3...%

Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: TEST CHANCE

Mensagem por CLT em Sex 08 Jun 2012, 14:21

Código:

Código:
floor(x)

Exemplo:

Código:
if (floor(random(2-1))=0)

CLT

Ranking : Nota C
Número de Mensagens : 343
Data de inscrição : 06/01/2012
Notas recebidas : B-D
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://equipeevolution.forumeiros.com/

Voltar ao Topo Ir em baixo

Re: TEST CHANCE

Mensagem por kadini em Sex 08 Jun 2012, 15:44

O CLT tem toda a razao, o codigo é
Código:
if (floor(random(n-1))=0){o que vai acontecer}
Nota: n é o numero de lados que to queres testar.

Aconselho a sacares este programa:
http://www.4shared.com/file/VEHSNPjg/DragnDrop_to_GML_Converter.html?cau2=403tNull

Com isto vais poder converter D&D em codigo ( GML )

kadini

Número de Mensagens : 192
Idade : 20
Data de inscrição : 02/03/2012
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: TEST CHANCE

Mensagem por saim em Sex 08 Jun 2012, 16:53

Sem o "-1", eu concordo. "random" te retorna um valor entre 0 e o número, mas nunca o número. Então, pra ter 50% de chances, você precisaria de um dade de 2 lados (em programação, isso é possível) ou um floor(random(2)).
floor(random(2-1)) é 100% de chances de acontecer.

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

Re: TEST CHANCE

Mensagem por Zero. em Sex 08 Jun 2012, 17:32

Certo saim.
Mas tipo o irandom(n) pode ser usado tb, ou o random é melhor ? (naum vi diferença)

Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: TEST CHANCE

Mensagem por LCS em Sex 08 Jun 2012, 21:06

Que eu me lembre o irandom serve para randomizar somente em números inteiros, ou sej,a sem números quebrados, seriam somente 1,2,3,4,5 etc... Já o random, passa pelos numeros quebrados, ou seja ficariam valores como 1,2, 2,4 e assim vai, mas como usou o floor ele arredonda pro inteiro mais proximo para baixo.
Me corrijam se eu estiver errado, mas que eu me lembre é isso mesmo.

LCS

Ranking : Nota A
Número de Mensagens : 1035
Idade : 21
Data de inscrição : 09/03/2010
Notas recebidas : A
Reputação : 43
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://www.www.ww.www

Voltar ao Topo Ir em baixo

Re: TEST CHANCE

Mensagem por PedroX em Sex 08 Jun 2012, 21:49

Random: número aleatório que é maior ou igual a zero e menor que o valor que você define no primeiro argumento.

Irandom: número inteiro aleatório que é maior ou igual a zero e menor que o número que você define no primeiro argumento.

Choose: retorna um dos valores.

Não recomendo o random neste caso.

Você pode usar o seguinte:

Código:
if  (irandom(6)==1)
{
//acontece 1 a cada 6 vezes
}

Ou você pode usar o choose mesmo, que também não recomendo neste caso, mas como você citou que não conseguiu, vou mostrar como funciona:

Código:

if choose(1,2,3,4,5,6,7) == 1
{
//acontece 1 a cada 7 vezes (pela teoria)
}

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: TEST CHANCE

Mensagem por kadini em Sab 09 Jun 2012, 08:02

sim SAIM tens razao tem de ser este codigo
Código:
floor(random(n))

nota: n é igual ao lados que quers testar e assim ja dá certo é isso SAIM

kadini

Número de Mensagens : 192
Idade : 20
Data de inscrição : 02/03/2012
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: TEST CHANCE

Mensagem por Zero. em Sab 09 Jun 2012, 08:19

mas o floor(random(x)) é desnecessário, basta usar irandom(n)

Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: TEST CHANCE

Mensagem por saim em Sab 09 Jun 2012, 14:29

Já no caso do irandom, aí tem que usar o "-1", mesmo. irandom te retorna um inteiro aleatório entre 0 e o número dado como argumento INCLUSIVE. Assim, irandom(3) pode te retornar 0, 1, 2, ou 3, com chances iguais de cada resultado. Uma chance em 4.

Fico feliz que ninguém tenha sugerido usar round(random(n)). Nesse caso, as probabilidades de dar 0 ou n ficam diferentes das probabilidades de qualquer outro número e explicar isso é uma bost... é difícil. Ou você saca logo de cara, ou leva horas pra entender.

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

Re: TEST CHANCE

Mensagem por PedroX em Sab 09 Jun 2012, 14:45

@saim
Não duvido de sua afirmação.
Porém, no site wiki.yoyogames.com, está a seguinte definição:

Returns a random integer between 0 and x. The number is always smaller than x.

Em negrito, diz que o número sempre é menor que o argumento.

Aí fica a questão...

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: TEST CHANCE

Mensagem por saim em Seg 11 Jun 2012, 15:24

Justamente! Essa afirmação se refere ao "random". Significa que random(4) jamais retornará 4. Pode retornar 3.999999...9, mas nunca 4. Isso é importante na questão de probabilidades, porque se retornasse 4, haveria uma possibilidade, ainda que improvável, de que floor(random(4)) retornasse 4 (já que floor não faz nada com números inteiros). Em muitos casos, essa situação causaria erros, o que é deveria ser impensável num jogo comercial.
No game maker 7, não tínhamos a função irandom, que veio pra facilitar muito nossa vida de estatísticos, então tínhamos que usar floor, ceil ou round. Na comunidade gringa (eu frequentava ela na época), isso vivia gerando loooongas discussões.

No caso do irandom, a definição é a seguinte:
irandom(x) Returns a random integer number between 0 and x (inclusive when x is an integer).
Olha que fácil! Se x for inteiro, ele tem chances de sair, se não for, o número que vai sair é um inteiro menor que x.

Então floor(random(3)) pode te retornar
0, 1 ou 2 - 3 alternativas
enquanto irandom(3) pode te retornar
0, 1, 2 ou 3 - 4 alternativas

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

Re: TEST CHANCE

Mensagem por PedroX em Seg 11 Jun 2012, 16:19

No site wiki.yoyogames.com ele fala do irandom sim, do modo que falei.
Mas parece que a informação está errada.
Por isso fiquei na dúvida. Mas está certo o que você disse.

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: TEST CHANCE

Mensagem por Conteúdo patrocinado Hoje à(s) 01:53


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