http://www.perlmonks.org?node_id=1209857

Hi! I would like to introduce my module - my first contribution to www.cpan.org. It is generating a logical puzzle. Get it from https://metacpan.org/release/App-ForKids-LogicalPuzzleGenerator. You can use it as follows:

use App::ForKids::LogicalPuzzleGenerator; my $x = App::ForKids::LogicalPuzzleGenerator->new(range=>3, amount_of_facts_per_session => 4); print $$x{intro_story}; print $$x{story}; print $$x{solution_story};

It is heavily using AI::Prolog. An example of such puzzle is below:

John,Patrick and James live here. Each has a different favourite fruit (pinapples,apples,pears). Each has a different profession (fisherman,blacksmith,witcher).

- My name is John. The one who likes apples is not a blacksmith. Patrick is not a witcher. James does not like pinapples. James is not a fisherman.

- My name is James. John does not like pears. Patrick does not like apples. I don't like apples. The one who likes apples is not a fisherman.

John likes apples. John is a witcher. Patrick likes pinapples. Patrick is a fisherman. James likes pears. James is a blacksmith.

Pawel Biernacki