List of lists – Lista di liste

Quiz a scelta singola

Gli elementi di una Lista possono essere numeri, testo, colori o valori booleani (vero / falso).

Nell’articolo “La grande bellezza (del codice)” c’erano i blocchi per far colorare lo sfondo di un pulsante periodicamente con tre colori. (L’hai provato?)

Ma gli elementi di un elenco possono anche essere più complessi.

Ad esempio, un elenco di dati potrebbe essere utilizzato per convertire il Quiz del presidente (il file .aia lo puoi scaricare a fine pagina) a scelta singola, in un quiz a scelta multipla. Esaminiamo la struttura di base del quiz a scelta singola, che è un elenco di domande e un elenco di risposte:

Un elenco di domande e un elenco di risposte

Ogni volta che l’utente risponde a una domanda, l’app verifica se è corretta confrontando la risposta con l’elemento corrente in AnswerList.

Questa tipologia di relazione tra database Domande e db Risposte, si chiama UNO A UNO: Una domanda, una precisa risposta.

Quiz a scelta multipla

Per rendere il quiz di tipo a scelta multipla, è necessario mantenere un elenco di scelte per ciascuna risposta a ciascuna domanda. La lista a scelta multipla è rappresentata come una lista di variabili di Dati, definita inserendo tre blocchi make a list all’interno di un blocco make a list esterno.

Quest’altra tipologia di relazione tra database Domande e db Risposte, si chiama UNO A MOLTI: Una domanda, diverse risposte.

Una lista di dati si forma inserendo blocchi di lista come elementi all’interno di un blocco di lista esterno

Ogni elemento nella variabile SceltaRisposte è esso stesso un elenco contenente tre elementi. Se selezioni un elemento da SceltaRisposte, il risultato è un elenco. Il primo indice è: (Clinton Roosevelt Wilson). Se lo vuoi pensare come un Foglio di calcolo, ecco la rappresentazione:

Ora che hai popolato le tue risposte di scelta multipla come Dati, come lo mostreresti all’utente?

Puoi utilizzare un ListPicker per presentare le scelte all’utente. Se l’indice fosse denominato indice, l’evento ListPicker.PrimaDiScegliere sarebbe visualizzato:

 

Utilizzo del Selettore elenco per presentare l’elenco di scelte all’utente

Questi blocchi prenderebbero l’attuale sottoelenco di SceltaRisposte e consentirebbero all’utente di scegliere da esso. Quindi, se indice fosse 1, ListPicker mostrerebbe la prima sottolista, un elenco tipo questo:

Le scelte di risposta presentate all’utente per la seconda domanda

Quando l’utente sceglie, si controlla la risposta con i blocchi:

Verifica se l’utente ha scelto la risposta corretta

In questi blocchi, la selezione dell’utente da ListPicker viene confrontata con la risposta corretta, che è memorizzata in un elenco diverso, ListaRisposte.

Scarica i file .aia del Tutorials03_PresidentsQuiz e del Tutorials03_PresidentsQuizSCELTEMULTIPLE_ListOfLists.

Prova a dare un’occhiata anche alla ricerca in coppia in una lista: lookup in pairs – Ricerca in coppia