Pensa Ad Un Animale.

20100308 - beta version published on http://www.hmgforum.com
20100311 - v.1.0 grazie ai suggerimenti di Rathinagiri
    introdotto: 
    - conto alla rovescia e suoni (v. cap. Specializzazione)
    - immagine

Descrizione.
E' un gioco per bambini (e non), i quali divertendosi (spero) aiutano 
il computer ad imparare.
Il giocatore deve "pensare" ad un animale e rispondere alle domande che
il computer propone; se il computer non individuer la risposta, chieder
che gli siano forniti la risposta esatta ed una domanda che gli consentir,
successivamente, di indovinarlo.

Gratuito.
Il programma  totalmente gratuito: n io n altri possono chiedere del
denaro per il suo uso.

Copyright e tutela.
This program is free software: you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the
 Free Software Foundation, either version 3 of the License,
 or (at your option) any later version.
This program is distributed in the hope that it will be useful, 
 but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License 
 along with this program. If not, see http://www.gnu.org/licenses/.

Siccome il programma, attraverso il giocatore, alimenta una
base di dati al di fuori del mio controllo, io non potr mai essere chiamato
in responsabilit o corresponsabilit per le informazioni memorizzate,
sia per quanto riguarda il loro contenuto che la loro natura. Inoltre,
non posso essere chiamato in causa per qualsiasi danno possa arrecare al
vostro computer.
Il programma originale  privo di virus, trojan, malware, ecc..
E' "As Is"; al limite delle mie possibilit, fornir indicazioni al suo
riguardo e solo per la versione in mio possesso, ma non fornir assistenza.

Scopo del gioco.
Lo scopo principale  avviare i bambini all'uso del computer, magari
divertendosi, stimolandoli all'apprendimento attraverso "l'insegnamento".
Inoltre, far comprendere loro che, senza il lavoro umano, i computer non 
potrebbero esistere e funzionare (almeno per il momento!).
Per quanto mi riguarda, imparare ad usare meglio (spero) la distribuzione
Harbour (THE HARBOUR PROJECT) & Minigui (HARBOUR MINIGUI LIBRARY),
dimostrando ai miei figli che (talvolta) faccio (forse) qualcosa di
interessante.

Installazione.
Il programma non richiede alcuna installazione: basta copiarlo ed avviarlo.
Creer automaticamente alcuni files; il loro contenuto  descritto di
seguito.
- main.exe: il programma stesso;
- current.ini: contiene il nome lingua in uso (default italiano);
- italiano.lng: contiene informazioni/configurazione in lingua italiana;
- english.lng: contiene informazioni/configurazione in lingua inglese;
- xxx_ques.dbf: tabella domande (dove xxx  il prefisso della lingua);
- xxx_answ.dbf: tabella risposte (dove xxx  il prefisso della lingua);

La cartella "prg" contiene i sorgenti e le icone usate per poter creare il
programma eseguibile; al momento, ideato e verificato per Sistema Operativo
Ms-Windows.

Principio di funzionamento.
Il programma si basa su una serie di domande, e risposte, archiviate nelle
relative tabelle; inzialmente dispone di una sola domanda ed una sola
risposta. Si arricchisce di informazioni mano a mano che lo si usa.
Quando il programma non riesce ad individuare l'animale pensato dal giocatore,
chieder l'inserimento della risposta e di una domanda che lo aiuti ad 
identificare, nelle successive giocate, questo animale.
Pertanto, posso dire che il programma si "autoistruisce" con l'aiuto del
giocatore, in maniera sequenziale, e dipende dalle informazioni che il
giocatore inserisce (domande e risposte).
Se si desidera riportare allo stato inziale il gioco,  sufficiente rimuovere
le tabelle: "xxx_ques.dbf" e "xxx_ans.dbf" (in merito al significato di "xxx"
vedi il cap. Specializzazione).

Uso.

 Form Principale.
E' possibile: terminare il gioco, avviare una partita e cambiare la lingua (vedi
cap. Specializzazione per l'aggiunta di una nuova lingua)

 Form Domanda.
Questo pannello mostra le domande; la risposta pu essere: "S" (positiva)
oppure "No" (negativa). Premere il pulsante Verde per "S" oppure il
pulsante Rosso per "No".

 Form Risposta.
Questo pannello mostra la risposta che il computer conosce. Il pulsante Verde
conferma al computer l'esattezza della risposta altrimenti premere
il pulsante Rosso.

 Form Happy.
Questo pannello sar visualizzato se la risposta fornita dal computer 
esatta.

 Form Sbagliato.
Questo pannello sar visualizzato se la risposta fornita dal computer  diversa
da ci che il giocatore ha pensato. Questo pannello (si raccomanda la presenza di
un genitore almeno le prime volte) serve ad inserire: la (nuova) risposta
esatta, una (nuova) domanda e, in relazione ad essa, quale tipo di risposta
dovr essere fonita dal giocatore (S/No).
Esempio: animale pensato "cane", nuova domanda "abbaia", risposta valida "S";
animale pensato "delfino", nuova domanda "mangia il fieno", risposta valida "No".

 Form Lingua.
Saranno visualizzate le lingue disponibili (vedi cap. Specializzazione). Dopo 
aver salvato la configurazione, il programma dovr essere nuovamente avviato.
Nota: nel caso le tabelle ".dbf" non siano presenti, saranno create dal programma.

 Form About.
Alcuni dati.

 Form Elapsed (v.1.0).
Quando il tempo per rispondere  scaduto compare questo form.

Specializzazione.

 Aggiungere una lingua.
1) Duplicare il file "italiano.lng" (oppure "english.lng") e tradurre i testi,
lasciando inalterati i riferimenti.
2) Estremamente importante: modificare la chiave "LangCode" sostituendo a "ita"
un codice di tre cifre, che servir come prefisso per le tabelle ".dbf" della
nuova lingua.
3) Avviare il programma e modificare/impostare la nuova lingua.

 Selezionare una lingua esistente.
Una volta generata una nuova lingua  sempre possibile cambiarla con una gi
esistente.

 Modifica domanda, risposta e messaggio.
Cambiando la prima domanda/risposta ed il messaggio di apertura,  possibile
"alterare" la natura del programma! Fate attenzione a quello che memorizzate.
La prima domanda e risposta, utilizzate durante la generazione delle tabelle, 
si trovano in queste due chiavi:
"[FirstTime]"
 "FirstQue=E' un felino"
 "FirstAnsw=Un gatto"
Dopo aver modificato queste informazioni, rimuovere le tabelle ".dbf" (in
relazione alla lingua), affinch il programma le usi durante le rigenerazione
della base di dati.
Il messaggio di "avvio" si trova in questa chiave:
"[Start-Msg]"
 "lb_start=Pensa ad un animale"
(v.1.0) A riguardo dell'immagine, durante la creazione delle tabelle, il programma
salva questa informazione:
 ExePath + hb_osPathSeparator() + "Images" + hb_osPathSeparator() + "FirstImage".

 Conto alla rovescia (v.1.0)
E' stato introdotto un conto alla rovescia. La configurazione si trova nel 
file *.lng nella sezione:
"[Question-Timer]"
 "timeron=off": abilitato se "on" altrimenti disabilitato; default "on"
 "qtimer=nn": dove nn  il numero di secondi, non inferiore a 5; per default 60

 Suoni (v.1.0)
Introdotti alcuni suoni di sottofondo.
"[Effects]"
 "Wav=off": abilitati se "on" altrimenti disabilitati; default on

                             Buon divertimento.
                             Luigi Ferraris

