[size=150]Tutorial
Usando Loops (Avançado)[/size]
[size=150]Índice[/size]
[*]O que é um Loop?
[*]Porque usar Loop?
[*]Formas de usar um Loop.
for
while
do
[*]Funções para usar em Loops.
break
continue
goto
sleep
[*]FAQ
[*]Créditos.
[size=150]O que é um Loop?[/size]
Loop, é uma forma de dar 'voltas' sobre um valor, uma diretiva, uma variável, dentre outras. O Loop vai ficar dando 'voltas' na função definida até ele ser pausado, chegar ao final, ou achar um valor definido. (Ou seja um código criado para ser executado mais de 1 vez.)
[size=150]Porque usar um Loop?[/size]
Geralmente, um loop é usado para procurar um valor dentro uma função. Mas, ele tem muitas outras utilidades, que será explicada no decorrer deste tutorial.
[size=150]Formas de usar um Loop.[/size]
Atualmente, só tem três formas padrões do SA:MP de criar loops. Elas são: for, do, while.
Existem outras como o foreach do Y_Less.
Exemplos de como usar um loop for:
O for é o loop mais conhecido e mais usado, ele é o mais simples e pode ser usado em qualquer ocasião, sem restrições, desde que seja necessário.
Exemplo:
Explicação: O Loop vai dar voltas na variável Lp, enquanto ela for menor que 10, que é o valor colocado para o Loop dar voltas.
Desta forma, o Loop vai nos 'printar' em nosso console:
Ele inicia-se do 0 porque as variáveis, de padrão, se inicia em 0 e só vai acabar quando a variável Lp for menor do que 10, sendo assim, 9.
Exemplos de como usar um loop while:
O while é um loop e um auxiliar, ele tanto serve para executar-se independente, como para auxiliar o loop do a fazer sua execução. O while, diferente do for, não pode definir uma variável dentro de si, para executar um loop sob ela, a variável deve ser definida antes dele ser executado.
Exemplo:
Explicação: O Loop vai dar voltas na variável i, enquanto ela for menor que 10, que é o valor colocado para o Loop dar voltas.
Desta forma, o Loop vai nos 'printar' em nosso console:
Ele inicia-se do 0 porque as variáveis, de padrão, se inicia em 0 e só vai acabar quando a variável i for menor do que 10, sendo assim, 9.
Exemplos de como usar um loop do:
O do é um loop, porém, ao contrário do for e do while, que são independentes para se executar, o do, precisa do while para verificação e execução.
Exemplo:
Explicação: O Loop vai dar voltas na variável a, enquanto ela for menor que 10, que é o valor colocado para o Loop dar voltas.
Desta forma, o Loop vai nos 'printar' em nosso console:
Ele inicia-se do 0 porque as variáveis, de padrão, se inicia em 0 e só vai acabar quando a variável a for menor do que 10, sendo assim, 9.
[size=150]Formas de usar um Loop.[/size]
Atualmente, só tem quatro funções padrões do SA:MP que possam, parar, ir, pular e pausar um Loop. Porém, o Pawno, não é amplo o bastante para que a função de 'pausar' seja executada com sucesso, atualmente ela faz parar. (Em meus testes ela faz parar e não pausar um loop, se eu estiver usando errado, me corrijam).
Vou dar todos os exemplos no loop for, porém podem ser usados em todos loops.
Como usar o break
Explicação: O Loop vai dar voltas na variável i, e se(if) ela for igual a 5, ele vai executar o break.
Desta forma, o Loop vai nos 'printar' em nosso console:
Pois, ela vai partir de 0 até 5, quando chegar em 5, vai executar o break e vai parar a execução, porém, não vai executar o 5, porque o loop já vai estar parado.
Como usar o continue
Explicação: O Loop vai dar voltas na variável i, e se(if) ela for igual a 5, ele vai executar o continue.
Desta forma, o Loop vai nos 'printar' em nosso console:
Pois, ela vai partir de 0 até 5, quando chegar em 5, vai executar o continue e vai continuar a execução a partir de 5 até chegar em 9 que é o valor menor que 10(que foi pedido para executar).
Como usar o goto
Explicação: Está nos comentários acima.
Desta forma, o Loop vai nos 'printar' em nosso console, algo como isso(depende da sorte do random):
Pois, ela vai fazer o random, e quando o random atingir o número 0 vai setar para a variável i o valor 1(verdadeiro) e vai parar o loop, porque vai ir(goto) até o final, mas, se o random não for igual a 0, ele vai setar o valor 0 para a variável i, e vai ir(goto) até o inicio, fazendo o loop girar novamente até o random ser igual a 0 que vai setar o valor 1 para a variável i, assim, finalizando o loop.
Como usar o sleep
Explicação: Era para girar o loop até chegar no 5, e quando chegasse no 5, pausar o loop por 1 segundo(em milessegundos), porém a estrutura do Pawno, não nos permite isso, e está parando o loop.
Desta forma, o Loop vai nos 'printar' em nosso console:
[size=150]FAQ[/size]
Pergunta: Eu já sabia disso tudo, não preciso ler isso.
Resposta: Então, ignore tudo.
Pergunta: Como criar um Loop infinito?
Resposta: Simples:
Porém, todas irá dar um ou dois warnings, mas, será loop infinito.
[size=150]Créditos[/size]
DreeH - Criação total do tutorial.
Wiki SA:MP - A maioria do tutorial foi tirado de lá.
SA:MP Team.
* Dei algumas editadas/corrigidas em alguns textos, para melhor entendimento
Usando Loops (Avançado)[/size]
[size=150]Índice[/size]
[*]O que é um Loop?
[*]Porque usar Loop?
[*]Formas de usar um Loop.
for
while
do
[*]Funções para usar em Loops.
break
continue
goto
sleep
[*]FAQ
[*]Créditos.
[size=150]O que é um Loop?[/size]
Loop, é uma forma de dar 'voltas' sobre um valor, uma diretiva, uma variável, dentre outras. O Loop vai ficar dando 'voltas' na função definida até ele ser pausado, chegar ao final, ou achar um valor definido. (Ou seja um código criado para ser executado mais de 1 vez.)
[size=150]Porque usar um Loop?[/size]
Geralmente, um loop é usado para procurar um valor dentro uma função. Mas, ele tem muitas outras utilidades, que será explicada no decorrer deste tutorial.
[size=150]Formas de usar um Loop.[/size]
Atualmente, só tem três formas padrões do SA:MP de criar loops. Elas são: for, do, while.
Existem outras como o foreach do Y_Less.
Exemplos de como usar um loop for:
O for é o loop mais conhecido e mais usado, ele é o mais simples e pode ser usado em qualquer ocasião, sem restrições, desde que seja necessário.
Exemplo:
- Código:
for(new Lp; Lp < 10; Lp++)
{
printf("%i", Lp);
}
Explicação: O Loop vai dar voltas na variável Lp, enquanto ela for menor que 10, que é o valor colocado para o Loop dar voltas.
Desta forma, o Loop vai nos 'printar' em nosso console:
- Código:
0
1
2
3
4
5
6
7
8
9
Ele inicia-se do 0 porque as variáveis, de padrão, se inicia em 0 e só vai acabar quando a variável Lp for menor do que 10, sendo assim, 9.
Exemplos de como usar um loop while:
O while é um loop e um auxiliar, ele tanto serve para executar-se independente, como para auxiliar o loop do a fazer sua execução. O while, diferente do for, não pode definir uma variável dentro de si, para executar um loop sob ela, a variável deve ser definida antes dele ser executado.
Exemplo:
- Código:
new i;
while(i < 10)
{
printf("%i", i);
i++;
}
Explicação: O Loop vai dar voltas na variável i, enquanto ela for menor que 10, que é o valor colocado para o Loop dar voltas.
Desta forma, o Loop vai nos 'printar' em nosso console:
- Código:
0
1
2
3
4
5
6
7
8
9
Ele inicia-se do 0 porque as variáveis, de padrão, se inicia em 0 e só vai acabar quando a variável i for menor do que 10, sendo assim, 9.
Exemplos de como usar um loop do:
O do é um loop, porém, ao contrário do for e do while, que são independentes para se executar, o do, precisa do while para verificação e execução.
Exemplo:
- Código:
new a;
do
{
printf("%i", a);
a++;
}
while(a < 10);
Explicação: O Loop vai dar voltas na variável a, enquanto ela for menor que 10, que é o valor colocado para o Loop dar voltas.
Desta forma, o Loop vai nos 'printar' em nosso console:
- Código:
0
1
2
3
4
5
6
7
8
9
Ele inicia-se do 0 porque as variáveis, de padrão, se inicia em 0 e só vai acabar quando a variável a for menor do que 10, sendo assim, 9.
[size=150]Formas de usar um Loop.[/size]
Atualmente, só tem quatro funções padrões do SA:MP que possam, parar, ir, pular e pausar um Loop. Porém, o Pawno, não é amplo o bastante para que a função de 'pausar' seja executada com sucesso, atualmente ela faz parar. (Em meus testes ela faz parar e não pausar um loop, se eu estiver usando errado, me corrijam).
Vou dar todos os exemplos no loop for, porém podem ser usados em todos loops.
Como usar o break
- Código:
for(new i; i < 10; i++)
{
if(i == 5) break;
printf("%i", i);
}
Explicação: O Loop vai dar voltas na variável i, e se(if) ela for igual a 5, ele vai executar o break.
Desta forma, o Loop vai nos 'printar' em nosso console:
- Código:
0
1
2
3
4
Pois, ela vai partir de 0 até 5, quando chegar em 5, vai executar o break e vai parar a execução, porém, não vai executar o 5, porque o loop já vai estar parado.
Como usar o continue
- Código:
for(new i; i < 10; i++)
{
if(i == 5) continue;
printf("%i", i);
}
Explicação: O Loop vai dar voltas na variável i, e se(if) ela for igual a 5, ele vai executar o continue.
Desta forma, o Loop vai nos 'printar' em nosso console:
- Código:
0
1
2
3
4
6
7
8
9
Pois, ela vai partir de 0 até 5, quando chegar em 5, vai executar o continue e vai continuar a execução a partir de 5 até chegar em 9 que é o valor menor que 10(que foi pedido para executar).
Como usar o goto
- Código:
for(new i; i < 10; i++)
{
Inicio: // Indica o inicio do loop
if(random(5) == 0) i = 1; // Se o random(5) for igual a 0, ele vai setar a variável i para 1
else i = 0; // Ou se o random(5) for igual a 1, 2, 3, 4 ou 5, ele vai setar a variável i para 0
if(i == 1) // Se a variável i for igual a 1
{
print("A variável i é Verdadeira"); // Vai printar no console "A variável i é Verdadeira"
goto Final; // E vai ir para o final, ou seja, vai acabar o loop.
}
else // Ou se a variável i for igual a 0
{
print("A variável i é Falsa"); // Vai printar no console "A variável i é Falsa"
goto Inicio; // E vai ir pro inicio, girando o loop denovo, até a variável i for igual a 1 e ir até o final do loop.
}
}
Final: // indica o final do loop.
Explicação: Está nos comentários acima.
Desta forma, o Loop vai nos 'printar' em nosso console, algo como isso(depende da sorte do random):
- Código:
A variável i é Falsa
A variável i é Falsa
A variável i é Falsa
A variável i é Falsa
A variável i é Falsa
A variável i é Verdadeira
Pois, ela vai fazer o random, e quando o random atingir o número 0 vai setar para a variável i o valor 1(verdadeiro) e vai parar o loop, porque vai ir(goto) até o final, mas, se o random não for igual a 0, ele vai setar o valor 0 para a variável i, e vai ir(goto) até o inicio, fazendo o loop girar novamente até o random ser igual a 0 que vai setar o valor 1 para a variável i, assim, finalizando o loop.
Como usar o sleep
- Código:
for(new i; i < 10; i++)
{
if(i == 5) sleep(1000);
printf("%i", i);
}
Explicação: Era para girar o loop até chegar no 5, e quando chegasse no 5, pausar o loop por 1 segundo(em milessegundos), porém a estrutura do Pawno, não nos permite isso, e está parando o loop.
Desta forma, o Loop vai nos 'printar' em nosso console:
- Código:
0
1
2
3
4
[size=150]FAQ[/size]
Pergunta: Eu já sabia disso tudo, não preciso ler isso.
Resposta: Então, ignore tudo.
Pergunta: Como criar um Loop infinito?
Resposta: Simples:
- Código:
for(;;) print("Loop Infinito");
- Código:
while(true) print("Loop Infinito");
- Código:
do
{
print("Loop Infinito");
}
while(true);
Porém, todas irá dar um ou dois warnings, mas, será loop infinito.
[size=150]Créditos[/size]
DreeH - Criação total do tutorial.
Wiki SA:MP - A maioria do tutorial foi tirado de lá.
SA:MP Team.
* Dei algumas editadas/corrigidas em alguns textos, para melhor entendimento