> Tutorial
We hebben al verschillende standaardfuncties gebruikt (setWeapon, moveToward, enz.). Het is ook mogelijk om uw eigen functies te maken, met de volgende syntaxis:
functionsom( x, y ){ x + y }Het sleutelwoord return, optioneel, dient om een waarde door de functie te laten retourneren. In het vorige voorbeeld neemt de functie de parameters x en y en retourneert hun som: x + y.
canFinish(enemy)Onze vorige code voor de "finish"-voorwaarde van de vijand is vrij groot en weinig herbruikbaar, we gaan hem in een functie plaatsen.
We gaan een eigen functie canFinish(enemy) maken, die een vijand neemt en een booleaanse waarde retourneert die aangeeft of we hem kunnen afmaken of niet.
We kopiëren de code van de finisher in een functie die op de volgende manier is geschreven:
nota: denk eraan om aan te geven over welk wapen we praten zodat de berekening werkt. Ook retourneert de functie waar als u genoeg beurtpunten heeft om genoeg schoten op de vijand af te vuren zodat hij overlijdt, en false als hij daarentegen zal overleven (u kunt dus misschien iets anders doen).
Nu kunnen we onze functie canFinish in onze hoofdcode gebruiken om hem veel eenvoudiger te schrijven:
Wist u dat? Meerdere keren dezelfde code naar een functie verplaatsen heet Factorisatie.
getClosestCellToUseWeapon(enemy)U heeft misschien gezien dat om het wapen Machine Gun of later de Laser te gebruiken, u in een lijn moet zijn met de vijand.
U moet dus naar een cel gaan vanwaar u uw wapen kunt gebruiken, in plaats van eenvoudigweg richting de vijand te gaan zoals met de Pistool.
Hiervoor bestaat de standaardfunctie getCellsToUseWeapon, die alle mogelijke cellen retourneert om een wapen op een doel te gebruiken. We zullen er dus één moeten kiezen: de dichtstbijzijnde!
We gaan dus een functie getClosestCellToUseWeapon maken en een for in-lus gebruiken om de cel te berekenen waarvan de afstand tot ons het kortst is:
We gebruiken hem om de beweging moveToward te vervangen:
Als u zich op uw gemak voelt, kunt u de volgende functies coderen:
estimateDamage(weapon, enemy): berekent de schade die het wapen weapon op enemy zal toebrengen.getBestWeapon(enemy): zoekt onder uw wapens degene die de meeste schade op enemy doet.U kunt ook:
Om het terrein en de cellen beter te zien, aarzel niet om de tactische modus te gebruiken door op T te drukken tijdens het gevecht.
In de volgende hoofdstukken zullen we moeilijkere aspecten bespreken, neem dus de tijd om met uw functies en de eerder geziene concepten te spelen, die al voldoende zijn om in de ranglijst te stijgen!
Welke functie die het kwadraat van een getal retourneert is correct?
function kwadraat(x) { return x * x } function kwadraat(x) { x * x } function kwadraat() { return x * x } fonction kwadraat(x) { return x * x }
Welke functie berekent het maximum van een lijst?
function maximum(lijst) { var max = -99999 for (var e in lijst) { if (e > max) { max = e } } return max } function maximum(lijst) { var max = 99999 for (var e in lijst) { if (e < max) { max = e } } return max } function maximum(lijst) { var max = 99999 for (var e in lijst) { if (e > max) { max = e } } return max } function maximum(lijst) { var max = -99999 for (var e in lijst) { if (e < max) { max = e } } return max }
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.