Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.



 
InícioÚltimas imagensProcurarRegistrarEntrar
A Equipe Central RPG Maker deseja a todos Boas Vindas!
Olá galera venho aqui pedir para ajuda a vocês pesso que postem conteúdo em nossa comunidade irei ajudar a vocês também.
Agora nossa comunidade também tem o famoso projeto de ouro porem da nossa comunidade leva um nome diferente leva o nome Osca de Ouro entre no tópico de Notícias e fique por dentro das novidades.

 

 [Script]Aula 2: A Programação e as Operações Lógicas

Ir para baixo 
AutorMensagem
..:: P.V Supreme ::..
Membro
Membro
..:: P.V Supreme ::..


Sexo : Masculino
Mensagens : 241

[Script]Aula 2: A Programação e as Operações Lógicas Empty
MensagemAssunto: [Script]Aula 2: A Programação e as Operações Lógicas   [Script]Aula 2: A Programação e as Operações Lógicas Icon_minitimeDom Dez 19, 2010 9:09 am

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]Um Pouco mais de Teoria
Antes de começarmos a parte prática, vamos estudar mais alguns conceitos importantes.
Dado: é a representação bruta de uma informação, pode ser um texto, um número, uma imagem...
Informação: é um conjunto de dados organizados que possuem uma significação.


[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]Tipos de Dados
ATENÇÃO o entendimento dos tipos de dados é crucial para entender o rgss, em caso de dúvidas, poste!

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]Números: (Numeric)
Como o nome ja diz, são números, porém existem tipos específicos, vou citar alguns:
int short double float long... (existentes em outras linguagens, em ruby só int e float)
geralmente esses nomes são relativos ao tamanho possível do número. Como assim? na matemática, os numeros são infinitos certo? Porém na informática a memória limita a quantidade de números possíveis, essa limitação é determinada pela quantidade de bits suportados, por exemplo, um número do tipo short tem 8bits, assim ele pode chegar até 255, se você estiver usando um short e ele chegar em 255, não da pra somar mais nada que da chash!
OK, chega de coisas complicadas, em RGSS, nos interessam apenas dois tipos de números, os "int" e os "float", a diferença é simples, int não tem vírgula e float tem!
O que isso provoca?
No RGSS sempre que eu digitar um número inteiro(sem vírgula=>em rgss a vírgula é o ponto, intão vo fala em ponto daqui em diante) esse número será um int, assim a divisão 5/2 dá 2 e sobra 1, se você quer que a divisão seja exata você usa 5/2.0 ou 5.0/2 e ai sai 2,5.


[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]Texto (String)
Os textos são todos do tipo String, tudo o que você ver em seus scripts entre "" ou '', é uma String (int, string e etc, são só nomes, acostumem-se com eles!)


[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]NA PRÁTICA
Chegou a hora galera! Abram seus rmxp(s)! Criem um evento com trigger pressionar tecla, coloquem um gráfico só pra vcs saberem onde ele esta e vamos estudar os dados na prática!

1: O comando "print"
esse comando será muito utilizado por nós até a criação de nossa 1º Window, por isso temos que dominá-lo! No seu evento vá em chamar script e digite:
p "ola, este é o comando print. gostou?"
salve e entre no jogo, fale com o NPC que você criou, tem que aparecer uma tela com o que está entre "" no nosso comando, esse é o comando print! você coloca um p da um espaço e digita o conteúdo que você quer que apareça na tela, é provável que você ja tenha visto isso em algum script né!

2: As Strings!
Bom, como você ja sabe, strings são textos, assim, sinta-se à vontade para mudar o texto entre "", teste com vários textos de vários tamanhos, experimente também colocar o comando duas vezes como:
p "1"
p "2"
p "ai q saco isso!"
compreendido? ^^

3: Os "ints" e os "floats"
primeiro vamos criar um objeto! Nosso objeto será um número, para fazer tal coisa, apenas coloque o nome do objeto com o valor dele(obs para quem manja de programação: é claro que aqui estamos instanciando uma variável, mas vamos deixar estes detalhes técnicos para outra aula.), vamos chamar nosso objeto de a, eu quero que a tenha o valor 3, assim eu coloco:
a = 3 (pronto a vale 3, mas como posso saber que realmente funcionou?)
bom a resposta é! "p", ou seja, print. Escreva na linha abaixo do a = 3, um p a e teste.
Em geral, quando se mostram números na tela é necessário convertê-los em textos, o print não exige isso, mas para que todos se habituem desde ja para fazer Scenes, vou pedir que transformem para string os ints e floats.


[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]Conversão de Dados

*.to_s > o método to_s é um método que transforma qualquer número em string, assim eu posso fazer com que os dados numéricos que eu estou trabalhando possam ser colocados na tela como Strings.
Se você esta seguindo a aula corretamente, o seu "chamar script" deve estar:
a = 3
p a
pois bem, a é um inteiro, vamos transformá-lo em string, no comando print coloque a.to_s, salve, abra o jogo e fale com o NPC, agora apareceu o valor entre "", isso é por que ele foi transformado!
Bom, nosso "a" é um int certo (quando não tem ponto é sempre int), transforme ele em um float, ao invés de colocar a = 3, coloque a = 3.1, salve e vá no NPC denovo.

*.to_f & *.to_i > estes comandos são para transformar int em float e float em int respectivamente, vamos testá-los, no seu chamar script adicione uma nova linha entre o print e o a = ..., nela coloque a = a.to_i, é assim que mudamos o tipo de dado do nosso objeto(variável), teste esses comandos, note que mesmo que você tenha colocado algum número depois do ponto, sempre que você usar o to_i, só vai aparecer a parte inteira do número em questão!
Alguns exemplos:
a = 4.0000001
p a.to_s (lembre-se do "patos", vamos usar bastante ele)
(vai aparecer "4.0000001")

a = 4.0000001
a = a.to_i
p a.to_s
(vai aparecer "4")

a = 2
a = a.to_f
p a.to_s
(vai aparecer "2.0")

Seja criativo e explore essas conversões!


[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]Operações Matemáticas
Agora vamos explorar junto da conversão de dados, as operações matemáticas.
Para começar, apague o código que você já fez (por via das dúvidas, sabe-se lá oq vc coloco!), coloque no lugar:
a = 1
p a.to_s
e vamos ao trabalho!


[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]ATENÇÃO
O comando "=": na programação o = significa que o que vem antes do igual deve ficar igual ao que vem depois, ou seja, quando eu coloco a = 1, significa que eu to mandando o "a" valer 1, esse conceito é muito importante, pois no rgss, o = é um comando como o + e o -!

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]1º Possibilidade
Na nossa primeira soma, vamos fazer com o nosso 'a', coloque do lado de a = 1 um + 3, tem que ficar a = 1 + 3, salve e fale com o NPC, nosso print mostrou 4 na tela certo? Agora vamos subtrair, mude o + para o - e teste. Fácil não? Você pode fazer uma série de + e -, por exemplo 3 + 5 + 7 - 8, note que quando aparece na tela, só aparece o número sem pontos, tente colocar algum número com .0 por exemplo 2 + 4.0 - 5, no print vai aparecer com .0 porque se um dos números da operação é float, o 'a' vira float caso contrário ele será um int.
Vamos agora dividir e multiplicar, os símbolos são respectivamente / e *, assim vamos la! Insira agora no seu a = .. algumas multiplicações, inicie com poucas operações como:
a = 5 / 9 ou a = 3 * 4, note que nas divisões não aparecem os decimais, mesmo o cálculo não sendo exato, como você já deve saber, todo número sem . é int e não vai calcular os decimais, pra achar eles, faça com que algum dos números envolvidos no cálculo seja float.
Importante, como na matemática normal (convencional), as multiplicações e divisões são prioritárias em relação à soma e subtração, por exemplo a = 2 + 2 / 2, a resposta será 3, pois 2 + 2 / 2 > 2 + 1 > 3, por isso, assim como na matemática que estamos acostumados, podemos (e devemos) usar parênteses, mas lembre-se, sempre que abrir um parênteses tem que fechar ele:
a = ( 3 + 5 ) / 4 > correto
a = 3 + 5 ) / 4 ou ( 3 + 5 / 4 > errado!
esse erro é motivo de muitas falhas nos scripts! É importante salientar que programar é como escrever, se você escrever errado, o programa não funciona!


[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]Conceito: Variável > é todo objeto meramente numérico, ou seja, se a = 2, intão a é uma variável, porque é um número.2º Possibilidade
Você pode operar as variáveis sem mudar o seu valor, por exemplo, se eu tenho a minha variável 'a', e eu quero apenas somar 3, se eu não sei quanto a vale, não posso usar a = 'algo' + 3, uma alternativa é usar a = a + 3, porém não é muito usual,

vamos aprender da forma + prática, seu código deve ser:
a = 2
a += 3
p a.to_s
no nosso caso, nós sabemos quanto vale o 'a' ja no início, mas veremos mais a frente que nem sempre será assim, bom como vocês ja viram, para mexer (somar, subtrair...) um valor de uma variável basta usar = , vamos aos testes:
a = 3
a -= 4
p a.to_s
use as multiplicações e / com a mesma lógica, basta colocar o símbolo da operação antes do =


[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]3º Possibilidade
Suponha que além do 'a' eu tenha um 'b', é possível fazer operações com duas ou mais variáveis, a lógica é exatamente igual aos meios anteriores, vamos lá!
a = 3
b = 4
c = a + b
p c.to_s
note que eu usei uma 3º variável, pense bem, se eu colocasse a = a + b, o 'a' não valeria mais 3 e sim a soma de 3 com 4, por isso é normal usar uma variável extra que terá o valor das anteriores!
Obs.: se eu tenhu a e quero somar mesmo o b no a, basta colocar a += b, o funcionamento é o mesmo que no 2º meio

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]Obs.: se eu colocasse a = a + b funcionaria do mesmo modo, porque eu faria com que o a virasse a soma dos dois

Tags de Busca

[*]RGSS
[*]Matemática
[*]Tipo de Dados
[*]Converção


..:: Crédito ::..
Total a: Anderson Porto...
Por Disponibilizar: ..:: P.V Supreme ::..


..:: Agradecimentos ::..
Google xD, eu catei de um blog, mais eu sei que foi o Anderson Porto da MRM que fez...
Ir para o topo Ir para baixo
https://centralrpgmaker.forumeiro.com
 
[Script]Aula 2: A Programação e as Operações Lógicas
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» [Script]Aula 5: As Operações Lógicas parte 2
» [Script]Aula 4: As Operações Lógicas parte 1
» [Script] Aula 1: Conceitos Básicos de Programação
» Aula Extra 2: Operações Matemáticas
» [Script]Aula 6: O Ponto Crítico!

Permissões neste sub-fórumNão podes responder a tópicos
 :: Rpg Maker XP :: Scripts :: Curso RGSS-
Ir para: