> Tutorial
Vi har allerede brugt flere funktioner og metoder (setWeapon, moveToward osv.). Du kan også oprette dine egne funktioner med følgende syntaks:
functionsum( x, y ){ return x + y }Det valgfrie nøgleord return får funktionen til at returnere en værdi. I det forrige eksempel tager funktionen parametrene x og y og returnerer deres sum: x + y.
canFinish(enemy)Vores tidligere kode til "dræberslag"-betingelsen på fjenden er temmelig lang og svær at genbruge, så vi lægger den i en funktion.
Vi opretter vores egen funktion, canFinish(enemy), som tager en fjende og returnerer en boolean, der fortæller, om vi kan gøre det af med den eller ej.
Vi kopierer dræberslag-koden ind i en funktion, som skrives sådan her:
Nu kan vi bruge vores funktion canFinish i vores hovedkode, som bliver meget enklere:
Vidste du det? At samle kode, der gentages flere steder, i en enkelt funktion kaldes faktorisering.
getClosestCellToUseWeapon(enemy)Du har måske bemærket, at for at bruge Maskinpistol eller senere Laser skal du stå på linje med fjenden.
Du skal altså flytte dig til en celle, hvorfra du kan bruge dit våben, i stedet for bare at gå hen mod fjenden som med Pistol.
Til det returnerer metoden me.weaponCells(enemy) alle de celler, hvorfra du kan bruge dit våben på et mål. Vi skal vælge én af dem: den nærmeste!
Vi opretter derfor en funktion getClosestCellToUseWeapon og bruger en for of-løkke til at finde den celle, der ligger tættest på os:
Vi bruger den i stedet for den gamle bevægelse:
For at få et bedre overblik over terrænet og dets celler kan du bruge den taktiske visning ved at trykke på T under en kamp.
I de næste kapitler tager vi fat på sværere emner, så tag dig tid til at lege med dine funktioner og de begreber, vi har gennemgået indtil nu: de er allerede nok til at klatre op ad ranglisten!
Hvilken af disse funktioner returnerer korrekt kvadratet af et tal?
function square(x) { return x * x } function square(x) { x * x } function square() { return x * x } fonction square(x) { return x * x }
Hvilken funktion beregner maksimum af en liste?
function maximum(list) { let maxi = -99999 for (const e of list) { if (e > maxi) { maxi = e } } return maxi } function maximum(list) { let maxi = 99999 for (const e of list) { if (e < maxi) { maxi = e } } return maxi } function maximum(list) { let maxi = 99999 for (const e of list) { if (e > maxi) { maxi = e } } return maxi } function maximum(list) { let maxi = -99999 for (const e of list) { if (e < maxi) { maxi = e } } return maxi }
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.