> LeekScript samouczek
Kodujesz swoją sztuczną inteligencję jak błogosławiony. Linie przewijają się, a nazwy bardzo logicznych zmiennych i funkcji, takich jak sfatyu_2 następują jedna po drugiej, życie jest dobre... Nagle ! Klawisz „zapisz” jest wciśnięty, a twój kod jest sprawdzany przez kompilator. Podtrzymuje twoje spojrzenie, intensywnie... I tu jest dramat! Jedna (lub więcej!) duża czerwona linia pojawia się na dole edytora. Co mogą oznaczać te dziwne i ezoteryczne magiczne formuły?
Ten przewodnik ujawni wam prawdę, abyście i wy mogli stać się znawcami.
Koniec instrukcji? Tak, to „;” na końcu każdej linii. Ten komunikat wskazuje linię, w której brakuje jednej z tych cyfr. Bądź jednak ostrożny! wskazana linia jest ogólnie linią poprzedzającą lub następującą po inkryminowanej.
Tutaj brakuje „;” na końcu linii 18, a komunikat mówi nam, że linia przed useWeapon nie ma średnika!
Poprawka: moveToward(enemy);
Bardziej podstępny! To ten sam błąd, co poprzedni, ale tym razem jest to ostatnia linia twojej sztucznej inteligencji, która nie ma średnika. !nieokreślony EoF
Poprawka: useWeapon(enemy);
Może to być również spowodowane niezamkniętym String: !EoF 2
Poprawka: say("Wygrałem!");
Kto zapomniał zadeklarować swoją zmienną? Krótki powrót do samouczka dotyczącego Zmiennych i samouczka dotyczącego Funkcji może okazać się przydatny.
Tutaj zmienna enemy nie jest zadeklarowana. Najpierw musisz go utworzyć za pomocą słowa kluczowego var. Poprawka: var wróg = getNearestEnemy();
A w takim razie dla tego? !ex nieznana funkcja
Cóż, autor jest po prostu małpą z klawiaturą i nie zauważył, że użył getNeerest (które nie istnieje) zamiast getNearest, zadeklarowanego tuż powyżej.
Nie można ponownie zadeklarować zmiennej o tej samej nazwie co zmienna już zadeklarowana.

Korekta (brzydka): var moi2 = 1 Lepszym rozwiązaniem byłoby użycie nazw, które naprawdę pasują do roli twoich zmiennych.
Ostrzeżenie: ten błąd może również wystąpić z powodu nazwy zmiennej globalnej.
Ten błąd spadnie również na ciebie, jeśli użyjesz przecinka zamiast czcigodnego średnika: 
Poprawka: var wróg = getNearestEnemy();
Wynika to z deklaracji zmiennej wbudowanej: var zmienna1 = 1, zmienna2 = 2; jest całkowicie poprawną składnią (patrz Zmienne).
Podobnie jak w przypadku poprzedniego błędu, nie można ponownie użyć nazwy funkcji, która była już używana.

Poprawka (bardzo brzydka): funkcja getNearest2() {
Więc próbujemy użyć nazwy zmiennej globalnej jako nazwy parametru, tak? Czy wiesz, ile może cię to kosztować, jeśli pokłócisz się z jednym z moich mniej przyjaznych kolegów?

Korekta :
Jak wskazuje komunikat o błędzie, we wskazanym wierszu brakuje nawiasu. !Źle, jeśli
Tutaj wiersz 19 kodu powinien brzmieć if (not isAlive(enemy)) {
Wywołanie funkcji nie zostało zamknięte? Oto, co otrzymasz! !oczekiwana wartość
Napraw moveToward(enemy);
Parametry? kezako? Szybka recenzja samouczka Funkcje jest w porządku!
Tutaj funkcja moveToward przyjmuje od 1 do 2 parametrów, a my dajemy jej 0. Oczywiście kompilator uderza nas w palce. Napraw moveToward(enemy); lub moveToward(enemy, mp); z mp liczbą.
Zauważ, że otrzymasz ten sam błąd, jeśli podasz funkcji zbyt wiele parametrów (Eg: moveToward(enemy, mp, thing);).
Co to jest blok? To fragment kodu otoczony przez { }. Tutaj otworzyliśmy blok za pomocą { bez jego zamykania. !bloki nie zamknięte
Tutaj brakuje } po końcu if. Dlatego kompilator wskazuje koniec bieżącego bloku (tutaj koniec pliku), aby wskazać, że zapomnieliśmy zamknąć wszystkie bloki. Korekta :
Ta sytuacja jest odwrotnością poprzedniej. Zamknęliśmy blok av
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.