Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker

Estamos de volta o/ ... Ou não.Eu amo a -Dark
Doações para o fórum abertas, clique aqui e saiba mais.
Últimos assuntos
» Ainda temos gente aqui?
Aula 4: As Operações Lógicas parte 1 EmptyQui 25 Nov 2021, 14:04 por Halt

» [Dúvida] Como tirar a porcentagem de esquiva
Aula 4: As Operações Lógicas parte 1 EmptySex 19 Nov 2021, 17:14 por Halt

» Pokémon Genesis Online! (PGO)
Aula 4: As Operações Lógicas parte 1 EmptyQua 05 Jul 2017, 18:08 por Lexar

» Tileset Converter to MV
Aula 4: As Operações Lógicas parte 1 EmptySex 12 maio 2017, 14:07 por Douggi

» Pack Resources, Sprites e etc
Aula 4: As Operações Lógicas parte 1 EmptyQua 23 Dez 2015, 12:30 por raydengv

» Download RPG Maker 2003 + RTP em português
Aula 4: As Operações Lógicas parte 1 EmptyTer 22 Dez 2015, 11:14 por ::KimMax::

» Fantasy Art Online
Aula 4: As Operações Lógicas parte 1 EmptyDom 18 Out 2015, 18:42 por daviih123

» Você vai ter medo do Nerve gear?
Aula 4: As Operações Lógicas parte 1 EmptySáb 25 Jul 2015, 17:02 por Kirito-kun

» O Barato é louco
Aula 4: As Operações Lógicas parte 1 EmptySáb 27 Jun 2015, 16:26 por Halt

» Download RPG Maker 2000 + RTP em português
Aula 4: As Operações Lógicas parte 1 EmptyQui 21 maio 2015, 20:28 por Wismael


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

1Aula 4: As Operações Lógicas parte 1 Empty Aula 4: As Operações Lógicas parte 1 Sáb 13 Out 2012, 18:00

Halt

Halt
Administrador
Administrador
[Autor: Anderson Porto]
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Analogias
Antes de passar para os códigos, vamos criar nosso script por eventos. Crie um evento no mapa, coloque para que ele mude a variável 1 com um número aleatório de 0 a 2, depois coloque condições, se 0, mostra a mensagem 0 (só um exemplo), se 1 mostra a mensagem 1, se 2 mostra 2:
<>Variável 1: Aleatório 0..2
<>Condição: Variável 1 == 0
<>Mensagem: "0"
<>End
...

vá até o evento e brinque um pouco com a coisa toda! Vamos agora entender exatamente o que você fez.
1º mandou a variável 1 assumir um valor aleatório de 0 a 2
2º estabeleceu condições, ou seja, a mensagem que aparece na tela depende de qual valor a variável 1 assumiu, assim você não tem como saber que mensagem vai aparecer, apenas sabe quais podem aparecer!

Imagine em um abs! Como você acha que o computador calcula os danos? Crie uma batalha, veja que mesmo ao usar um mesmo ataque em um mesmo monstro o dano nunca é igual. Isso acontece por que o dano é calculado usando um comando aleatório como o que nós usamos!

Hoje vamos então criar um script que utilize essa aleatoriedade, junto começaremos a conceituar as condições por script!

Vamos criar nossa classe, já que agora sabemos como fazer, não vamos mais usar o chamar script para criar nossos métodos!

Vou nomeá-la de Aleat, então na 1º linha do script:
Código:
class Aleat
vamos ao método, nesse script, criaremos apenas 1 método, o de execução, assim def executar, nosso método irá gerar um número aleatório, pra isso teremos que aprender nosso 1º comando de hoje.

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]O Comando rand()
Para criar um número aleatório, usamos um método que já vem incluso no RGSS, esse método não tem uma classe, (na verdade tem, é a classe Interpreter) o que nos interessa é que ele calcula esse número aleatório para nós!
Como usá-lo?
Faça com que uma variável assuma o valor dele:
Exemplo> var = rand(n), no lugar de n, colocamos o valor máximo a ser calculado menos 1, ao contrário das variáveis, que podemos usar o comando aleatório para que assuma um valor de tal a tal valor, o rand só admite valores de 0 até o valor que colocamos nos parênteses menos 1, assim rand(4), vai assumir um valor qualquer de 0 até 3 (0,1,2,3), vamos agora usar em nosso método:
var = rand(3)
OK, já temos nossa variável, agora temos que usar o comando print para mostrar na tela as nossas mensagens, mas como fazer com que ele dependa da nossa variável var? Ou seja, como criar condições?

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]Operações Lógicas: Condições
Para criarmos uma condição, usamos um dos dos mais conhecidos comandos de toda a área de programação. Atenção! Esse é um momento importante para os novos programadores do fórum! Apresento-lhes o IF, hehehe, vocês vão se cansar de ver ele daqui em diante!
Vamos entendê-lo:
Quando você cria uma condição em um evento, sem usar a exceção, fica mais ou menos assim:
<>Condição: (sua condição)
<> O que vai fazer caso a condição seja válida.
<>End
No RGSS é quase a mesma coisa, colocamos
if
o que queremos que ele faça
end

Voltando ao nosso script,, já temos a nossa variável assumindo um valor aleatório, já temos o comando para fazer a condição, agora falta usar as condições:
var = rand(3) >só pra lembrar
if var >ops! como vamos usar essa condição? nós queremos o que mesmo?
Queremos que quando var seja 0, aparareça uma certa mensagem, mas como vou definir o igual? Lembre-se que o sinla de = serve pra mudar o valor do nosso objeto.

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]Comparadores Algébricos
O que são?
São símbolos utilizados na matemática para comparar valores, dentre eles:

== : verifica se são iguais
> : maior que
< : menor que
>= : maior ou igual
<= : menor ou igual
!= : diferente

Agora nós ja temos os comparadores, vamos terminar nosso script.
Código:
var = rand(3)
if var == 0
  p "0"
end

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]Traduzindo:
var = rand(3) ja sabemos, a variável var, vai assumir qualquer valor de 0 a 2
if var == 0
nossa condição, usamos o if (do inglês se) var == 0 (var for igual a zero)
p "0"
bom e velho comando print, mostrando na tela 0, você pode por var.to_s, ou qualquer outra mensagem
end
como nas condições por eventos, no script, também precisamos colocar um end no fim da condição

Terminando o script, ele deve ficar mais ou menos assim:
Código:
class Aleat
  def executar
    var = rand(3)
    if var == 0
      p "minha variável vale 0!"
    end
    if var == 1
      p "minha variável vale 1!"
    end
    if var == 2
      p "minha variável vale 2!"
    end
  end
end

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]Explorando os Recursos
Como vimos no nosso script, usamos o comando if ("se") para criar condições,mas quando criamos uma condição nos eventos, podemos colocar uma exceção, no rgss, isso também é possível pelo comando "else", por exemplo:
Código:
if var == 3
  p "ola"
else
  p "oi"
end

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]Traduzindo:
se a variável var for igual a 3
mostra na tela "ola"
caso for qualquer outra coisa
mostra na tela "oi"

Outra possibilidade é o elsif, esse comando é utilizado como no script que nós criamos, como assim, você tem uma variável e quer executar comandos que dependam dessa variável, assim colocamos o elseif, que seria como o nosso else (caso for qualquer outra coisa) porém, ele só executa se uma nova condição for acionada, por exemplo:
if var == 0
p "minha variável vale 0!"
elsif var == 1
p "minha variável vale 1!"
elsif var == 2
p "minha variável vale 2!"
end

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]Traduzindo:
se var for 0, mostra na tela: "minha variável vale 0!", caso não seja 0 e seja 1 mostra "minha variável vale 1!"porém se não for nem 0 nem 1, mas for 2, mostra "minha variável vale 2!".

Dica:
Se eu tenhu que fazer minha variável assumir um valor qualquer de 3 a 7, como fazer?
1º diminua 7 de 3, da 4
2º faça um rand(4)
3º some na variável, um 3!
exeplo:
var = rand(4)
var += 3
Teste alguns valores e verifique a lógica dessa dica que eu postei.

https://arenarpgmaker.forumeiros.com

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

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