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
» Colisões não funcionando
por RastaMaan Hoje à(s) 19:49

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Hoje à(s) 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

» 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


[Trancado] Combate random com porcentagem?

5 participantes

Ir para baixo

[Trancado] Combate random com porcentagem? Empty [Trancado] Combate random com porcentagem?

Mensagem por Davicvic Qua 13 Mar 2013, 08:03

Nao sei se isso é considerado uma ideia, mas, eu queria saber se eu posso fazer um combate em random com porcentagem

A ideia é mais ou menos assim:

Eu terei 3 ataques, e o inimigo terá 3 defesas, o ataque1 terá 33% de chance de ser efetuado, ataque2 tambem, e ataque3 tambem. Apos ser efetuado terá 50% de dá certo, e 50% de nao dá certo. Agradeço desde já.


Última edição por Davicvic em Qui 14 Mar 2013, 13:48, editado 1 vez(es)
Davicvic
Davicvic

Data de inscrição : 05/03/2013
Reputação : 1
Número de Mensagens : 64
Prêmios : [Trancado] Combate random com porcentagem? 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

[Trancado] Combate random com porcentagem? Empty Re: [Trancado] Combate random com porcentagem?

Mensagem por Gonçalves Qua 13 Mar 2013, 08:28

Você pode usar choose ou random/irandom pra esses casos de escolher qual ataque usar aleatoriamente. Usarei o choose no exemplo:

Código:
ataque = choose(0,1,2)

Será salvo na variável ataque um valor aleatório, que poderá ser 0, 1 ou 2. E aí então fazer a checagem de qual ataque escolheu:

Código:
if ataque = 0
{
    // Código para realizar ataque 1
}

if ataque = 1
{
    // Código para realizar ataque 2
}

if ataque = 2
{
    // Código para realizar ataque 3
}

Dentro desses códigos de ataque, você pode, para checar se acertou ou não, usar o random, assim:

Código:
acerto = random(100)

if acerto < 50
{
    // Código de ataque/dano, etc.
}
else
{
    // Código de erro (Não há necessidade de ter)
}

Será salvo na variável acerto um valor aleatório entre 0 e 100, e logo após será checado se é menor que 50. Se sim, executa o código de dano, se não, o código de erro.

Para ver mais variações de random: https://gmbr.forumeiros.com/t19554-tutorial-randomizar

Espero ter ajudado! Qualquer coisa não deixe de perguntar!
Gonçalves
Gonçalves

Games Ranking : Nota B

Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios : [Trancado] Combate random com porcentagem? Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 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

[Trancado] Combate random com porcentagem? Empty Re: [Trancado] Combate random com porcentagem?

Mensagem por Isaque Onix Qua 13 Mar 2013, 09:04

tambem tem o switch

Código:
ataque = choose(0,1,2)
switch (ataque)
{
    case 0: /*codigo do ataque 0*/; break;
        case 1: /*codigo do ataque 1*/; break;
            case 2: /*codigo do ataque 2*/; break;
    default: ;
}
 
off topic, alguem sabe q parada é essa de alerta de flood e gerar codigo??
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : [Trancado] Combate random com porcentagem? 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

[Trancado] Combate random com porcentagem? Empty Re: [Trancado] Combate random com porcentagem?

Mensagem por Dr.XGB Qua 13 Mar 2013, 10:14

Você pode usar a ideia levantada pelo Gonçalves, e brincar com as probabilidades. Por exemplo:


Código:
ataque = irandom(100)
if ataque < 20
 {
  // Ele realiza o primeiro ataque
 }
 else if ataque < 30
  {
    /* Realiza o segundo ataque. Neste caso seria um ataque que, raramente ocorreria. Quanto menor a distância              entre os valores, menor é a chance deste golpe e vice-versa.*/
  }
  else
  {
    /* Aqui será o ataque que o IA realizará com mais frequência. Neste caso ele teria uma chance de 70% de                realizá-lo (100-30 = 70)*/
  }

Lembrando que você pode alterar esses valores. Você pode, por exemplo, colocar as chances dos ataques em 30 e 60, 50 e 75, 10 e 90...


MC D_LIRIO escreveu:off topic, alguem sabe q parada é essa de alerta de flood e gerar codigo??
Pelo que eu vi são posts prontos que devem ser usados pelos moderadores com o objetivo de facilitar o controle dos mesmos. Mas parece que houve um "vazamento" que acabou ficando visível para todos os membros (ao menos que seja esta a ideia).
Vou reportar isso a um administrador, às vezes ele quis deixar para todos usarem este recurso.
Dr.XGB
Dr.XGB

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 22/02/2013
Reputação : 2
Número de Mensagens : 54
Prêmios : [Trancado] Combate random com porcentagem? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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

Ir para o topo Ir para baixo

[Trancado] Combate random com porcentagem? Empty Re: [Trancado] Combate random com porcentagem?

Mensagem por Davicvic Qua 13 Mar 2013, 14:16

Queria saber se isso serve pra fazer oque eu realmente queria:
Ele iria escrever. “gladiador1 da um soco simples.” " E atinge certeiramente gladiador2".
"gladiador1 da um super soco". "Mas o gladiador2 esquiva - se rapidamente". Seria mais ou menos assim. Desculpem por nao ter dito antes. Agradeço.
Davicvic
Davicvic

Data de inscrição : 05/03/2013
Reputação : 1
Número de Mensagens : 64
Prêmios : [Trancado] Combate random com porcentagem? 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

[Trancado] Combate random com porcentagem? Empty Re: [Trancado] Combate random com porcentagem?

Mensagem por Dr.XGB Qua 13 Mar 2013, 14:28

Sim, é claro.
Dentro das chaves de cada condição você pode criar uma variável que contenha a string do que vai aparecer na janela. É só fazer as adaptações necessárias como o nome de quem está atacando e de quem está recebendo o golpe.
Agora para esquiva você teria que criar uma outra variável com probabilidades também e, talvez, poderia usar uma fórmula para checar se a velocidade do gladiador2 é maior que a do gladiador1 para que ele realizasse a esquiva.
No entanto, o raciocínio é o mesmo.
Dr.XGB
Dr.XGB

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 22/02/2013
Reputação : 2
Número de Mensagens : 54
Prêmios : [Trancado] Combate random com porcentagem? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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

Ir para o topo Ir para baixo

[Trancado] Combate random com porcentagem? Empty Re: [Trancado] Combate random com porcentagem?

Mensagem por Isaque Onix Qua 13 Mar 2013, 15:43

dica: você pode criar um objeto que desenhe esse texto pra você:

1: Crie o objeto objEfeito
2: no create event coloque
Código:
myTxt=''
vspeed=-2//almente ou diminua se achar melhor
alarm[0]=10//mude tbm a gosto
3: no alarm[0]
Código:
instance_destroy()
4: no draw:
Código:
draw_text(x,y,myTxt)

e no event que você precisa mostrar esse texto, use assim:

Código:
i=instance_create(x,y,objEfeito)
i.myTxt='gladiador1 da um soco simples.'

com um efeito classico de ir subindo, e vc ainda pode fazer desaparecer antes de sumir, pode mudar a fonte, tamanho, cor etc...
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : [Trancado] Combate random com porcentagem? 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

[Trancado] Combate random com porcentagem? Empty Re: [Trancado] Combate random com porcentagem?

Mensagem por Davicvic Qua 13 Mar 2013, 22:57

Oque eu quero é exatamente oque o MC D_LIRIO falou:
Mas como eu faço para executar um texto e em seguida o outro, e depois o outro, e assim sucessivamente???
Davicvic
Davicvic

Data de inscrição : 05/03/2013
Reputação : 1
Número de Mensagens : 64
Prêmios : [Trancado] Combate random com porcentagem? 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

[Trancado] Combate random com porcentagem? Empty Re: [Trancado] Combate random com porcentagem?

Mensagem por gabrielsch Qua 13 Mar 2013, 23:35

Pelo que eu entendi, esse seria um ataque básico (soco simples), faça isso para cada tipo de ataque:
Código:
//Ataque1 por exemplo: Soco Simples

if (irandom(100) <= 33) //33% de chances de ele conseguir efetuar esse ataque
{
 show_message('<Gladiador1> da um soco simples!')
 if (irandom(100) <= 50) //50% de chances do inimigo ser atingido
 {
 //Acertou no inimigo;
 show_message('<Gladiador2> foi atingido!')
 }
 else
 {
  //Não acertou no inimigo;
  show_message('<Gladiador2> se esquivou!')
 }
}
else
{
 //Não conseguiu efetuar o ataque!
 show_message('<Gladiador1> não conseguiu efeturar o ataque!')
}

Se tiver alguma duvida é só falar!

Flw! sorrindo2
gabrielsch
gabrielsch

Games Ranking : Nota A

Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios : [Trancado] Combate random com porcentagem? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

[Trancado] Combate random com porcentagem? Empty Re: [Trancado] Combate random com porcentagem?

Mensagem por Isaque Onix Qua 13 Mar 2013, 23:36

é só repetir o ultimo processo:
Código:
i=instance_create(x,y,objEfeito)
i.myTxt='gladiador1 da um soco simples.'

esse codigo cria o objEfeito com a variavel myTxt='gladiador1 da um soco simples.', por isso você pode usar quantas veses quiser.

dica? cria um script com o seguinte texto:
Código:
i=instance_create(x,y,objEfeito)
i.myTxt=argument0

assim, quando você precisar mostrar sua mensagem, você só usa isso:
Código:
nome_do_script('TEXTO QUE VOCÊ QUISER');

mais mudando o texto 'gladiador1 da um soco simples.' para o outro texto que você quer, se está criando um jogo rpg eu fiz um tuto bem simples, ta na minha assinatura.
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : [Trancado] Combate random com porcentagem? 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

[Trancado] Combate random com porcentagem? Empty Re: [Trancado] Combate random com porcentagem?

Mensagem por Davicvic Qui 14 Mar 2013, 13:46

Pessoal obrigado. Eu vou marcar esse topico como resolvido . Smile muito obrigado...
Davicvic
Davicvic

Data de inscrição : 05/03/2013
Reputação : 1
Número de Mensagens : 64
Prêmios : [Trancado] Combate random com porcentagem? 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

[Trancado] Combate random com porcentagem? Empty Re: [Trancado] Combate random com porcentagem?

Mensagem por Isaque Onix Qui 14 Mar 2013, 15:20

por nada...
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : [Trancado] Combate random com porcentagem? 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

[Trancado] Combate random com porcentagem? Empty Re: [Trancado] Combate random com porcentagem?

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

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