Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

criar inimigos em quantidades aleatoria

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Trevors
Membro
Membro
Reações: 0
Mensagens: 28

criar inimigos em quantidades aleatoria

Mensagem por Trevors » Ter Mar 10, 2020 12:44 pm

galera to pensando em fazer assim coloquei um alarme e quero que qaundo esse alarme se ativar ele crie um inimigo em quantidade aleatoria, tipo assim ele escolhar de 1 a 5 a quantidade de inimigos, se de 3 crie treis inimigos, a posição eu ja sei, pode usar x e y mesmo. se nao entenderem podem perguntar. obj galera.

Avatar do usuário
Chuaschinai
Colaborador
Colaborador
Reações: 6
Mensagens: 198

Re: criar inimigos em quantidades aleatoria

Mensagem por Chuaschinai » Ter Mar 10, 2020 7:53 pm

Usa um repeat e um irandom_range assim:

Código: Selecionar todos

var ran = irandom_range(1, 5);
repeat(ran){
   instance_create...
}

Avatar do usuário
Trevors
Membro
Membro
Reações: 0
Mensagens: 28

Re: criar inimigos em quantidades aleatoria

Mensagem por Trevors » Ter Mar 10, 2020 10:52 pm

cara vlw vc manja d+, funcionou, e como funcionaria a probabilidade tipo assim mais facio de vim 1 e 2, 3 e 4 fosse mais mediano e 5 fosse raro, tem como?

Avatar do usuário
Chuaschinai
Colaborador
Colaborador
Reações: 6
Mensagens: 198

Re: criar inimigos em quantidades aleatoria

Mensagem por Chuaschinai » Qua Mar 11, 2020 12:26 pm

Você pode utilizar o choose(x1, x2, x3,...), nele quanto mais valores iguais existirem mais chance há de cair este valor, porém não é eficiente, seria interessante criar um script para isso assim:

Script "chance(valor)":

Código: Selecionar todos

///@desc Script de chance
///@arg valor

return random(100) < argument0; // Ira retornar um valor boolean(verdadeira ou falso)
Exemplo de como utilizar:

Código: Selecionar todos

if(keyboard_check_pressed(ord("W"))){
    // Sempre utilizar ordem crescente(do menor para o maior) para funcionar
    if(chance(5)){
        show_debug_message("5% de chance");
    }else if(chance(25)){
        show_debug_message("25% de chance");
    }else if(chance(50)){
        show_debug_message("50% de chance");
    }else{
        show_debug_message("Outros 50% de chance");
    }
}
Não é o melhor script mais serve para algumas coisas.

E também utilizar a função randomize() ou randomise() no create de algum objeto para criar um seed diferente na execução.

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante