Le liste

Le liste

> Tutorial

Una lista permette di memorizzare più valori in un ordine preciso.

Creazione e utilizzo di una lista

Si può creare una lista con la seguente sintassi:

La prima posizione in una lista è la posizione 0. Si accede a un elemento preciso della lista con:

Numerose funzioni sono disponibili per manipolare le liste, nella sezione "Liste" della Documentazione. Le più importanti sono:

Iterazione su una lista con il ciclo for in

Si può iterare su ciascuno dei valori di una lista usando un semplice ciclo for, in questo modo:

Ma esiste una variante del ciclo for che permette di iterare su ciascuno dei valori di una lista più semplicemente, il ciclo for in. Il codice seguente è equivalente al precedente ma più conciso:

Valutazione del danno di un'arma e condizione "finisher"

La nostra IA attuale ha un problema che forse hai notato: quando il nemico è quasi morto, il nostro porro userà i suoi boost, cure, scudi prima di usare la sua arma, mentre avrebbe potuto finire il nemico!

Per migliorare questa situazione di fine combattimento, stimeremo i danni che possiamo infliggere al nemico per sapere se possiamo finirlo.

Iniziamo utilizzando la funzione getWeaponEffects che fornisce la lista degli effetti di un'arma:

Un effetto è esso stesso una lista contenente i 6 seguenti elementi: [type, min, max, turns, targets, modifiers]. Calcoliamo i danni finali per questo effetto:

Aggiungiamo i danni al totale:

Terminiamo con una condizione: se il totale dei danni è superiore alla vita del nemico, lo uccideremo: attacchiamo! Altrimenti, aspettiamo con i chip:

> Suggerimento: si può accedere a un intervallo di una lista usando la sintassi lista[2:8].

> Suggerimento: si possono annidare le liste: lista in una lista [ [1, 2, 3] ] e accesso a una lista in una lista: lista[0][0]

❓ Quiz

A cosa può servire una lista?

Memorizzare più valori Ordinare dei valori Eseguire delle istruzioni in parallelo Realizzare più calcoli

Quali codici sono validi?

var a = [1, 2, 3] a[0] + a[2] var [a] = [1, 2] var [1, 2, 3] count([1, 2, 3]) [ [1, 2], [3, 4], [5, 6] ] lista[5][10]

IA completa