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

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

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

Mensagem por $ectumbot$ em Dom Maio 29, 2011 7:00 am


As Operações Lógicas parte 1



» 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 tenho 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.





Créditos e agradecimentos a Anderson Porto pelo lindo tutorial!
avatar
$ectumbot$
Membro
Membro

Engine : RPG Maker VX
Mensagens : 85
Localização : Em frente ao PC!

Ver perfil do usuário http://galaxiarpgmaker.123.st

Voltar ao Topo Ir em baixo

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

Mensagem por AllaN em Dom Jun 12, 2011 9:29 pm

Que bacana, agora vou aprender RGSS! Mas, você pediu a autorização do Anderson Porta para postar aqui na Galáxia?
avatar
AllaN
Moderadores
Moderadores

Engine : RPG Maker XP
Mensagens : 163
Idade : 21
Localização : Area 51.

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Khronos em Seg Jun 13, 2011 5:49 am

Eu acho RGSS tão complicado ;S
prefiro meus Eventos ;D
mas é um ótimo Tuto ;D

Párabens'
pena que não mexo com XP =[
avatar
Khronos
Moderadores
Moderadores

Engine : RPG Maker VX
Mensagens : 192
Idade : 23
Localização : Sp

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por AllaN em Seg Jun 13, 2011 7:43 pm

Khronos, mexa com o XP. Pois é muito mais legal e descomplicado.
avatar
AllaN
Moderadores
Moderadores

Engine : RPG Maker XP
Mensagens : 163
Idade : 21
Localização : Area 51.

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Khronos em Ter Jun 14, 2011 1:55 pm

hunn
sei la, too tão acostumado com o VX, que nem sei se compensa usar o XP =D
avatar
Khronos
Moderadores
Moderadores

Engine : RPG Maker VX
Mensagens : 192
Idade : 23
Localização : Sp

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por AllaN em Qua Jun 15, 2011 7:08 am

Eu era acostumado com o VX, aí resolvi baixar o XP. Aliás, é com o XP que eu mapeei "O Recanto" e depois o transformei em praça... prefiro o XP pois dá a impressão de ser mais realista.
avatar
AllaN
Moderadores
Moderadores

Engine : RPG Maker XP
Mensagens : 163
Idade : 21
Localização : Area 51.

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por dl_thunder em Seg Jul 04, 2011 6:58 pm

Muito bom essas aulas,eu ja vi ela em outros foruns,realmente dá pra aprender bastante,mas tem que querer,e muito cara,eu ja tentei mil vezes,sempre paro no meio,ja ate criei um script de menu simples(depos apertei delete sem quere buaaaaa,,o raiva).

Mas sempre desisto.

COncordo com kronos,prefiro vx

@OFF:

Puts,voce é moderador e adm de todos foruns kronos???
E outra coisa,cade a aula 1?Começa do 4? '-'
avatar
dl_thunder
Moderadores
Moderadores

Engine : RPG Maker VX
Mensagens : 47

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Atheriws em Seg Jul 04, 2011 11:13 pm

@OFF:

Puts,voce é moderador e adm de todos foruns kronos???
E outra coisa,cade a aula 1?Começa do 4? '-'
http://galaxiarpgmaker.123.st/t45-aprenda-rgss-ndice-de-aulas-tutoriais-por-anderson-porto
avatar
Atheriws
Administrador
Administrador

Selos :

Engine : RPG Maker XP
Mensagens : 177
Idade : 105
Localização : Satélite 123
Pets :

Ver perfil do usuário http://galaxiarpgmaker.123.st

Voltar ao Topo Ir em baixo

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

Mensagem por dl_thunder em Ter Jul 05, 2011 2:06 pm

Ata,foi mal,nao vi
vlw
Com isso fica bem mais organizado mesmo
avatar
dl_thunder
Moderadores
Moderadores

Engine : RPG Maker VX
Mensagens : 47

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Khronos em Ter Jul 05, 2011 4:04 pm

Eu sou Moderador de varios foruns
acho que hoje em dia de uns 7....
avatar
Khronos
Moderadores
Moderadores

Engine : RPG Maker VX
Mensagens : 192
Idade : 23
Localização : Sp

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


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