> LeekScript handledning
Förr eller senare, när du börjar koda, måste du upprepa samma instruktion flera gånger:
var enemy = getNearestEnemy();
använd Vapen(fiende); använd Vapen(fiende); använd Vapen(fiende); använd Vapen(fiende);
Detta kanske inte är något problem när det gäller att skjuta 3-4 gånger, men när du vill göra mer avancerade algoritmer måste du förmodligen upprepa instruktioner flera dussin gånger, eller till och med ett antal variabla gånger, vilket då inte kan göras på det här sättet. Det är här loopar kommer in i bilden. En loop är ett kodelement som gör det möjligt att upprepa en sekvens av instruktioner så många gånger som behövs. Varje gång koden som finns i en loop upprepas talar vi om iteration.
var enemy = getNearestEnemy();
for(var i = 0; i < 4; i++) { använd Vapen(fiende); } //det är genast snyggare :)
Beroende på vad du vill göra finns det flera typer av loopar som vi kommer att se nedan: "for", "while", "do while", "foreach" loopar. Det är förmodligen många olika slingor, och deras namn kan verka barbariskt, men var och en har en speciell användning, som vi kommer att se nedan.
Denna loop är den enklaste av alla. While betyder "Så länge... Gör...", denna loop gör det sedan möjligt att upprepa en sekvens av instruktioner så länge som ett givet villkor är verifierat. Tillståndet och instruktionen kan vara allt och vad som helst, som: prata medan jag har åtgärdspunkter, gå framåt medan jag har rörelsepunkter, ...
Dess syntax är följande:
while(villkor) { instruktioner; }
Självklart ska "skick" och "anvisningar" ersättas med det som är nödvändigt.
Denna loop är faktiskt väldigt lik while-slingan som setts tidigare, förutom att den exekverar instruktionerna minst en gång innan villkoret testas. Om en while-loop kunde översättas som "Så länge som... Gör...", skulle do-while-slingan hellre översättas som "Do... Så länge..."
Dess syntax är ganska lik den för while-loopen, men översätter väl nyanser mellan de två:
gör {// först utför vi instruktionerna instruktioner; }while(condition);//då tittar vi på villkoret
For-slingan används främst för att använda en räknare. Dess syntax är lite mer voluminös än för de andra looparna, men det gör det möjligt att lyfta fram de viktiga egenskaperna hos denna.
Dess syntax är:
for(initiering; villkor; operation) { instruktioner; }
Villkoret fungerar på samma sätt som villkoret för en while-loop, men två nya element har dykt upp: initieringen och operationen. Dessa två element gör det sedan möjligt att skapa slingans räknare (i allmänhet är det en fråga om att skapa eller modifiera en variabel) och att uppdatera den.
Till exempel, för att skjuta tre gånger kan du göra:
var enemy = getNearestEnemy();
for(var räknare = 0; räknare < 3; räknare += 1) { använd Vapen(fiende); }
Vi kan märka att den här koden också kan skapas med de tidigare looparna:
var enemy = getNearestEnemy();
var räknare = 0; while(räknare < 3) { räknare += 1; använd Vapen(fiende); }
Men här är räknaren och dess inkrement inte markerad, vilket syntaxen för for-loopen tillåter att göra.
Denna loop är lite speciell: den är specialiserad på att korsa elementen i en array. Istället skulle det betyda "För varje [matriselement] Gör...".
Den kan användas på två olika sätt, beroende på behov:
for(var värde i array) { //vid varje iteration av slingan kommer värde att vara ett element i arrayen. instruktioner; }
Ibland kan det vara nödvändigt att känna till positionen för det studerade elementet, den lämpliga syntaxen är då:
for(var position: var värde i array) { //vid varje iteration av slingan kommer värde att vara ett element i arrayen och placera dess position i arrayen, så vi kommer att ha: array[position] == värde instruktioner; }
Till exempel, för att få listan över effekter ett chip kommer att ha kan du göra:
for(var effekt i getChipEffects(CHIP_DEVIL_STRIKE)) { if(effekt[0] == EFFECT_DAMAGE) say("det gör ont"); }
Obs: variablerna "position" och "värde" kan skapas före loopen:
var värde, position; for(position: värde i array) { //vid varje iteration av slingan kommer värde att vara ett element i arrayen. instruktioner; }
Du måste vara försiktig med denna loop: modifiering av arrayen under dess körning kan verkligen orsaka irriterande buggar i din kod, så detta måste undvikas så mycket som möjligt.
Viktigt Från och med version 1.17 den 31 oktober 2020 kan syntaxen for (var key: var @value in array) användas för att bläddra
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.