> Tutorial
We hebben al verschillende functies en methodes gebruikt (setWeapon, moveToward enz.). Je kunt ook je eigen functies maken, met de volgende syntaxis:
functionsum( x, y ){ return x + y }Het optionele sleutelwoord return laat de functie een waarde teruggeven. In het vorige voorbeeld krijgt de functie de parameters x en y en geeft ze hun som terug: x + y.
canFinish(enemy) makenOnze vorige code voor de "genadeklap"-voorwaarde op de vijand is vrij lang en moeilijk te hergebruiken, dus we zetten hem in een functie.
We maken onze eigen functie canFinish(enemy), die een vijand krijgt en een boolean teruggeeft die aangeeft of we hem kunnen afmaken of niet.
We kopiëren de code voor de genadeklap in een functie, die er zo uitziet:
Nu kunnen we onze functie canFinish in onze hoofdcode gebruiken, en dat maakt die veel eenvoudiger:
Wist je dat? Code die op meerdere plekken herhaald wordt naar één functie verplaatsen, heet factoriseren.
getClosestCellToUseWeapon(enemy) makenMisschien heb je gemerkt dat je voor het Machinegeweer of later de Laser op één lijn met de vijand moet staan.
Je moet dus naar een cel gaan van waaruit je je wapen kunt gebruiken, in plaats van gewoon naar de vijand te bewegen zoals met het Pistool.
Daarvoor geeft de methode me.weaponCells(enemy) alle cellen terug van waaruit je je wapen op een doelwit kunt gebruiken. We moeten er dan één kiezen: de dichtstbijzijnde!
We maken dus een functie getClosestCellToUseWeapon en gebruiken een for of-lus om de cel te vinden die het dichtst bij ons ligt:
We gebruiken die functie om de verplaatsing te vervangen:
Om het terrein en de cellen beter te zien, kun je tijdens een gevecht de tactische modus gebruiken door op T te drukken.
In de volgende hoofdstukken pakken we moeilijkere onderwerpen aan, dus neem de tijd om te spelen met je functies en de begrippen die we tot nu toe hebben gezien: daarmee kun je al flink stijgen in de ranglijst!
Welke van deze functies geeft correct het kwadraat van een getal terug?
function square(x) { return x * x } function square(x) { x * x } function square() { return x * x } fonction square(x) { return x * x }
Welke functie berekent het maximum van een lijst?
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.