Erstellen Sie Ihre Funktionen

Erstellen Sie Ihre Funktionen

> Tutorial

Eine Funktion erstellen

Wir haben bereits mehrere Standardfunktionen verwendet (setWeapon, moveToward, usw.). Es ist auch möglich, eigene Funktionen zu erstellen, mit folgender Syntax:

Das optionale Schlüsselwort return dient dazu, einen Wert von der Funktion zurückgeben zu lassen. Im vorherigen Beispiel nimmt die Funktion die Parameter x und y und gibt deren Summe zurück: x + y.

Erstellung einer Funktion canFinish(enemy)

Unser vorheriger Code für die "Finish"-Bedingung des Gegners ist ziemlich groß und kaum wiederverwendbar, deshalb werden wir ihn in eine Funktion packen.

Wir werden eine eigene Funktion canFinish(enemy) erstellen, die einen Gegner nimmt und einen Booleschen Wert zurückgibt, der angibt, ob wir ihn erledigen können oder nicht.

Wir kopieren den Code des Finishers in eine Funktion, die folgendermaßen geschrieben wird:

Hinweis: Denken Sie daran, anzugeben, von welcher Waffe die Rede ist, damit die Berechnung funktioniert. Außerdem gibt die Funktion wahr zurück, wenn Sie genug Aktionspunkte haben, um genug Schüsse auf den Gegner abzugeben, damit er stirbt, und false, wenn er im Gegenteil überleben wird (Sie können also vielleicht etwas anderes tun).

Jetzt können wir unsere Funktion canFinish in unserem Hauptcode verwenden, um ihn viel einfacher zu schreiben:

Wussten Sie schon? Mehrmals denselben Code in eine Funktion zu verschieben nennt man Faktorisierung.

Erstellung einer Funktion getClosestCellToUseWeapon(enemy)

Sie haben vielleicht gesehen, dass Sie, um die Waffe Machine Gun oder später den Laser zu verwenden, in einer Linie mit dem Gegner sein müssen.

Sie müssen also auf eine Zelle gehen, von der aus Sie Ihre Waffe verwenden können, anstatt einfach in Richtung des Gegners zu gehen wie mit dem Pistole.

Dafür gibt es die Standardfunktion getCellsToUseWeapon, die alle möglichen Zellen zurückgibt, um eine Waffe auf ein Ziel zu verwenden. Es wird also nötig sein, eine auszuwählen: die nächstgelegene!

Wir werden also eine Funktion getClosestCellToUseWeapon erstellen und eine for in-Schleife verwenden, um die Zelle zu berechnen, deren Entfernung zu uns am kürzesten ist:

Wir verwenden sie, um die Bewegung moveToward zu ersetzen:

Wenn Sie sich wohlfühlen, können Sie folgende Funktionen programmieren:

Sie können auch:

Um das Gelände und die Zellen besser zu sehen, zögern Sie nicht, den taktischen Modus zu verwenden, indem Sie T im Kampf drücken.

In den folgenden Kapiteln werden wir schwierigere Aspekte behandeln, nehmen Sie sich also die Zeit, mit Ihren Funktionen und den zuvor gesehenen Konzepten zu spielen, die bereits ausreichen, um in der Rangliste aufzusteigen!

❓ Quiz

Welche Funktion, die das Quadrat einer Zahl zurückgibt, ist korrekt?

function quadrat(x) { return x * x } function quadrat(x) { x * x } function quadrat() { return x * x } fonction quadrat(x) { return x * x }

Welche Funktion berechnet das Maximum einer Liste?

function maximum(liste) { var max = -99999 for (var e in liste) { if (e > max) { max = e } } return max } function maximum(liste) { var max = 99999 for (var e in liste) { if (e < max) { max = e } } return max } function maximum(liste) { var max = 99999 for (var e in liste) { if (e > max) { max = e } } return max } function maximum(liste) { var max = -99999 for (var e in liste) { if (e < max) { max = e } } return max }

Vollständige KI