> LeekScript-veiledning
Vi skal nå snakke om funksjonene til LeekScript!
Funksjoner er et viktig aspekt ved programmering. De lar deg huske en rekke handlinger som du kan gjenbruke når du vil.
På Leek Wars kan vi skille mellom to typer funksjoner:
– De personlige funksjonene, det vil si de som du skal lage.
Vi vil bare snakke om native funksjoner foreløpig.
De opprinnelige funksjonene er funksjonene som LeekScript gjør tilgjengelig for deg, det er de som lar deg få mye informasjon om kampen. Det er også takket være dem at du vil være i stand til å kontrollere handlingene til purren din.
Funksjoner er raskt gjenkjennelige på syntaks:
funksjonsnavn(parametere);
Du har allerede sett dem i den grunnleggende AI under kapittelet om Editor. Som en påminnelse :
// Fire svært nyttige funksjoner var enemy = getNearestEnemy(); setWeapon(WEAPON_PISTOL); moveMoward(fiende); brukVåpen(fiende);
getNearestEnemy, setWeapon, moveToward og useWeapon er fire funksjoner som LeekScript gjør tilgjengelig for deg.
En minimal forståelse kan bidra til å forstå nytten av en funksjon uten å måtte konsultere dokumentasjonen. Funksjonsnavn er vanligvis selvforklarende og viser hva de brukes til.
Hva er "retur" av en funksjon? Det er ikke systematisk, men en funksjon kan returnere informasjon.
Dette er tilfellet i dette eksemplet:
var enemy = getNearestEnemy();
Hvis du tok hensyn til forrige kapittel, forstår du at en "fiende"-variabel er opprettet. Og samtidig tildeles den en verdi med likhetssymbolet '='.
Men hva er egentlig tildelt ham? Det er her getNearestEnemy-funksjonen kommer inn. Denne funksjonen returnerer ID-en til nærmeste fiende.
Så når purren din vil kjøre denne koden, vil den kalle opp getNearestEnemy-funksjonen. Dette vil returnere identifikatoren til den nærmeste purren som deretter vil bli lagret i "fiende"-variabelen;
Hvis du er nysgjerrig, kan du legge til en debug:
var enemy = getNearestEnemy(); feilsøke (fiende);
Hvis du kjører denne koden i en 1v1-testkamp, bør du se tallet 1 eller 0. Purre-ID-er i kamp er ikke annet enn tall. For en kamp på 4 purre vil disse være nummerert fra 0 til 3.
Som du kan se, er debug en innebygd funksjon i LeekScript. Du lurer kanskje på hvorfor vi setter «fienden»-variabelen i parentes? Vi kommer dit.
Det er det du kaller det som står innenfor parentesen: parametere. Disse små beistene er veldig nyttige. Handlingen en funksjon vil utføre vil avhenge av parameterne.
For å gå tilbake til debug-funksjonen, viser den en melding i kamploggene. Og denne meldingen, det er du som angir innholdet, takket være en parameter.
Hvis du gir verdien 5 i parameteren til debug, vil meldingen være "5". Hvis du gir teksten "Jeg liker purresuppe" til feilsøke, vil meldingen være "Jeg liker purresuppe".
Dette er hva som skjer med disse funksjonene:
var enemy = getNearestEnemy(); setWeapon(WEAPON_PISTOL); moveMoward(fiende); brukVåpen(fiende);
setWeapon får purren din til å utstyre et våpen. For å indikere for ham hvilket våpen han må utstyre, må du sende identifikatoren til våpenet som en parameter. Her er det "WEAPON_PISTOL", det er en konstant som betegner Pistol-våpenet. Denne konstanten tilsvarer tallet 37, identifikatoren til pistolen. Du kan skrive 37 i stedet for WEAPON_PISTOL, det ville ha samme effekt. Men bruk av konstanten gjør koden mer forståelig, og slipper å huske identifikatorene til hvert våpen/brikke.
moveToward lar deg flytte purren mot en annen. Funksjonen trenger ID-en til en målpurre for dette. Det er her du trekker ut din "fiende"-variabel. Husk at den nå inneholder ID-en til din nærmeste motstander. Hvis du sender denne variabelen til moveToward vil du lede deg til den ekle purren.
Med useWeapon vil purren din prøve å skyte en purre. På samme måte forteller du funksjonen at du vil skyte fienden din.
Noen funksjoner returnerer ikke en verdi, og de forventer heller ikke en. Men de er ikke ubrukelige!
For eksempel pause-funksjonen. Den lar deg pause kampen når du ser den. (Det har ingen innvirkning på kampen, det er det samme som å manuelt trykke på "Pause"-knappen eller
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.