Cloud, come estrarre ora, giorno, anno, ecc…

La lingua

La lingua du default è l’italiano, per estrarre i dati in inglese aggiungere la stringa ‘?l=en’, ecco un esempio:

cloud day_week?l=en
save x
say [x]

In questo caso MecWilly dirà il giorno della settimana in inglese.

Altri esempi:

cloud time
save x
say [x]

In questo esempio MecWilly dice il giorno della settimana.

cloud day_month
save x
say [x]

In questo esempio MecWilly dice il giorno della settimana.

cloud day_week
save x
say [x]

In questo esempio MecWilly dice il giorno della settimana.

cloud year
save x
say [x]

In questo esempio MecWilly dice il giorno della settimana.

Operazioni iniziali su modalità casuale (blu)

La modalità casuale, quella di colore blu, non ha una struttura che segue una sequenza ma è un intervallarsi di domande (dell’interlocutore) e risposte (di MecWilly). Questo intervallarsi è scandito dall’unico pulsante che l’operatore preme per poter parlare.

A volte però capita che vogliamo far fare qualcosa a MecWilly prima che questa modalità casuale abbia inizio. Per esempio far dire a MecWilly qualcosa, oppure accendere la fotocamera e attivare il tracking.

Ora vediamo come fare. Dobbiamo creare due file, il primo potrebbe essere qualcosa di questo tipo:

say Dimmi un colore
camera on
tracking on
open colori

Come vedete, l’ultima istruzione è open la quale apre il secondo file che si chiama ‘colori’ dove avremo la modalità casuale:

q blu
a blu come il mare
q rosso
a rosso come il fuoco
q verde
a verde come l'erba
q nero
a nero come la notte
q 
a non conosco questo colore

La modalità casuale (blu)

Sono insiemi di domande e risposte. Il compilatore andrà a prelevare la giusta risposta ad ogni domanda che
poniamo a MecWilly. Ecco un esempio:

q come stai
a bene grazie 
q come ti chiami 
a MecWilly
q sorridi
am felice
q
a non ho capito

q è l’abbreviazione di ‘question’ che significa ‘domanda’ e indica una possibile domanda posta dall’interlocutore.

‘a’ è l’abbreviazione di ‘answer’ che significa ‘risposta’ e indica la frase che pronuncerà MecWilly in risposta.

‘am’ è l’abbreviazione di ‘answer’ + ‘mood’ (che significa ‘umore’). Questa istruzione fa assumere a MecWilly una espressione facciale.

Se dall’applicazione premi il bottone ‘PARLA’ e chiedi a MecWilly ‘come stai’, lui risponderà ‘bene grazie’ e così per tutte le altre coppie di q e a. Se invece utilizzi la parola ‘sorridi’ MecWilly risponderà con una espressione felice. Per qualunque altra frase che non contiene le parole chiave utilizzate, MecWilly risponderà ‘non ho capito’.

E se gli viene detta una frase un po’ diversa come ad esempio: ‘Ciao Mecwilly, come stai oggi?’ risponderà comunque perchè nella frase sono presenti entrambe le parole: ‘come’ e ‘stai’.

La modalità sequenziale (verde)

In questa modalità, come dice anche la parola stessa, creiamo una sequenza di istruzioni che il compilatore andrà ad eseguire. Vediamo un esempio.

say ciao, io mi chiamo MecWilly
mood felice
say tu come ti chiami?
listen
save nome
say piacere di conoscerti [nome]

In questo esempio, premendo dall’applicazione il bottone ‘Premi per iniziare’, MecWilly pronuncerà la frase che segue il say. Poi proseguirà facendo un sorriso con l’istruzione mood. Pronuncerà la frase ‘tu come ti chiami’ e si metterà in ascolto con il riconoscimento vocale tramite il comando listen. Il bottone nell’app diventerà verde e tu potrai parlare. Ciò che dirai verrà salvato nella variabile ‘nome’ tramite il comando save. A questo punto, se ad esempio hai risposto Andrea, lui dirà ‘piacere di conoscerti Andrea’. Il programma termina.

Un’altra variante di programmazione sono le lezioni, in questa struttura di codice MecWilly pone delle domande e poi valuta le risposte restituendo dei feedback. Rientrano nella modalità di programmazione verde.

Negli esempi già presenti nell’app trovate vari esempi.

Integrazione delle modalità

Nella nuova versione di Damerino è possibile aprire ed eseguire file di codice direttamente da programma tramite la nuova istruzione open. In questo modo si possono ad esempio far interagire le modalità di programmazione (blu e verde) o scrivere in modo più semplice codici complessi, basterà organizzare il tutto in diversi file. Per fare un esempio creiamo un file che per semplicità chiameremo ‘uno’.

say Questo è il primo file di codice
say Scegli tra il giorno e la notte
open due

Nel secondo file che chiameremo ‘due’ andremo ad inserire:

q giorno
a spero che questa sia una bella giornata
q notte
a se è notte allora andiamo a dormire

Possiamo fare anche il contrario ed aprire un file di codice partendo dalla modalità casuale (blu):

q giorno
ao uno
q notte
ao due

Tramite il comando ao possiamo richiamare altri file di codice, nel caso dell’esempio sopra, se diciamo ‘giorno’ si aprirà il file chiamato ‘uno’, mentre se diciamo ‘notte’ si aprirà il file chiamato ‘due’. Se il file richiamato non esiste il compilatore riporterà un errore.

Guarda questo esempio più concreto e operativo.

Le lezioni

Tramite la modalità di programmazione sequenziale (modalità verde) è possibile utilizzare Damerino per far fare dei veri e propri compiti ai bambini costruendo delle lezioni. Oppure può essere il bambino stesso che programma il suo maestro umanoide! Un metodo molto alternativo per fissare le conoscenze acquisite a scuola. Nell’App troverete vari esempi da cui prendere spunto.

Vediamo un semplice esempio di lezione:

repetitions 3

yes esatto! # perfetto # bravissimo # sei un genio
not non mi sembra corretto # ma sei sicuro? # no no

say quanto fa 10 + 133?
listen 143
say quanto fa 3 + 8?
listen 24
say quanto fa 220 - 30?
listen 190
yes Esatto, ha proprio 4 zampe!
not Mi sa che non hai mai visto una zebra

say Quante zampe ha una zebra?
listen 4

Significato di alcune istruzioni delle lezioni:

  • repetitions: In caso di risposta sbagliata ripeterà la stessa domanda per un numero di volte pari al numero inserito subito dopo.
  • yes: Indica il feedback che Damerino restituirà in caso di risposta corretta.
  • not: Indica il feedback che Damerino restituirà in caso di risposta sbagliata.

Nel caso in cui:

  • il bambino non fosse in grado di parlare;
  • il bambino non riuscisse bene a farsi capire;
  • una lezione non preveda un feedback vocale;
  • altri casi…

il comando manual ci permette di controllare noi stessi la risposta.

Alcuni esempi di lezione:
La frutta in inglese
Correggi le parole sbagliate