[INICIANTES] 1ª Aula - Variáveis

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

[INICIANTES] 1ª Aula - Variáveis

Mensagem por guiagge em Ter 27 Jul 2010, 14:31

Depois de anos acessando o fórum e criando jogos, criei coragem de fazer meu primeiro tutorial.

1ª Aula - Variáveis

Nesta aula vamos aprender sobre variáveis (o que são, como as usar, para que servem, ect). Rolling Eyes
(Se você ainda não tem certeza de como usar a GML, acesse minha 0ª aula...)

QuestionAntes de mais nada, o que são variáveis?

Aqui, temos que lembrar um pouco do que aprendemos na escola: quanto vale o x? Razz
Variáveis são termos (coisas?) que substituem, representam outros valores (um número).

Não entendeu? Sem problemas. Vamos a um exemplo:

Você tem 10 moedas.
Mas não tem nenhuma laranja.
Você encontra um vendedor vendendo laranjas a 2 moedas cada.
Você dá o dinheiro, e recebe 3 laranjas.
Mas como tudo deu apenas 6 moedas, recebe 4 de troco.

No Game Maker, poderiamos dizer isso assim:
Código:
moedas=10
laranjas=0
//Você tem 10 moedas, mas não tem nenhuma laranja.
Código:
//Você encontra um vendedor vendendo laranjas a 2 moedas cada.
laranjas+=3
//Recebe 3 laranjas
//Mas tem que pagar por elas, então:
moedas-=3*2
//Assim você comprou 3 laranjas por 2 moedas cada.

No exemplo acima, "moedas" e "laranjas" são variáveis.
Você pode estar se perguntando: mas e o troco?
No começo, colocamos as moedas iguais a 10 (moedas=10).
Depois, o que fizemos foi tirar 2 moedas para cada laranja que "ganhamos" (moedas-=3*2 , afinal, são 3 laranjas).
Assim, não é preciso troco, pois ele já foi "dado" nessa linha do código, e assim já estamos com as 4 moedas finais (10-3*2...).

Agora que você já sabe o que são as variáveis, vamos aprender como usa-las! cheers

QuestionComo usar variáveis?

Para que possamos usar uma variável, antes é necessário inicia-la.
Mas como fazemos isso?

Simples. Para iniciar uma variável num objeto, colocamos o valor inicial dela no evento "CREATE"
Código:
moedas=0

Exclamation Podemos colocar qualquer nome para uma variável, seguindo as seguintes regras:
  1. O nome deve começar com uma letra (uma variável "9enta", por exemplo não é válida);
  2. O nome só deve conter letras, números e underlines (_);
  3. O nome só pode ter até 64 caracteres.


Dito isso, é importante também explicar que uma variável "pertence" ao objeto em que foi criada.
Por exemplo, se você criar uma variável "morto" no objeto "goomba" e colocar no objeto "mario" o código
Código:
morto=1
a variável do objeto "goomba" não vai mudar em nada, já que você está dizendo na verdade que a variável morto do objeto "mario" é que é igual a 1.

QuestionMas e se eu quizer colocar a variável do "goomba" igual a 1?
Se você quizer fazer isso, você antes vai ter que antes da variável dizer quem é o "dono" dela.
Isso pode ser feito assim:
Código:
goomba.morto=1

Assim, o formato é: objeto.variável (nome do objeto e depois o nome da variável, separados por um ponto.)

Agora vem uma parte importante:
QuestionMas e se eu quizer destruir o "goomba" quando a variável "morto" for igual a 1?
Para fazer isso, usamos o código a seguir no evento "STEP" do objeto "goomba":
Código:
if(morto=true){instance_destroy();}
O código acima checa sempre (por isso foi colocado no STEP) se a variável "morto" é verdadeira(igual a 1).
Se for, destoe o objeto "goomba".

Exclamation Podemos utilizar os seguintes operadores quando checamos expressões:
= igual
< menor
> maior
<= menor ou igual
>= maior ou igual
! não(usado junto com outros)
!= diferente (não igual)
and e
or ou

Existem também 2 constantes ("variáveis que não variam", tem sempre um mesmo valor) que podemos usar em comparações:
true = verdadeiro = 1
false = false = 0

Assim, podemos colocar os seguinte códigos:
Create:
Código:
moedas=10
laranjas=0
texto=''
//inicia as variáveis
Step:
Código:
if(moedas>=3 and laranjas=0){texto='Aperte Espaço para comprar uma laranja.'}
//se as moedas são maiores que 3 e não tem laranjas, a var. texto é igual a frase acima
if(moedas>=3 and laranjas!=0){texto='Compre mais laranjas!'}
//se as moedas são maiores que 3 e tem laranjas, a var. texto é igual a frase acima
if(moedas<3){texto='Você precisa de mais dinheiro!'}
//se tem menos de 3 moedas, dizer que tem pouco dinheiro
if(keyboard_check_released(vk_space) and moedas>=3){laranjas+=1; moedas-=3}
//se a barra de espaço foi solta e tem moedas suficientes, ganhar uma laranja e perder 3 moedas.
Draw:
Código:
draw_text(x,y,'Moedas = '+string(moedas));
draw_text(x,y+32,'Laranjas = '+string(laranjas));
draw_text(x,y+64,texto);
//escreve a quantidade de moedas e de laranjas, e escreve o texto.

Observe o que foi feito na criação e nas ações involvendo a variável "texto".
Ela é o que se pode chamar de uma string. Strings são variáveis que armazenam textos ao invés de nºs.
Quando atribuimos valores a strings, temos que colocar esses valores entre aspas ou apóstrofos(" ou ') para que o Game Maker saiba que são pedaços de texto e não variáveis.
Usamos também a função string(variável); que dá o valor em texto de uma variável numérica.

Se você seguir os passos do exemplo acima, colocar o objeto numa room e compilar, provavelmente terá uma tela como essa:


Não é exatamente um jogo, mas funciona.
Se você apertar espaço e tiver dinheiro, será comprada uma laranja.

Acho que por essa aula é só. Mas vou deixar para vocês uma
Exclamation LIÇÃO DE CASA:
  • Fazer um objeto que desenhe a quantidade de steps desde o início do jogo.

Para aqueles que querem testar seus conhecimentos.

Por enquanto é só. Nesta aula aprendemos o básico sobre variáveis, o suficiente para se criar quase tudo que se queira.
Bom, o assunto da próxima aula eu ainda não sei, mas assim que estiver pronta dou um EDIT aqui e posto o link.
Espero que tenham gostado. Postem suas dúvidas e opiniões.
Até a próxima! rendeer


Última edição por guiagge em Qua 28 Jul 2010, 10:42, editado 1 vez(es)

guiagge

Número de Mensagens : 90
Idade : 21
Data de inscrição : 24/09/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [INICIANTES] 1ª Aula - Variáveis

Mensagem por Suadao em Ter 27 Jul 2010, 14:41

Muito bom! Você conseguiu explicar de uma forma explícita e bem formatada, fácil de ser compreendida. Ótima iniciativa, espero ver mais aulas suas.

Valew! flw

Suadao

Número de Mensagens : 1035
Idade : 25
Data de inscrição : 22/11/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Re: [INICIANTES] 1ª Aula - Variáveis

Mensagem por Super Games em Ter 27 Jul 2010, 15:38

Otimo Guiagge!
Vai ajudar bastante os iniciantes no GameMaker.


PELA 1º VEZ....
Valew!

Super Games

Ranking : Nota D
Número de Mensagens : 2704
Idade : 18
Data de inscrição : 10/06/2010
Notas recebidas : D
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [INICIANTES] 1ª Aula - Variáveis

Mensagem por guiagge em Qua 28 Jul 2010, 11:11

Muito obrigado, é bom receber comentários construtivos como esses (eu já estava esperando que algum espírito de porco "ser" ia vir e chigar meu trebalho ao último, mas ainda bem que ainda não aconteceu!)
Espero continuar recebendo opiniões, e qualquer dúvida, estamos aí!

guiagge

Número de Mensagens : 90
Idade : 21
Data de inscrição : 24/09/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [INICIANTES] 1ª Aula - Variáveis

Mensagem por Conteúdo patrocinado Hoje à(s) 20:26


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