> LeekScript-Tutorial
Bei einem Programm ist es am wichtigsten, seinen Code gut zu strukturieren. Dafür haben Sie den Umgang mit Kommentaren gelernt und das ist alles... Aber wir werden das schnell ändern mit Funktionen, einem der wichtigsten Begriffe in der Programmierung, und Sie werden schnell verstehen. Sie sind Ihnen bereits im Kapitel über Native Functions begegnet und haben sie sogar verwendet.
Eine Funktion ist eine Folge von Anweisungen, nichts weiter. Also keine Codeduplizierung mehr, rufen Sie einfach die Funktion auf, die diese Anweisungen ausführt. Um die Funktionen vielseitiger zu gestalten, können Sie ihnen Parameter wie den Lauch geben, den Sie treffen möchten, die Anzahl der verbleibenden MPs für diesen Zug usw. Darüber hinaus kann die Funktion einen Wert wie ein Array mit allen Boxen zurückgeben, auf die unser Lauch zugreifen kann. Hier ist der Prototyp, also die Signatur, einer Funktion:
NomDeLaFunction ( parameter1, parameter2, ..., parameterN ): Rückgabe
Der Prototyp ist die Beschreibung der Funktion: ihr Name, ihre Rückgabe, falls vorhanden, und ihre Parameter, die ebenfalls optional sind. Die Definition einer Funktion ist der Satz von Anweisungen, die darin vorhanden sind. Alle Prototypen der nativen Funktionen sind in [der Dokumentation] (https://leekwars.com/help/documentation) zugänglich. Wenn wir links in der Liste der nach Themen sortierten Funktionen "UseWeapon" in der Kategorie "Waffen" auswählen, finden wir Folgendes: !UseWeapon-Mod
Beim Aufruf einer Funktion hält das 'Haupt'-Programm an, um das in der Funktion gespeicherte Programm auszuführen. Am Ende dieser Funktion wird das Hauptprogramm dort fortgesetzt, wo es aufgehört hat.
Wir sprechen auch über die Deklaration von Funktionen. Tatsächlich bietet der LS native Funktionen, die sofort einsatzbereit sind, wie "getNearestEnemy / useWeapon / ...". Aber es ist möglich, selbst eine zu erstellen. Hier ist die zu übernehmende Syntax:
Funktion Funktionsname ( parameter1, parameter2, ..., parameterN ) { /* Die Anleitungen */ }
Es ist nicht möglich, alles in einer Funktion zu machen: Die Deklaration einer neuen Funktion sowie die Deklaration einer globalen Variablen sind verboten!
Genauer gesagt werden wir eine sehr einfache Funktion erstellen, deren Zweck darin besteht, näher an die Mitte der Karte heranzukommen und einen Schild-Chip und einen Heil-Chip zu starten. Hier ist sein Prototyp: (Beachten Sie, dass der Prototyp nicht in den Code eingefügt werden darf, außer in einem Kommentar zur Erläuterung Ihrer Funktion)
ArmorAndCare()
Nichts könnte einfacher sein, unsere Funktion nimmt keine Parameter entgegen und gibt nichts zurück!
Hier fehlt noch eine Definition:
Funktion ArmorAndCare(){ moveTowardCell (306); useChip(CHIP_ARMOR, getEntity()); useChip(CHIP_CURE, getEntity()); }
Um die Funktion aufzurufen, ist es wie bei den anderen:
ArmorAndCare(); // Gehen Sie näher an die Mitte der Karte heran und starten Sie dann ARMOR und CURE
Wichtiger Hinweis, eine Funktion kann nicht auf externe Variablen zugreifen, außer auf globale. Sie müssen sich vorstellen, dass die Funktion, wenn Sie sie aufrufen, in ihrer eigenen Welt "lebt" und dass sie nur Zugriff auf globale Variablen und andere Funktionen hat.
Um das System von Parametern und Funktionsrückgaben zu veranschaulichen, nehmen wir dieses Beispiel:
// Prototyp: getCellDistanceTo(leek): (Zahl) Abstand zwischen meinem Lauch und dem im Parameter Funktion getCellDistanceTo(Lauch){ return getCellDistance(getCell(), getCell(leek)); }
Gemäß dem Prototyp nimmt die Funktion einen Lauch als Parameter (seine ID) und gibt den Abstand zwischen ihm und seinem eigenen Lauch zurück. Die Liste der Parameter ist (fast) unendlich, trennen Sie einfach jeden Parameter mit einem Komma. Die Rückkehr der Funktion erfolgt mit dem Schlüsselwort 'return'. In diesem Beispiel gibt die Funktion „getCellDistance“ eine Zahl zurück, die wir direkt zurückgeben. Wenn die Funktion auf ein 'return' trifft, stoppt sie und setzt am Punkt des Funktionsaufrufs fort. Für Interessierte wird das Prinzip, die Anzahl der Parameter einer Funktion zu reduzieren, als „aktuell“ bezeichnet
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.