Friday, June 19, 2015

Generating mazes

While Reeborg's World was primarily designed for beginners, it can be used to illustrate relatively advanced topics in a fun way.  For example, one can generate mazes using a depth-first algorithm.

Of course, generating mazes is only half the fun: the real fun is to use them to set Reeborg on a treasure hunt:

Fairly large mazes can be generated, but it does take a fair bit of time. I'm using many generic functions written for the world editor to change the world configuration; these are well-tested and designed for fool-proof interactive use, adding or removing one element at a time.  A more efficient way would be to manipulate directly the world object (implemented as a mixture of dict and lists - to use the Python terms, although they are in this case the javascript equivalents).

For those interested, the details can be found here.

Tuesday, June 16, 2015

Reeborg meets Sokoban

I have been very busy these past few weeks in revamping Reeborg's World.  Since some incompatible changes with the previous version have been made and since some teachers are currently using the old version, the link points to a new (and temporary) location for the development version.

Instead of supporting only "boring looking" traditional "Karel-the-robot" worlds,

One can create logically-equivalent, but much more interessting looking puzzles:

It even support supports the creation of Sokoban-type puzzles:

Pushable boxes, can become bridges enabling crossing water obstacles

If you want to find out more, you should have a look at the new documentation, in particular the advanced features section.   I still have a bit of work to do on the documentation, but it is already fairly comprehensive.

Check it out and feel free to share any world/puzzle/task you create! :-)