[Tutorial]Aula 4: As Operações Lógicas parte 1

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Tutorial]Aula 4: As Operações Lógicas parte 1

Mensagem  batataroxa em Qui Jan 08, 2009 8:01 pm

Aula 4:Operações Lógicas
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: [Select]class Aleatvamos 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.

Código: [Select]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:

Código: [Select]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 endend

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: [Select]if var == 3 p "ola"else p "oi"endTraduzindo:
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
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!".

Exercício:

1)Crie uma nova calculadora como a da aula passada, porém dessa vez ele não usa as variáveis 1, 2 e 3 para fazer os cálculos ele fará com números aleatórios, instancie 3 variáveis com nomes quaiquer, mande cada uma ( só duas das 3, pois a 3 você usará para armazenar o valor) ter um valor aleatório de x a y (ou seja, faça com que elas assumam um valor de um número até outro - não é de 0 a um número - dica, use a operação soma!) e ai faça as operações normalmente, se der certo, vão aparecer como respostas uns números malucos, já que você não vai saber que número está operando com qual XD.

2)Crie uma cálculadora onde só haja um método, nele você coloca uma variável aleatória e ai vai colocando condições, se for 0, soma, se 1, diminui... pode usar as variáveis 1, 2 e 3 como você já fez.

3) O mesmo que no exercício anterior, mas usando elsif, coloque também um comando adicional else, caso a variável assuma outro valor, mostra na tela "operação inválida"

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

RGSS
RGSS2
Condições
if
rand

Tutorial por Anderson Porto

batataroxa
Admin

Mensagens : 37
Data de inscrição : 07/01/2009

Ver perfil do usuário http://brrpgmaker.forumeiro.net

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum