Rotações

Fivelas

> Tutorial LeekScript

Mais cedo ou mais tarde, quando você começar a codificar, precisará repetir a mesma instrução várias vezes:

var inimigo = getNearestEnemy();

useArma(inimigo); useArma(inimigo); useArma(inimigo); useArma(inimigo);

Isso pode não ser um problema quando se trata de disparar 3-4 vezes, mas quando você deseja fazer algoritmos mais avançados, provavelmente terá que repetir as instruções várias dezenas de vezes, ou mesmo um número variável de vezes, o que não pode ser feito. desta maneira. É aqui que os loops entram em jogo. Um loop é um elemento de código que permite repetir quantas vezes forem necessárias uma sequência de instruções. Cada vez que o código contido em um loop é repetido, falamos de iteração.

var inimigo = getNearestEnemy();

for(var i = 0; i < 4; i++) { useArma(inimigo); } // fica imediatamente mais bonito :)

Dependendo do que você deseja fazer, existem vários tipos de loops que veremos a seguir: loops "for", "while", "do while", "foreach". Provavelmente são muitos loops diferentes, e seu nome pode parecer bárbaro, mas cada um tem um uso específico, como veremos a seguir.

laço while

Este loop é o mais simples de todos. Enquanto significa "Contanto que... Faça...", este laço torna possível repetir uma sequência de instruções Desde que uma determinada condição seja verificada. A condição e a instrução podem ser tudo e qualquer coisa, como: falar enquanto tenho pontos de ação, avançar enquanto tenho pontos de movimento, ...

Sua sintaxe é a seguinte:

while(condição) { instruções; }

Claro, "condição" e "instruções" devem ser substituídas pelo que for necessário.

Loop do-while

Na verdade, esse loop é muito semelhante ao loop while visto anteriormente, exceto que ele executa as instruções pelo menos uma vez antes de testar a condição. Se um loop while pudesse ser traduzido como "Contanto que... Faça...", o loop do-while seria traduzido como "Faça... Contanto que..."

Sua sintaxe é bastante semelhante à do loop while, mas traduz bem as nuances entre os dois:

fazer {// primeiro executamos as instruções instruções; }while(condição);//então olhamos para a condição

for loop

O loop for é usado principalmente para usar um contador. Sua sintaxe é um pouco mais volumosa que a dos outros loops, mas permite destacar as características importantes deste.

Sua sintaxe é:

for(inicialização; condição; operação) { instruções; }

A condição funciona da mesma forma que a condição de um loop while, mas dois novos elementos apareceram: a inicialização e a operação. Estes dois elementos permitem então criar o contador do loop (geralmente trata-se de criar ou modificar uma variável) e atualizá-lo.

Por exemplo, para atirar três vezes, você pode fazer:

var inimigo = getNearestEnemy();

for(var contador = 0; contador < 3; contador += 1) { useArma(inimigo); }

Podemos notar que este código também pode ser criado com os loops anteriores:

var inimigo = getNearestEnemy();

var contador = 0; while(contador < 3) { contador += 1; useArma(inimigo); }

Mas aqui, o contador e seu incremento não são destacados, o que a sintaxe do loop for permite fazer.

laço foreach

Esse loop é um pouco especial: ele se especializa em percorrer os elementos de um array. Em vez disso, significaria "Para cada [elemento da matriz] Faça...".

Pode ser usado de duas maneiras diferentes, dependendo das necessidades:

for(valor da var na matriz) { //a cada iteração do loop, value será um elemento do array. instruções; }

Às vezes, pode ser necessário saber a posição do elemento estudado, a sintaxe apropriada é então:

for(posição da var: valor da var no array) { //a cada iteração do loop, value será um elemento do array e posicionará sua posição no array, então teremos: array[position] == value instruções; }

Por exemplo, para obter a lista de efeitos que um chip terá, você pode fazer:

for(efeito var em getChipEffects(CHIP_DEVIL_STRIKE)) { if(efeito[0] == EFFECT_DAMAGE) diga("está doendo"); }

Nota: as variáveis "posição" e "valor" podem ser criadas antes do loop:

valor var, posição; for(posição: valor no array) { //a cada iteração do loop, value será um elemento do array. instruções; }

Você deve ter cuidado com este loop: modificar o array durante sua execução pode realmente causar bugs irritantes em seu código, então isso deve ser evitado tanto quanto possível.

Importante A partir da versão 1.17 em 31 de outubro de 2020, a sintaxe for (var key: var @value in array) pode ser usada para navegar