SSGamers - 13 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 13 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 13 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    Usando Loops (Avançado)

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11625
    Moedas : 1032880
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    Usando Loops (Avançado) Empty Usando Loops (Avançado)

    Mensagem por Weslley_Script Dom 21 Abr 2019 - 13:28

    Tutorial
    Usando Loops (Avançado)


    Índice

    • Oque é 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.






    O que é um Loop?

    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.


    Porque usar um Loop?

    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.


    Formas de usar um Loop.

    Atualmente, só tem três formas padrões do SA:MP de criar loops. Elas são: fordowhile.
    Existem outras como o foreach do ******.


    • Exemplos de como usar um loop for:

      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:

      pawn Code:
      for(new Lp; Lp < 10; Lp++)
      {
          printf("%i", Lp);
      }

      ExplicaçãoO 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:
      Code:
      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:

      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


      pawn Code:
      new i;
      while(i < 10)
      {
          printf("%i", i);
          i++;
      }

      ExplicaçãoO 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:
      Code:
      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:

      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:


      pawn Code:
      new a;
      do
      {
          printf("%i", a);
          a++;
      }
      while(a < 10);

      ExplicaçãoO 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:
      Code:
      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.





    Funções para usar em Loops.

    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


      pawn Code:
      for(new i; i < 10; i++)
      {
          if(i == 5) break;
          printf("%i", i);
      }

      ExplicaçãoO 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:
      Code:
      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



      pawn Code:
      for(new i; i < 10; i++)
      {
          if(i == 5) continue;
          printf("%i", i);
      }

      ExplicaçãoO 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:
      Code:
      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


      pawn Code:
      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çãoEstá nos comentários acima.

      Desta forma, o Loop vai nos 'printar' em nosso console, algo como isso(depende da sorte do random):
      Code:
      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


      pawn Code:
      for(new i; i < 10; i++)
      {
          if(i == 5) sleep(1000);
          printf("%i", i);
      }

      ExplicaçãoEra 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:
      Code:
      0
      1
      2
      3
      4





    FAQ.

    PerguntaEu já sabia disso tudo
    RespostaEntão, ignore tudo, não preciso saber disso.

    PerguntaComo criar um Loop infinito?
    RespostaSimples:



    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.



    Créditos.

    • DreeH - Criação total do tutorial.

    • Wiki SA:MP - A maioria do tutorial foi tirado de lá.

    • SA:MP Team.




    Se ficou mais alguma dúvida, poste abaixo, que tentarei resolver.



    Usando Loops (Avançado) D07Xwqb
    Usando Loops (Avançado) Yjab9HN

      Data/hora atual: Qui 7 Nov 2024 - 20:39