Rpg Lab
Você é membro? Logue-se agora!

Se não for, registre-se agora também ^^
Não perca esta chance, faça parte deste forum e ajude a melhorá-lo
cada vez mais!


Atenciosamente: Admin do Forum RPG Lab.

Rpg Lab

RPG não é hobbie...é um estilo de vida!
 
InícioPortal RPG LabCalendárioFAQBuscarMembrosGruposRegistrar-seConectar-se
Conectar-se
Nome de usuário:
Senha:
Conexão automática: 
:: Esqueci minha senha
Membro do Mês | RPG Lab - Setembro

Paulo_Soldera - Parabéns pela sua colaboração com o forum!

Membro do Mês - Setembro

Últimos assuntos
» VAMOS REVIVER O FORUM!
Qui Jun 28, 2012 9:44 pm por Final League

» Hey, pra que isso ?
Sex Dez 30, 2011 6:49 pm por kauan

» Alguem ai tem um DS?
Ter Out 20, 2009 5:53 pm por kauan

» Parabens Jutsoo!
Ter Out 20, 2009 5:51 pm por kauan

» Membro do Mês de Setembro - Paulo_Soldera!
Sex Set 04, 2009 6:02 pm por Alessandro_Trigger

» Andamento do SSN
Sex Ago 21, 2009 7:50 pm por Paulo Soldera

» Pack de animações
Sab Ago 08, 2009 7:53 pm por Yoshi

» Personagens do rtp com efeito transparente
Sab Ago 08, 2009 1:51 pm por Yoshi

» Pack com uns 300 efeitos sonoros
Sab Ago 08, 2009 1:49 pm por Yoshi

Estatísticas
Temos 150 usuários registrados
O último usuário registrado atende pelo nome de xxhitmontop

Os nossos membros postaram um total de 714 mensagens em 143 assuntos
Top dos mais postadores
Alessandro_Trigger
 
kauan
 
Duvidoso
 
felipehenrique
 
Kurosaki-kun
 
Yoshi
 
Paulo Soldera
 
Snake Death
 
dodoop
 
ammy
 

Compartilhe | 
 

 [Aula-LB][XP-VX] [Aula 2] Variáveis - Parte 2

Ir em baixo 
AutorMensagem
Alessandro_Trigger
Administrador
avatar

Número de Mensagens : 207
Data de inscrição : 15/03/2009
Idade : 25

Mochila
-:
Mensagem do Membro: RPG lab! RPG não é hobbie...é um estilo de vida!

MensagemAssunto: [Aula-LB][XP-VX] [Aula 2] Variáveis - Parte 2   Sab Maio 09, 2009 2:09 pm

Série de tutoriais que o ensinam a programar em RGSS e RGSS2.
Feitos por LB - Reino RPG.
Créditos totalmente a ele.





Teoria
-------------------------------------------------------------------
Variáveis - Parte 2


Transformação de tipo de valor:

Como vimos na aula anterior os valores que um variável pode assumir tem uma classificação. Essa classificação pode ser modificada, podemos alterar o tipo de valor. Para isso são usados os comandos:

  • var.to_i
  • var.to_s


Dessa forma muda-se o tipo. Veja os exemplos:

Código:

a = 5
# Lembre-se que 1 é diferente de “1”.

c = a.to_s
# a.to_s
# a.to_string
# a.para_texto
c = “5”

c = a.to_s
Explicando:
O valor de ‘C’ é igual ao valor textual de ‘A’.

Se quiser, experimente:

Código:

a = 86
p a.to_s

Agora o outro:

Código:

b = “10”

c = b.to_i
# b.to_i
# b.to_inter
# b.para_inteiro
c = 10

c = b.to_s
Explicando:
O valor de ‘C’ é igual ao valor numérico de ‘B’.

Dessa forma podemos alterar o tipo de valor da variável. Isso é útil quando criarmos janelas, nas quais não é possível escrever números, apenas texto, assim temos que transformar. Também pode ser usado para efetuar cálculos com strings.

Matriz:

Matriz (ou arry em inglês) é como se fosse uma lista de valores, é uma variável que contem o valor de infinitas variáveis. Esse tipo de variável é muito usado para configurações de scripts ou para guardar informações sobre algo que não se sabe a quantidade. Uma matriz é organizada da seguinte forma:

Código:

a = [ 0 , 1 , 2 , 3 , 4 , 5 , “...” ]

Elas podem conter mais de um tipo de valor, pode ser uma grande mistura de tipos de valores:

Código:

b = [ 58 , “Oi!” , true , 14.586 , “aaabbbccc” , 25 , “85” ]

Nessa lista, cada valor de um “nome”, uma forma de se localizar. Nesse tipo de matriz (são dois), a numeração ocorre com números de zero até ...

Para localizar um valor em particular, utiliza-se os colchetes, dessa forma:

Código:

c = [ 85 , “Oi” , 11 , true ]

c[0] = 85
c[1] = “Oi”
c[2] = 11
c[3] = true

Repare que a contagem sempre começa do zero. Podemos também mudar o valor dessa forma. Alem disso existe um outro comando de retorna a quantidade de “casas” da matriz.

Código:

c = []

c[0] = 50
c[1] = 100
c[2] = 150

c = [ 50 , 100 , 150 ]

c[3] = c.size

c = [ 50 , 100 , 150 , 3]

Explicando…:
Na primeira linha defini-se que a variável ‘C’ é uma matriz, a qual não ter nenhum valor. Depois coloca-se valores na matriz, ficando como a quinta linha. Depois coloca que a quarta “casa” vai ter o valor igual a quantidade de valores da matriz. Como no momento em que o comando foi usado a matriz tinha três valores, então a quarta casa vai ter como valor o número três. Repare em algumas formulas interessantes:

Código:

d = [ 5 , 885 , 15 ]

d[d.size-1] = 15
# (var.size - 1) sempre significa o ultimo termo da matriz, assim encontra-se o ultimo numa matriz em que não se sabe o tamanho.

d[d.size] = 50
d = [ 5 , 885 , 15 , 50 ]
# (var.size) é o termo depois do ultimo. Assim acrescenta-se mais um termo na matriz, um depois do ultimo.

Valor ‘nada’:

Esse é um valor especial que uma variável pode assumir, seria ‘nada’, uma variável vazia, sem valor algum. Ele não permite nenhum tipo de calculo. Ex:

Código:

a = 55
p a
a = nil
p a
a += 5
# Aqui acontece um erro...

Esse valor é o (nil). Pode ser usado em matrizes também, veja o exemplo:

Código:

b = []
b[5] = 0
b = [ nil , nil , nil , nil , nil , 0 ]

Como você não definiu os valores antes de sexto, ele ficam como nada, nil.
Isso também acontece se você usar o comando print com um valor que não existe.

Matriz avançada:

Nesse tipo de matriz a única diferença é que você pode escolher o “nome” das “casas”. Pode colocar até mesmo texto. Olhe o exemplo:

Código:

a = {
# Repare que agora são usadas chaves ( { } ), não colchetes ( [ ] ).
“HP1” => 50 ,
“MP1” => 100 ,
778 => “Oi” ,
44444 => 22
}
# Lembre-se de fechar as chaves e de colocar vírgulas depois dos valores (exceto o ultimo)

a[“HP1”] = 50
a[“MP1”] = 100
a[778] = “Oi”
a[44444] = 22
a.size = 4

Essa é a única mudança de um tipo para o outro.

Matriz dentro de Matriz:

Se o valor de uma variável pode ser uma matriz, sendo matriz como um conjunto de variáveis, porque uma dessas variável não pode ser uma matriz também? Isso é possível. Olhe o exemplo:

Código:

a = [ 5 , [ 88 , “Oi” ] , 66 ]
# Repare que o segundo valor é outra matriz. Olhe como é feita a organização:

a[0] = 5
a[1] = [ 88 , “Oi” ]
a[2] = 66
a.size = 3

a[1][0] = 88
a[1][1] = “Oi”
a[1].size = 2

Praticamente nada muda. Podem existir matrizes gigantescas, em que o conteúdo é outra matriz, que é outra matriz, que é outra matriz, que...
Dessa forma pode-se arquivar qualquer tipo de valor, por maior que seja. Aqui termina as aulas teóricas sobre variáveis. Nada a mais tenho para ensinar a você, isso é todo o conteúdo que conheço sobre variáveis, excerto por este:


Pratica
-------------------------------------------------------------------
Variáveis - Parte 2


Strings Avançadas:

As Strings são conjunto de caracteres. No computador cada caractere tem um número. Experimente apertar Alt e depois pressionar números no teclado? Como por exemplo 65. O resultado é “A”. (Pode variar de acordo com a fonte usada.) Pode experimentar, qualquer caractere que existe pode ser colocado dessa forma. (Abra o Mapa de Caracteres do Windows para mais informações.) Nas Strings não é diferente. Sendo que cada letra significa um número, podemos transformar essa string em uma matriz. Olhe o exemplo:

Código:

a = “ABCD”
a[2] = 69
a = “ABED”

Mudou-se o valor de uma letra usando uma propriedade das matrizes. Esse é o único método de alterar uma letra no meio de uma string sem reescrever-la. O comando (var.size) também funciona nas strings, retorna o número de letras. Muito útil para fazer cálculos do espaço que um texto vai ocupar.

Código:

a = “Oi! Tudo bem?”
a.size = 13
# Não é o número de letras, é o número de caracteres.

Nem todas as propriedades das matrizes funcionam. Não é possível acrescentar um caractere a um texto. Ex:

Código:

a = "aaa"
a[3] = 65
# Erro! Não tem nenhum caractere na posição três, então não da pra colocar nada lá.

Bem... Essa aula ficou um pouco maior que a anterior, mas acho que valeu apena. Espero que tenham compriendido todo o conteúdo dela. Duvidas? Postem!  ;D





Scripts RGSS2 for RPG Maker VX by LB is licensed under a
Creative Commons Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil License.
Permissions beyond the scope of this license may be available at ReinoRPG.com

_________________

Voltar ao Topo Ir em baixo
Ver perfil do usuário http://rpglab.forumeiros.com
 
[Aula-LB][XP-VX] [Aula 2] Variáveis - Parte 2
Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» Linguagem C - Variáveis
» [resolvido] Estou com um pouco de dúvida com o verificamento de Marshal.load de variáveis
» Como fazer um sistema de cash no RPG Maker XP por Variáveis
» Lição 4 - Modificando nossa Janela - Usando dados variáveis
» 1º Aula de Script - Colocar um aviso ao iniciar o jogo

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Rpg Lab :: Mundo RPG Maker - XP/VX :: Programação Geral :: Programação RGSS-
Ir para: