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

    Compartilhe
    avatar
    jiraya
    Administrador
    Administrador

    Mensagens : 1299
    Credibilidade : 54

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

    Mensagem por jiraya em Qua Dez 08, 2010 6:24 pm

    Autor=Anderson Porto

    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.
    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:

    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:

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

    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!"
    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!".
    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
    • Condições
    • if
    • rand

      Data/hora atual: Seg Jan 21, 2019 6:13 pm