[PROG]#IEM Aula 06 - For, do, until e repeat
Enviado: Sex Abr 29, 2016 3:16 pm
INTRODUÇÃO EM GML
Aula 06 - For, do, until e repeat
(Atualizado 08/02/2015)
FOR:
É um ciclo assim como o while. Mas este é configurável. Ele pode realizar várias rotinas simultaneamente.
Essa estrutura é usada para poupar o tamanho do código. Mas não só para isso, serve também para ter controle sobre vários elementos usando um curto código.
Ex:
Se quisermos desenhar 10 círculos alinhados horizontalmente com espaços de 64 pixels entre seus centros na tela, faríamos o seguinte código:
Código: Selecionar todos
//Escolhe a cor vermelha
draw_set_color(c_red)
//Desenha circulos
draw_circle(0,32,32,false)
draw_circle(64,32,32,false)
draw_circle(128,32,32,false)
draw_circle(192,32,32,false)
draw_circle(256,32,32,false)
draw_circle(320,32,32,false)
draw_circle(384,32,32,false)
draw_circle(448,32,32,false)
draw_circle(512,32,32,false)
draw_circle(640,32,32,false)
Código: Selecionar todos
//Escolhe a cor vermelha
draw_set_color(c_red)
//Cria ciclo
for (var xx=0; xx < 640; xx+=64)
{
//Desenha circulos
draw_circle(xx, 32, 32, false)
}
A estrutura do for é divididada em 3 partes:
- Inicialização: declaramos um valor inicial pra uma variável (var xx = 0);
- Condição para continuação do ciclo: define uma condição para fim para o ciclo (xx < 640);
- incremento da variável: Aumenta ou diminui o valor da variável para que em algum momento ela não satisfaça mais a condição (xx += 64).
Em todas as posições em que xx passou (0, 64, 128, 192, 256, 320, 384, 448 e 640) será desenhado o circulo vermelho.
Resumindo: enquanto xx não for menor que 640, serão adicionados mais 64 ao xx até que ele não seja menor que 640. E em cada passo que ele fez para chegar la será desenhado um circulo vermelho.
Desenhando uma linha usando pontos:
Código: Selecionar todos
//Cria ciclo
for(var yy = 0; yy < 100; yy += 1)
{
//Desenha pixel
draw_point(10, yy)
}
Agora ficou mais simples né? Espero que tenham aprendido, porque é um pouco complicado explicar o For, até mesmo pra quem sabe usa-lo! XD.
Lembrando que o for é um ciclo também, então quando ele for executado ele vai pausar o ciclo do objeto até que sua expressão seja falsa.
DO e UNTIL:
Esses são sempre usados em conjunto e também fazem um ciclo. Exemplo:
Código: Selecionar todos
do {moeda+=1} until moeda>=100
Isso faz com que seja adicionado 1 até que a variável moeda seja maior ou igual a 100. Lembrando que a ação ocorre pelo menos uma vez já que a condição é checada depois da mesma. Logo, independente de moedas ser maior que 100, o moedas+=1 ocorrerá ao menos uma vez.
REPEAT:
Muito simples. Essa expressão repete um bloco de código o número de vezes que você desejar:
Código: Selecionar todos
//Repete 10 vezes
repeat(10)
{
//Cria uma instancia de tiro
instance_create(x,y,tiro)
}
Aula Anterior: #IEM Aula 05 - Else e Switch
Próxima aula: #IEM Aula 07 - Funções e Scripts
FLWS!