Guess the animal.

Description.
It is a game for children (and adults), which is fun (I hope) helping
computer to learn.
The player must "think" of an animal and answer the questions
the computer suggests; if the computer does not identify the answer, he will ask
to be provided the correct answer and a question that will allow,
subsequently, to guess.

Free.
The program is totally free: neither I nor anyone else can ask for
money for its use.

Copyright and protection.
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/.

As the program, through which the player feeds a
database, is outside of my control, I can never be called
liable or responsible for the information stored,
both as regards their content and their nature. Moreover,
I can not be held responsible for any damage which could be caused to
your computer.
The original program is free of viruses, Trojans, malware, etc. ..
It is "As Is"; to the limit of my ability, I will provide guidance to its
use and only for the version I have, but I will not provide assistance. 

Aim of the game. 
The main purpose is to initiate children to use computers, perhaps
fun, stimulating learning through "teaching". 
Also, make them understand that without human labour, the computer 
may not exist and operate (at least for the moment!). 
As far as I am concerned, they learn to use (I hope) the distribution 
Harbor (THE HARBOR PROJECT) & Minigui (MINIGUI HARBOR LIBRARY)
as I am demonstrating to my children that (sometimes) I do (maybe) something 
interesting. 

Installation. 
The program requires no installation: just copy it and start it. 
It automatically creates some files, their content is described 
below. 
- Main.exe: the program itself; 
- Current.ini: contains the name of language in use (default Italian); 
- Italiano.lng: Contains information / configuration in Italian; 
- English.lng: Contains information / configuration in English; 
- xxx_ques.dbf: table questions (where xxx is a language prefix);
- xxx_answ.dbf: table answers (where xxx is a language prefix);

The folder "prg" contains the sources and the icons used to create the 
executable program; at the time, designed and tested for Operating System
MS-Windows. 

Mode of operation.
The program is based on a series of questions and answers stored in 
related files; initially they have only one question and one 
answer. It becomes enriched with information as player use it.
When the program fails to identify the animal designed by a player, 
it requests the correct answer and a further question  that will help to
identify, in the next round, this animal. 
Therefore, I can say that the program is "self-instructive" with the help of  the
player, in sequence, and depends on information that the
player inserts (questions and answers). 
If you want to return to the initial state of the game, simply remove 
tables: "xxx_ques.dbf" and "xxx_ans.dbf" (about the meaning of "xxx" 
See chap. Specialization). 

Use. 

 Main form. 
It is possible to finish and start the game and change the language (see
ch. Specialization for adding a new language) 

 Question form.
This panel shows the questions, the answer may be: "Yes" (positive) 
or "No" (negative). Press the green button to "Yes" or the 
red button for "No". 

 Response form.
This panel shows the answer that the computer knows. The green button
confirms the accuracy of the response to the computer or press 
the red button for not.

 Happy form.
This panel will be displayed if the answer given by the computer is correct.

 Wrong form.
This panel will be displayed if the answer given by the computer is different
from what the player thought. This panel (we recommend the presence of
one parent at least the first few times) is used to insert: the (new) correct 
answer, one (new) question and, in relation to it, what kind of response
will be requested from the player (Yes / No).
Example: animal thought "dog", a new question "barks", valid answer "Yes";
animal thought "dolphin", new question "eats hay," valid answer "No".

 Language form.
Will be shown the available languages (see chap. Specialization). After
have saved the configuration, the program should be restarted.
Note: If the tables. "DBF" are not present, they will be created by the program.

 About form.
Some data.

Specialization. 

 Add a language. 
1) Duplicate the file "italiano.lng" (or "english.lng") and translate the texts, 
  the same references will remain. 
2) Extremely important: change the key "langcode" replacing "eng" 
a three-digit code, which will serve as a prefix for the tables. "DBF" of 
new language. 
3) Start the program and change / set the new language. 

 Select an existing language. 
Once generated a new language it is always possible to change to an already 
existing one. 

 Change request and response message. 
Changing the first question / answer and the message of openness, you can 
"alter" the nature of the program! Be careful of what you stored. 
The first question and answer, used during the generation of tables, 
found in these two keys: 
"[FirstTime]
 "FirstQue=It's a feline"
 "FirstAnsw=A cat"
After changing this information, remove the tables ".Dbf" (in
relation to language), so that the program uses them during regeneration
database. 

The message of "start" is in this key: 
"[Start-Msg] 
 "lb_start=Think of an animal"

                             Enjoy.
                             Luigi Ferraris
