Game Maker - Aula 8 - As declarações IF e ELSE

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

Qualidade Game Maker - Aula 8 - As declarações IF e ELSE

Mensagem por .:Allison:. em Seg 27 Jun 2011, 16:24

Expressões “If” e “Else”
Nome: Expressões “If” e "Else"
Nível: Iniciante
Descrição: Aprenda como checar se a expressão é verdadeira, ou seja, fazer algumas perguntas ao GM.
Créditos: .:Allison:.

Bom, já vimos o essencial para irmos agora para um tipo de chave chamada “Expressões”. Prepare-se, pois iremos juntar tudo que vimos nas aulas passadas, nessa aula darei muitos exemplos. O if é uma Expressão de Checagem que checa se a condição é verdadeira, se sim, executa a expressão, é mais como um tipo de pergunta, traduzindo do inglês, a palavra (if) significa (se), como assim "se"? Explicarei daqui a pouquinho. A estrutura do if é basicamente assim:
Código:
if (condição) {
expressão;
}
Traduzindo:
Código:
SE a condição é verdadeira {
executa a expressão
}
Deu para pegar um pouco não deu? Isso mesmo, Se a condição for verdadeira, vai executar a expressão do if. Com exemplo fica mais fácil de entender.
if (keyboard_check(vk_left)) { // Se condição for verdadeira
x-=3.5//executa a expressão
}

No nosso caso temos:
Código:
Se (estiver_pressionando(tc_esquerda)){
Mova 3.5 pixels à esquerda
}
Isso funciona repetidamente, enquanto você estiver pressionando a tecla esquerda do seu teclado, vai ficar executando a expressão, ou seja, vai ficar movendo 3.5 pixels à esquerda, quando não estiver pressionando não acontece nada, isso é um código de movimentação.
Se por exemplo, quisermos fazer com que quando não estiver pressionando à esquerda ele execute algo?? se você se desempenhou bem, pensou, assim:
if not (keyborad_check(vk_left)) {// se não for pressionado a tecla esquerda
draw_text(x,y,"aperte a tecla esquerda para andar")// desenha um texto
}

Está correto, aliás, se você pensou nisso, parabéns, você está indo muito bem, se não, estude mais. Porém tem uma expressão que faz justamente isso, é o else ele faz justamente o contrário do if, ou seja ele checa se a condição é falsa, se sim, ele vai executar a expressão, traduzindo do inglês o (else) fica (se não).Ele só pode ser usado com if, basicamente sua estrutura é:
Código:
If (condição) { // Se a condição for verdadeira
Expressão;//executa a expressão
}
Else {//se a condição declarada acima for falsa
Expressão;//executa a expressão
}
Eu acho que você já conseguiu entender, se não, explicarei agora com um exemplo:
if (keyboard_check(vk_left)) { // Se condição for verdadeira
x-=3.5//executa a expressão
}
else {// se não for verdadeira
draw_text(x,y,"aperte a tecla esquerda para andar")// desenha um texto
}

Primeiro checamos se está sendo pressionada a tecla esquerda, se ela estiver, vai executar o x-=3.5, porém se ela não tiver sendo pressionada, vai pular para a expressão do else, ou seja, draw_text.

É incrível como esse pedacinho de código, pode fazer coisas fantásticas, aliás, se eu não mim engano, eu deixei uma frase: "se você pensou nisso, parabéns, você está indo muito bem, se não, estude mais." Poderíamos simplesmente transformar isso em um código, que tal? Vamos tentar!
Primeiro iremos declarar o if
var estudo;
if (estudo>=100) {
draw_text(x,y,"parabéns, seus estudos estão 100%");
}
else{//se o estudo não for igual a 100
estudo+=1
}

Esse código nunca vai dar menos ou mais que 100. Isso acontece por que, primeiro, se for maior ou igual a 100 vai executar a expressão, ou seja, nunca vai passar, se for menor do que 100, vai acrescentar mais 1, nesse caso vai ser sempre, ou quase sempre 100.

A expressão if, trabalha livre com variáveis, funções, expressões entre outros, ele também pode entrar dentro de uma hierarquia, ou seja, pode ser if dentro de if. Por exemplo, numa troca de strites:
var parado, direita;//declaramos as variáveis
parado=true//acrescentamos valores às variáveis
direita=false
if (parado=true) { // se estiver parado
if (direita=true) { // e se estiver para a direita
sprite_index=player_parado_direita;//troca para a sprite direita
}else{// se não estiver para a direita
sprite_index=player_parado_esquerda;//troca para a sprite esquerda
}
}else{// se não estiver parado
if (direita=true) {// e se estiver para a direita
sprite_index=player_andan_direita; // troca para a sprite direita andando
}else{//se não estiver para a direita
sprite_index=player_andan_esquerda;// troca para a sprite esquerda andando
}
}

Esse código faz uma troca de sprites, mas você pensa, só temos duas variáveis, “parado e direita”, e a andando e esquerda? É só usar uma questão de lógica, se o parado for igual à true (verdadeiro) ele está parado, se for igual à false (falso) ele está andando.
Você já está imaginando o que se pode fazer com if!!!

Temos novidades, primeiro que a partir dessa aula teremos os nossos exemplares de aulas, que são arquivos gmk, ou seja, uma engine do assunto abortado. Hoje temos uma engine usando o if para um sistema de compras simples, a engine está bem explicativa. Se você anda ligado em todas as aulas, você percebeu que usamos muitas coisas que aprendemos nas aulas anteriores, tudo que tem nos códigos já foi ensinado, se você não sabe ou se esqueceu, leia os outros tutorias e tente gravar o máximo possível, lembre-se nada cai do céu, você precisa lutar para ter tudo o que quer!

Download do Exemplar da Aula 8 - Variáveis

Até Mais !!! Razz

.:Allison:.

Ranking : Nota B
Número de Mensagens : 630
Idade : 19
Data de inscrição : 25/07/2010
Notas recebidas : B
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://clubmaker.forumeiros.com

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