Native Funktionen

Native Funktionen

> LeekScript-Tutorial

Wir werden jetzt über die Funktionen des LeekScript sprechen!

Funktionen sind ein wesentlicher Aspekt der Programmierung. Sie ermöglichen es Ihnen, sich eine Reihe von Aktionen zu merken, die Sie jederzeit wiederverwenden können.

Auf Leek Wars können wir zwei Arten von Funktionen unterscheiden:

Wir werden vorerst nur über native Funktionen sprechen.

Was ist das ?

Die nativen Funktionen sind die Funktionen, die Ihnen das LeekScript zur Verfügung stellt, sie sind diejenigen, die es Ihnen ermöglichen, viele Informationen über den Kampf zu erhalten. Es ist ihnen auch zu verdanken, dass Sie die Aktionen Ihres Lauchs kontrollieren können.

Funktionen erkennt man schnell an ihrer Syntax:

Funktionsname (Parameter);

Sie haben sie bereits in der Basis-KI im Kapitel über den Editor gesehen. Als eine Erinnerung :

// Vier sehr nützliche Funktionen var feind = getNearestEnemy(); setWeapon (WEAPON_PISTOL); moveToward(Feind); useWaffe (Feind);

getNearestEnemy, setWeapon, moveToward und useWeapon sind vier Funktionen, die Ihnen das LeekScript zur Verfügung stellt.

Ein minimales Verständnis kann helfen, die Nützlichkeit einer Funktion zu verstehen, ohne die Dokumentation konsultieren zu müssen. Funktionsnamen sind normalerweise selbsterklärend und zeigen, wofür sie verwendet werden.

Die Rückkehr

Was ist die "Rückgabe" einer Funktion? Es ist nicht systematisch, aber eine Funktion kann Informationen zurückgeben.

Dies ist in diesem Beispiel der Fall:

var feind = getNearestEnemy();

Wenn Sie das vorherige Kapitel beachtet haben, verstehen Sie, dass eine "feindliche" Variable erstellt wird. Und gleichzeitig wird ihm ein Wert mit dem Gleichheitszeichen '=' zugewiesen.

Aber was genau ist ihm zugeteilt? Hier kommt die Funktion getNearestEnemy ins Spiel. Diese Funktion gibt die ID des nächsten Feindes zurück.

Wenn Ihr Lauch diesen Code ausführt, ruft er also die Funktion getNearestEnemy auf. Dies gibt den Identifikator des nächsten Lauchs zurück, der dann in der Variablen "Feind" gespeichert wird;

Wenn Sie neugierig sind, können Sie einen debug hinzufügen:

var feind = getNearestEnemy(); debuggen (Feind);

Wenn Sie diesen Code in einem 1v1-Testkampf ausführen, sollten Sie die Nummer 1 oder 0 sehen. Lauch-IDs im Kampf sind nichts anderes als Zahlen. Für einen Kampf von 4 Lauchstangen wären diese von 0 bis 3 nummeriert.

Wie Sie sehen können, ist debug eine native Funktion von LeekScript. Sie fragen sich vielleicht, warum wir die Variable "Feind" in Klammern gesetzt haben? Wir kommen dorthin.

Einstellungen

So nennen Sie das, was in den Klammern steht: Parameter. Diese kleinen Biester sind sehr nützlich. Die Aktion, die eine Funktion ausführt, hängt von ihren Parametern ab.

Um zur Debug-Funktion zurückzukehren, zeigt sie eine Nachricht in den Kampfprotokollen an. Und diese Nachricht geben Sie dank eines Parameters an.

Wenn Sie debug im Parameter den Wert 5 geben, lautet die Meldung "5". Wenn Sie debug den Text "Ich mag Lauchsuppe" geben, lautet die Nachricht "Ich mag Lauchsuppe".

Das passiert mit diesen Funktionen:

var feind = getNearestEnemy(); setWeapon (WEAPON_PISTOL); moveToward(Feind); useWaffe (Feind);

setWeapon lässt deinen Lauch eine Waffe ausrüsten. Um ihm anzuzeigen, welche Waffe er ausrüsten muss, müssen Sie die Kennung der Waffe als Parameter übergeben. Hier ist es "WEAPON_PISTOL", es ist eine Konstante, die die Waffe Pistole bezeichnet. Diese Konstante entspricht der Nummer 37, der Kennung der Waffe. Sie könnten 37 anstelle von WEAPON_PISTOL schreiben, es hätte den gleichen Effekt. Die Verwendung der Konstante macht den Code jedoch verständlicher und vermeidet, sich die Kennungen jeder Waffe/jedes Chips merken zu müssen.

moveToward ermöglicht es Ihnen, Ihren Lauch zu einem anderen zu bewegen. Dazu benötigt die Funktion die ID eines Ziel-Lauchs. Hier ziehen Sie Ihre "feindliche" Variable heraus. Denken Sie daran, dass es jetzt die ID Ihres engsten Gegners enthält. Wenn Sie diese Variable an moveToward übergeben, werden Sie zu diesem fiesen Lauch geleitet.

Mit useWeapon wird dein Lauch versuchen, einen Lauch zu schießen. Auf die gleiche Weise teilen Sie der Funktion mit, dass Sie Ihren Feind erschießen möchten.

Keine Rückgabe oder Parameter

Einige Funktionen geben keinen Wert zurück und erwarten auch keinen. Aber sie sind nicht nutzlos!

Zum Beispiel die Funktion pause. Es erlaubt Ihnen, den Kampf zu pausieren, wenn Sie ihn sehen. (Es hat keinen Einfluss auf den Kampf, es ist dasselbe wie das manuelle Drücken der „Pause“-Taste oder der