Página 1 de 1

[PROG]#IEM Aula 05 - Else e Switch

Enviado: Sex Abr 29, 2016 3:13 pm
por All-x

INTRODUÇÃO EM GML

Aula 05 - Else e Switch

(Atualizado 08/02/2015)



ELSE:

É uma palavra em inglês que significa "senão". No Game Maker ela é usada em conjunto com o "if".

Ex:

Código: Selecionar todos

//se moedas for maior ou igual a 100
if moedas >= 100
{
    moedas = 0 
    vidas += 1
} 
else //senão
{
    moedas += 2
}
Ou seja se moedas não for maior ou igual a 100 adicionará mais duas moedas. Para ver o resultado disso coloque o código acima no step e isso no create:

Código: Selecionar todos

vidas = 0
moedas = 0
E isso no draw:

Código: Selecionar todos

draw_text(10, 10, "Vidas: " + string(vidas) + "#" + "Moedas: " + string(moedas))
Teste e veja o resultado.

Você também pode adicionar vários elses seguidos em conjunto com if:

Código: Selecionar todos

if tipo == 0       //se for 0
{
    forca=10
}
else if tipo == 1  //senão for  0 e for 1
{
    forca=20
}
else if tipo == 2  //senão for 0 ou 1 e for 2
{
    forca=30
}
else            //senão for nenhum
{
    forca=0
}
Uma vez usado else if na estrutura o else sozinho só pode aparecer na última condição.

SWITCH:

Quando usamos muitos else e if seguidos podemos ficar um pouco perdidos. A estrutura switch é uma forma simples e dinâmica de organizar e otimizar o código:

Código: Selecionar todos

switch tipo         //Expressão checada será a variável tipo
{

case 0:             //caso for 0

    forca=10

break;

case 1:             //caso for 1

    forca=20

break;

case 2:             //caso for 2

    forca=30

break;

default: forca=0;   //caso for nenhum

}
case marca o inicio de um bloco e break o fim.

Exemplo do GM:

Código: Selecionar todos

switch (keyboard_key)
{

  case vk_left:
  case vk_numpad4:
    x -= 4 
  break

  case vk_right:
  case vk_numpad6:
    x += 4 
  break

}
Repare que:

- Os dois pontos ( : ) são necessários, já o ponto virgula ( ; ) não é obrigatório.
- O default (padrão) é usado caso nenhum dos casos ocorrer.
- Você pode usar 2 casos ou mais para apenas um resultado.
- Suas declarações devem ficar entre os dois pontos ( : )  o break.

Aula anterior: #IEM Aula 04 - If/While e Expressões
Próxima aula: #IEM Aula 06 - For, do, until e repeat

FLWS!