> Tutorial
Abbiamo già usato diverse funzioni e metodi (setWeapon, moveToward, ecc.). Puoi anche creare le tue funzioni, con la seguente sintassi:
functionsum( x, y ){ return x + y }La parola chiave facoltativa return fa restituire un valore alla funzione. Nell'esempio precedente, la funzione riceve i parametri x e y e restituisce la loro somma: x + y.
canFinish(enemy)Il nostro codice precedente per la condizione di "colpo di grazia" sul nemico è piuttosto lungo e difficile da riutilizzare, quindi lo metteremo in una funzione.
Creeremo la nostra funzione, canFinish(enemy), che riceve un nemico e restituisce un booleano che indica se possiamo finirlo oppure no.
Copiamo il codice del colpo di grazia in una funzione, scritta così:
Ora possiamo usare la nostra funzione canFinish nel codice principale, che diventa molto più semplice:
Lo sapevi? Spostare in un'unica funzione del codice ripetuto in più punti si chiama fattorizzazione.
getClosestCellToUseWeapon(enemy)Avrai notato che per usare la Mitragliatrice o, più avanti, il Laser, devi essere in linea con il nemico.
Dovrai quindi spostarti su una casella da cui puoi usare la tua arma, invece di avvicinarti semplicemente al nemico come con la Pistola.
Per questo, il metodo me.weaponCells(enemy) restituisce tutte le caselle da cui puoi usare la tua arma su un bersaglio. Dovremo sceglierne una: la più vicina!
Creeremo quindi una funzione getClosestCellToUseWeapon e useremo un ciclo for of per trovare la casella più vicina a noi:
La usiamo al posto dello spostamento:
Per vedere meglio il terreno e le sue caselle, non esitare a usare la modalità tattica premendo T durante un combattimento.
Nei prossimi capitoli affronteremo argomenti più difficili, quindi prenditi il tempo di sperimentare con le tue funzioni e con i concetti visti finora: bastano già per scalare la classifica!
Quale di queste funzioni restituisce correttamente il quadrato di un numero?
function square(x) { return x * x } function square(x) { x * x } function square() { return x * x } fonction square(x) { return x * x }
Quale funzione calcola il massimo di una lista?
function maximum(list) { let maxi = -99999 for (const e of list) { if (e > maxi) { maxi = e } } return maxi } function maximum(list) { let maxi = 99999 for (const e of list) { if (e < maxi) { maxi = e } } return maxi } function maximum(list) { let maxi = 99999 for (const e of list) { if (e > maxi) { maxi = e } } return maxi } function maximum(list) { let maxi = -99999 for (const e of list) { if (e < maxi) { maxi = e } } return maxi }
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.