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:
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.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?
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.
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.
var = rand(3) if var == 0 p "0" end
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:
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
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:
if var == 3 p "ola" else p "oi" end
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!"
endTraduzindo: 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.
Tags de busca