Maak uw functies

Maak uw functies

> Tutorial

Een functie maken

We hebben al verschillende standaardfuncties gebruikt (setWeapon, moveToward, enz.). Het is ook mogelijk om uw eigen functies te maken, met de volgende syntaxis:

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.

Maken van een functie 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.

Maken van een functie 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:

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!

❓ Quiz

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 }

Volledige AI