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
» 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

» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 18:28

» 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

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» 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

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39


[RESOLVIDO]Chances

4 participantes

Ir para baixo

[RESOLVIDO]Chances Empty [RESOLVIDO]Chances

Mensagem por Zero. Dom 22 Ago 2010, 17:03

Preciso de ajuda rapido,
eu não sei fazer algo aparecer tandomicamente =/
Tipo tem um botao pra criar tal item na room, ai vc clika E o item aparece, mas eu quero q o item apareça em qualquer lugar da room, ajuda ai...

e tambem, quero que uma criatura que eu fiz ande aleatoriamente para quaqer direçao tipo ela ta indo pra cima e quando ela quer vai pra diagonal depois pra baixo, pra esquerda e por assim vai.

e quero tambem, q tipo uma criatura comeu um alimento, e logo em seguida ela gera outra criatura, mas quero q ela gere 1 criatura entre 4, ou seja ela pode gerar uma dessas 4 criaturas, mas sendo que uma tenho 80% de chance de sair e as outras 3 com 6.3% de chance de sair (exemplo <) e e 1.1% de chance de num sair nada. é isso tenho duvida com chances e a funçao random

VLW AGRADEÇO DESDE JÁ !
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : [RESOLVIDO]Chances 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

Ir para o topo Ir para baixo

[RESOLVIDO]Chances Empty Re: [RESOLVIDO]Chances

Mensagem por Fuzenrad Dom 22 Ago 2010, 17:13

Bastante simples, as funções room_width e room_height são variáveis que armazenam o valor da largura e altura da tela respectivamente e a função irandom(x), randomiza números inteiros dentro do intervalo de 0 até x, dessa forma é possível randomizar onde o objeto vai aparecer dentro da tela, unindo-as:

Código:
x=irandom(room_height);
y=irandom(room_width);
Obs.: Use no evento Create ou algum que só ocorra 1 vez, caso contrário o objeto ficará randomizando sua posição constantemente.
Fuzenrad
Fuzenrad

Games Ranking : Nota A

Notas recebidas : A-A-A-A-B
Data de inscrição : 04/07/2010
Reputação : 46
Número de Mensagens : 1063
Prêmios : [RESOLVIDO]Chances Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

Ir para o topo Ir para baixo

[RESOLVIDO]Chances Empty Re: [RESOLVIDO]Chances

Mensagem por Zero. Dom 22 Ago 2010, 17:29

OTIMO!
Valeu mas, preciso de ajuda com as outras perguntas =/ ...

Pricipalmente o da direção aleatoria !

E OUTRA PERGUNTA !
Como fazer para uma criatura ir atras do alimento mais proximo^?
pq aqui ela ta indo atras da 1° a ser criada *-*

EDIT__
ela ta indo atras da 1° q criou qndo ela estava na room, se ja tiver um alimento antes dela estar na room ou seja, se ela nascer depois do alimento ela naum vai atras desse alimento q ja tem ajuda i =+
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : [RESOLVIDO]Chances 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

Ir para o topo Ir para baixo

[RESOLVIDO]Chances Empty Re: [RESOLVIDO]Chances

Mensagem por Fuzenrad Dom 22 Ago 2010, 17:58

Isso envolve um pouco mais de raciocício, mas é relativamente simples também, tem que controlar cada objeto individualmente e isso é quase sempre um problema para os novatos.

Seguinte, o game maker tem várias funções pra identificar cada instância, indiferente se são o mesmo objeto em locais diferente, é possível fazer essa diferenciação de várias maneiras, uma delas é o id e o object_index, que eu acho as mais complicadas. Geralmente eu uso o instance_find(obj,n) ou o instance_position(x,y,obj) (mas funciona melhor para objetos fixos), no seu caso específico existe, já pronta, a função instance_nearest(x,y,obj) que localiza o objeto mais próximo da coordenada [x,y] e o controla.

Para trabalhar com essas funções, você usa o with (tradução literal com), funciona da segunte maneira:

with objeto_desejado {
função }

Você pode também "puxar" valores dos outros objetos, utilizando também, o with, com o other:

with objeto_desejado {
image_angle=other.image_angle }

Dessa forma, pra fazer o objeto seguir o ponto de "comida" mais próximo dele, e não o primeiro a ser colocado na tela, você pode usar (evento Step):

Código:
with instance_nearest(x,y,comida) { other.speed=3;
other.direction=point_direction(other.x,other.y,x,y) }
A tradução literal seria:
Com o objeto "comida" mais próximo, insira a velocidade 3 na direção do objeto mais próximo.

Você pode então criar algumas situações, como destrui a "comida" ao encostar, nesse caso ele vai percorrer o menor caminho possível, passando por todas as "comidas" da tela.
Fuzenrad
Fuzenrad

Games Ranking : Nota A

Notas recebidas : A-A-A-A-B
Data de inscrição : 04/07/2010
Reputação : 46
Número de Mensagens : 1063
Prêmios : [RESOLVIDO]Chances Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

Ir para o topo Ir para baixo

[RESOLVIDO]Chances Empty Re: [RESOLVIDO]Chances

Mensagem por Zero. Seg 23 Ago 2010, 13:10

Muito obrigado, mas o maior problema msm é,
e quando naum ouver nenhuma comida, eu quero q ele fique andando pro lado que ele quizer como tem na minha ultima resposta.

E tambem a de chances de cada criatura nascer.

edit _

E tipo, quero aumentar sua rep se aqui tiver como pq vc mi ajudou bastante =D, mas n sei como aumentar( se puder é claro)
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : [RESOLVIDO]Chances 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

Ir para o topo Ir para baixo

[RESOLVIDO]Chances Empty Re: [RESOLVIDO]Chances

Mensagem por Fuzenrad Seg 23 Ago 2010, 16:28

O fórum não possui esse tipo de sistema, de qualquer forma obrigado, é muito bom ver que te ajudei.

Então, conhecendo a variável de direção e sabendo que uma volta completa tem 360 graus, você chega em:
direction=irandom(360);

E com a função instance_number(obj) que conta o números de objetos obj:

if instance_number(comida)=0 {
função }

Eu aconcelho você usar em um evento Alarm (qualquer um que esteja disponível), no evento Create desse mesmo objeto, você coloca:

Código:
alarm[0]=room_speed; //Executa o alarm 0 após 1 segundo

E no Alarm 0:
Código:
alarm[0]=2*room_speed //2 segundos
if instance_number(comida)=0 {
direction=irandom(360);
speed=3; }
Traduzindo: A cada 2 segundos a direção será alterada caso não exista nenhum objeto "comida" na tela.

Sobre a chance de cada criatura nascer, não entendi muito bem, eu pensei em um código assim (no evento Step):

Código:
chance=floor(random(100000));

if chance=0
instance_create(irandom(room_height),irandom(room_width),criatura)
Nesse caso, a "chance" de ser criado um objeto "criatura" é de 1 em 100.000, não muito ocasional.
Fuzenrad
Fuzenrad

Games Ranking : Nota A

Notas recebidas : A-A-A-A-B
Data de inscrição : 04/07/2010
Reputação : 46
Número de Mensagens : 1063
Prêmios : [RESOLVIDO]Chances Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

Ir para o topo Ir para baixo

[RESOLVIDO]Chances Empty Re: [RESOLVIDO]Chances

Mensagem por Zero. Seg 23 Ago 2010, 18:10

Muito obrigado,
o problema de se mover randomicamente foi resolvido mas, o de chance n é assim, olha qndo a criatura come uma comida ela cria outra criatura, esta criatura tem 80% de sair n1(no caso criatura 1) 5% de chance de sair n2
5% de chance de sair n3 e 5% de chance de sair n4 (N = CRIATURA)

__________________________________________________________

Outro probleminha, as criaturas que ficam paradas elas precisam comer,
entaum elas devem comer a comida que estiver proxima, a room ela é ( os quadradinhos) 16x16 entaum a criatura n movel ela captura uma comida que esteja a até 4 quadrados de distância dela Happy ajuda ai e diz se é possivel =D.
____________________________________________________________
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : [RESOLVIDO]Chances 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

Ir para o topo Ir para baixo

[RESOLVIDO]Chances Empty Re: [RESOLVIDO]Chances

Mensagem por Fuzenrad Seg 23 Ago 2010, 19:05

Em relação a chance, no evento create, você coloca:

Código:
chance=irandom(100)

if chance>=0 and chance<=80
instance_create(x,y,criatura1)

if chance>80 and chance<=85
instance_create(x,y,criatura2)

if chance>85 and chance<=90
instance_create(x,y,criatura3)

if chance>90 and chance<=95
instance_create(x,y,criatura4)
Faltou os outros 5%, de qualquer forma funciona perfeitamente, a criatura 1 será criada muito mais vezes que a criatura 2, que será bem rara.

Sobre a outra dúvida, você pode usar:

If distance_to_object(comida)<=4 {
função }
Fuzenrad
Fuzenrad

Games Ranking : Nota A

Notas recebidas : A-A-A-A-B
Data de inscrição : 04/07/2010
Reputação : 46
Número de Mensagens : 1063
Prêmios : [RESOLVIDO]Chances Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

Ir para o topo Ir para baixo

[RESOLVIDO]Chances Empty Re: [RESOLVIDO]Chances

Mensagem por Zero. Ter 24 Ago 2010, 06:07

Muito obrigado msm!

Resolvido! xD mas os outros 5% que faltam eu vou adicionar eu msm acho q pode né?
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : [RESOLVIDO]Chances 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

Ir para o topo Ir para baixo

[RESOLVIDO]Chances Empty Re: [RESOLVIDO]Chances

Mensagem por Dancity Ter 24 Ago 2010, 13:11

Só num esquece de dar os créditos pro fuzenrad que te ajudou bastante xD
Dancity
Dancity

Games Ranking : Nota A

Notas recebidas : A
Data de inscrição : 11/01/2009
Reputação : 8
Número de Mensagens : 1339
Prêmios : [RESOLVIDO]Chances 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

Ir para o topo Ir para baixo

[RESOLVIDO]Chances Empty Re: [RESOLVIDO]Chances

Mensagem por Zero. Ter 24 Ago 2010, 19:27

Claro xD >

Mas como se dar creditos , tipo reputação pros outros?
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : [RESOLVIDO]Chances 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

Ir para o topo Ir para baixo

[RESOLVIDO]Chances Empty Re: [RESOLVIDO]Chances

Mensagem por fonetico Ter 24 Ago 2010, 19:35

kiklin123 escreveu:Claro xD >

Mas como se dar creditos , tipo reputação pros outros?

Não exatamente. Você poderia criar uma área do seu jogo reservada para dar os agradecimentos às pessoas que te ajudaram. Por exemplo, em vários jogos da internet (flash) você pode ver que alguns ao finalizar, aparece os créditos, outros tem que clicar num botão "credits" e assim vai!

Tópico resolvido!
Trancado!
fonetico
fonetico

Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios : [RESOLVIDO]Chances 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

[RESOLVIDO]Chances Empty Re: [RESOLVIDO]Chances

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


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