Damerino receptionist in un hotel

Questo è un esempio di progetto dove vediamo Damerino nelle vesti di addetto alle informazioni presso un hotel. E’ solo una bozza da cui prendere spunto per un proprio progetto.

Creiamo il primo file, che chiameremo “start” (ovviamente potete usare un altro nome)

camera on
tracking on
do

if $face = 1
say Buongiorno, come posso aiutarla?
and
open main

repeat

Il secondo file lo abbiamo chiamato “main”, in esso inseriremo tutte le domande e le risposte del primo livello. Primo livello perchè se per alcune domande vogliamo entrare in una casistica più specifica andremo ad aprire un altro file, abbiamo fatto l’esempio dei ristoranti, vedi sotto.

q come si chiama albergo|hotel#nome albergo|hotel
a L'abergo si chiama...

q musei|museo
a qui vicino potete trovare questi musei...

q sconti|promozion*|offert*
a Promozione estate...

q pensione completa costa|costo
a Il costo della pensione completa è di...

q prezzo|prezzi
a i prezzi sono...

q spiaggia#bagnin*#mare
a siamo convenzionati con il bagnino...

q colazione camera
a la colazione in camera ha un supplemento di...

q quante stelle
a Il nostro hotel ha ... stelle

q camer* doppi*
a Non ho capito, cosa vuoi sapere delle camere doppie.

q camer*
a Non ho capito, cosa vuoi sapere delle camere.

q aria condizionata
a Tutte le camere dell'albergo sono dotate di aria condizionata indipendente.

q riduzion*#parc* divertiment*
a Le riduzioni per parchi di divertimento ed eventi le trova...

q colazione camera
a Per la colazione in camera è previsto un supplemento di...

q orario|ora colazione
a L'orario per la colazione è dalle ... alle ...

q bar hotel
a L'hotel dispone di un bar interno

q quanto costa aggiungere un terzo letto
a L'aggiunta di un terzo letto, ha un supplemento di...

q camere disabili
a L'albergo è attrezzato per i disabili. Disponiamo, inoltre, di una stanza apposita.

q culle bambini
a A richiesta, disponiamo di culle per bambini, con il supplemento di...

q fax
a Il numero di fax dell'hotel è ...

q numero telefono
a Il numero di telefono dell'hotel è ...

q bancomat
a Accettiamo il bancomat...

q diners
a Accettiamo la carta diners...

q visa
a Accettiamo la carta visa...

q american express
a Accettiamo la carta american express...

q postepay#poste pay
a Sì. Accettiamo la carta postepay. In quanto, è del circuito visa.

q mastercard
a Accettiamo la carta mastercard

q carta di credito
a Sì. E' possibile pagare con carta di credito.

q metodi|metodo pagamento
a E' possibile pagare con bancomat, contanti e carte di credito.

q sconti|sconto gruppi
a Siamo spiacenti. Non effettuiamo sconti alle aziende.

q sconti aziende
a Siamo spiacenti. Non effettuiamo sconti alle aziende.

q ristoranti
a Cosa gradirebbe mangiare? Ad esempio carne, pesce, pizza
ao ristortanti

q pizza
a se volete mangiare la pizza...

q teatri vicini
a Potete trovare il teatro...

q attrazioni
a La sera è aperto il luna park... Poco distante è presente il parco tematico...

q negozi vicini
a Accanto all'hotel è presente un piccolo centro commerciale... e vari negozi...

q costo doppia
a Il costo di una doppia per una notte è di ...

q bambini|bambino pagano|ridotto|riduzione|riduzioni
a I bambini sotto i tre anni godono del ... di sconto.

q distante|distanza centro storico
a Il centro storico dista circa...

q distante|distanza metropolitana
a In questa città non è presente una metropolitana.

q distante|distanza stazione
a La stazione ferroviaria dista ... dall'hotel.

q distante fermata autobus
a Difronte all'hotel c'è la fermata della linea...

q terme
a L'hotel dista soltanto ... dalle terme...

q annullare prenotazione
a Per annullare una prenotazione può telefonare al numero 000. oppure inviare una emai al seguente indirizzo. Info. Chiocciola. Hotel. Punto i t.

q stanz*|camer* disponibil*|liber*|disposizione#ci sono camere#avete camere
a certamente...

q prenotare
a Puo telefonare al numero 000. oppure inviare una emai al seguente indirizzo. Info. Chiocciola. Hotel. Punto i t.

q gatt*|cani|cane|animal*
a Nel nostro hotel è possibile portare animali domestici.

q fumare|fumatori|fumo
a Nell'albergo è vietato fumare in tutte le stanze.

q internet|wifi#wi fi
a Le camere dispongono di connessione ad internet

q colazione inclusa
a La prima colazione è sempre inclusa nel prezzo.

q cassaforte#cassa forte
a Tutte le camere dell'hotel dispongono di cassaforte.

q tennis
a Il nostro hotel non è dotato di campi da tennis, ma c'è n'è uno a solo un chilometro di distanza.

q piscina
a Il nostro hotel ha una piscina...

q giardino
a L'hotel dispone di un amplio giardino...

q servizio in camera
a Il servizio in camera si paga come supplemento e costa...

q sconto famiglia
a Offriamo lo sconto del ... alle famiglie con almeno ... bambini.

q dista|distanza|vicino mare|spiaggia
a Il nostro hotel dista soltanto ... metri dal mare!

q biciclett*
a Accanto all'hotel c'è una struttura che affitta biciclette

q prezzo|costo singola
a Il costo di una singola per una notte è di...

q auto#macchina#automobile#parchegg*#posto auto
a Il nostro hotel dispone di posti auto non custoditi.

q email
a L'email dell'hotel è...

q ascensore
a Il nostro hotel dispone di ascensore. Si trova...

q doccia camera
a Tutte le stanze del nostro hotel sono dotate di doccia in camera.

q telefono camera
a Tutte le stanze del nostro hotel sono dotate di telefono in camera.

q televis*|tv
a Tutte le stanze del nostro hotel sono dotate di televisore satellitare in camera. Inoltre, è disponibile per i clienti, un televisore satellitare in sala, al piano terra.

q toilette#bagno#servizi* igienic*
a Il bagno si trova...

q come va|stai
a bene grazie!

q damerino|mecwilly
a dimmi

q come ti chiami#tuo nome#chi sei
a Damerino

q a presto#ciao#buonanotte#saluti#buonasera#buongiorno#salve
a salve

q grazie#ringrazio
a prego
ao end 

q 
a Non ho capito#Non riesco a capire#Mi dispice ma non ho capito

Come potete notare se il cliente menziona i ristoranti, Damerino apre un altro file più specifico chiamato “ristoranti”, ecco il contenuto:

q pizza
a Le consiglio la pizzeria...

q carne
a Se vuole mangiare della buona carne vada...

q pesce
a Per gustare un buon pesce fresco...

q sushi
a ...è un ottimo ristorante di sushi. Lo trova...

q grazie#ringrazio 
a prego
ao end 

q 
a Non ho ben capito cosa desidera mangiare

Una volta che il cliente ringrazia si arriva al file “end” dove abbiamo un augurio di buona giornata, poi un attesa di 3 secondi per dare il tempo al cliente di andare via e poi la riapertura del file iniziale “start”:

say le auguro una buona giornata
sleep 3
open start

Led che lampeggia

In questo semplice esempio facciamo lampeggiare un led collegato all’uscita digitale D1. Il ritmo con cui si accende e si spegne è di un secondo, questo tempo lo abbiamo impostato tramite il comando sleep e possiamo cambiarlo a piacimento, il primo ‘sleep’ regolerà il tempo in cui il led rimane acceso e il secondo ‘sleep’ regolerà il tempo in cui rimane spento.

do
write 1 on
sleep 1
write 1 off
sleep 1
repeat

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 Damerino dirà il giorno della settimana in inglese.

Altri esempi:

cloud time
save x
say [x]

In questo esempio Damerino dice il giorno della settimana.

cloud day_month
save x
say [x]

In questo esempio Damerino dice il giorno della settimana.

cloud day_week
save x
say [x]

In questo esempio Damerino dice il giorno della settimana.

cloud year
save x
say [x]

In questo esempio Damerino dice il giorno della settimana.

Assumi un’espressione facciale

Le espressioni facciali in una struttura a lezione manuale utilizzando il comando manual (vedi anche le lezioni).

yes bravissimo#perfetto
not non capisco bene#non capisco

say Puoi fare la faccia felice?
manual

say Sai fare la faccia triste?
manual 

say Mi fai vedere come si fa la faccia arrabbiata?
manual 

say Puoi farmi vedere la faccia stupita?
manual 

say Ottimo, sei stato molto bravo

Questo è solo un piccolo esempio, potete aggiungere anche altre espressioni, inserire della gestualità o qualunque altra cosa vi venga in mente, il comando manual offre completa libertà.

Ora vediamo come rendere più specifiche le risposte di Damerino in modo da coinvolgere maggiormente il bambino nell’interazione. Sarà sufficiente inserire altri yes e not.

yes che bella faccia sorridente
not non mi sembra una faccia molto felice

say Puoi fare la faccia felice?
manual

yes bravo, sembri proprio triste
not non capisco bene questa faccia

say Sai fare la faccia triste?
manual

yes Sembra che ti sei arrabbiato molto
not non capisco se sei arrabbiato oppure no

say Mi fai vedere come si fa la faccia arrabbiata?
manual 

yes wow che stupore! Molto bravo!
not non capisco che espressione è

say Puoi farmi vedere la faccia stupita?
manual 

say Ottimo, sei stato molto bravo

Traduce la frutta in inglese

Damerino ti traduce la frutta in inglese. Puoi porre delle domande libere, ad esempio: “Come si dice mela in inglese?”

language en
rate 0.5

listen
save d

if [d] = mela*
say apple
elseif [d] = arancia*
say orange
elseif [d] = banana*
say banana
elseif [d] = uva*
say grapes
elseif [d] = limone*
say lemon
elseif [d] = pera*
say pear
elseif [d] = pesca*
say peach
elseif [d] = fragola*
say strawberry
elseif [d] = ciliegia*
say cherry
elseif [d] = fico*
say fig
elseif [d] = cocomero*
say water melon
elseif [d] = castagna*
say chestnut
elseif [d] = melone*
say melon
else
say I didn't understand

Giusto o sbagliato (Moltiplicazione)

yes Ottimo lavoro#Esattamente!#Esatto!#Perfetto!#Ottimo!#Ben detto!
not Mi sembra strano#Molto strano#Ma mi sembra strano#Sei sicuro?#Sei davvero sicuro?#Qualcosa non quadra#Ma sei sicuro?#Non mi sembri molto sicuro di quello che dici#Ma sei sicuro? Ho dei dubbi

repetitions 3

sayb Ti dico delle operazioni matematiche. Tu devi dirmi, giusto o sbagliato.

sayb 3 x 5 = 15
listen giusto*

sayb 6 x 6 = 70
listen sbagliato*

sayb 6 x 3 = 24
listen sbagliato*

sayb 5 x 4 = 20
listen giusto*

sayb 5 x 5 = 10
listen sbagliato*

sayb 2 x 6 = 12
listen giusto*

sayb 3 x 3 = 9
listen giusto*

sayb 2 x 5 = 10
listen giusto*

sayb 6 x 1 = 6
listen giusto*

sayb 3 x 10 = 40
listen sbagliato*

say Ho finito

Il saggio Damerino dice i proverbi

note Damerino dice i proverbi

do
sayb A buon cavalier non manca lancia.#A buon cavallo non manca sella.#A buon intenditor poche parole.#A caval donato non si guarda in bocca.#A chi non vuol credere sono inutili tutte le prove.#A mali estremi estremi rimedi.#A muro basso ognuno ci si appoggia.#A nemico che fugge ponti d'oro.#A tavola non si invecchia.#Al contadin non far sapere quanto è buono il formaggio con le pere.#Al cuore non si comanda.#Al medico, al confessore e all'avvocato, bisogna dire ogni peccato.#All'ultimo si contano le pecore.#Ambasciator non porta pena.#Amico di ventura, molto briga e poco dura.#Amor nuovo va e viene, amor vecchio si mantiene.#Amor regge il suo regno senza spada.#Amore non si compra né si vende.#Anche il leone ha bisogno del topo.#Anno nuovo vita nuova.#Buon sangue non mente.#Buone parole e pere marce non rompono la testa a nessuno.#Cent'oche ammazzano un lupo.#Di tutte le arti maestro è l'amore.#Il colombo che rimane in colombaia è al sicuro dal falco.#La gallina del vicino sembra un fagiano.#Nella botte piccola c'è il buon vino.#Non c'è rosa senza spine.#Ognun vede le proprie oche come cigni.#Quando canta la rana, la pioggia non è lontana.#Rosso di mattina, pioggia vicina.
repeat

Stati d’animo in inglese

In questo esempio Damerino esprime in inglese il suo stato d’animo e mostra un feedback attraverso l’espressione facciale corrispondente.

language en
rate 0.3

say I’m happy
mood felice
pause

say I’m sad
mood triste
pause

say I’m angry
mood arrabbiato
pause

say I’m amazed
mood stupito
pause

say I'm afraid
mood impaurito
pause

say I'm embarrassed
mood imbarazzato
pause

Velocità nel parlare

In questo esempio vediamo l’utilizzo dell’istruzione rate. Grazie a questa istruzione è possibile regolare la velocità della parlata di Damerino.

note Un esempio sull'utilizzo dell'istruzione "rate"

rate 1
say devo parlare più piano o più veloce?
listen
save vel
if [vel] = più veloce*
rate 2
elseif [vel] = più piano*
rate 0.1
elseif [vel] = normale*
rate 1
else
say non ho capito
say non dire gatto se non ce l'hai nel sacco