The three rules of Ruby Quiz:

1.  Please do not post any solutions or spoiler discussion for this quiz until
48 hours have passed from the time on this message.

2.  Support Ruby Quiz by submitting ideas as often as you can:

http://www.grayproductions.net/ruby_quiz/

3.  Enjoy!

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

by Jim Weirich

Here's a program I've had a lot of fun with and might make a good Ruby
Quiz entry.  The program is a animal quiz program.

It works like this.  The program starts by telling the user to think
of an animal.  It then begins asking a series of yes/no questions
about that animal: does it swim, does it have hair, etc.  Eventually,
it will narrow down the possibilities to a single animal and guess
that (Is it a mouse?).

If the program has guessed correctly, the game is over and may be
restarted with a new animal.  If the program has guess incorrectly, it
asks the user for the kind of animal they were thinking of and then
asks for the user to provide a question that can distinguish between
its incorrect guess and the correct answer.  It then adds the new
question and animal to its "database" and will guess that animal in
the future (if appropriate).

[ Editor's Note:  Here's a sample run of my solution, by way of example:

	Think of an animal...
	Is it an elephant?  (y or n)
	n
	You win.  Help me learn from my mistake before you go...
	What animal were you thinking of?
	a rabbit
	Give me a question to distinguish a rabbit from an elephant.
	Is it a small animal?
	For a rabbit, what is the answer to your question?  (y or n)
	y
	Thanks.
	Play again?  (y or n)
	y
	Think of an animal...
	Is it a small animal?  (y or n)
	y
	Is it a rabbit?  (y or n)
	n
	You win.  Help me learn from my mistake before you go...
	What animal were you thinking of?
	a Shih Tzu
	Give me a question to distinguish a Shih Tzu from a rabbit.
	Is it a kind of dog?
	For a Shih Tzu, what is the answer to your question?  (y or n)
	y
	Thanks.
	Play again?  (y or n)
	y
	Think of an animal...
	Is it a small animal?  (y or n)
	y
	Is it a kind of dog?  (y or n)
	y
	Is it a Shih Tzu?  (y or n)
	y
	I win.  Pretty smart, aren't I?
	Play again?  (y or n)
	n

-JEG2 ]