Serious Games ; Jeux sérieux
Cette page ne contient que des liens externes.
Dans ces jeux sérieux, il faut résoudre des puzzles avec des fonctions récursives. Ces fonctions récursives n'ont pas de cas de base à gérer, en effet, dans un cadre de programmation évènementielle la fin de partie est détectée, ce qui met fin à la fonction plus simplement.
RoboZZle

Version 8 niveaux de l'Université de Lyon 1 : Robozzle
D'autres niveaux plus difficiles en lien avec ce chapitre :
- RoboZZle 536 : Recursed A simple puzzle for understanding the call stack
- RoboZZle 330 : Learning Stack
- RoboZZle 59 : Recursion
RoboZZle
Un tutoriel est disponible ici en 4 parties.
L'objectif est de créer des fonctions afin qu'un robot puisse collecter toutes les étoiles.
Tout se fait à la souris, il faut parfois beaucoup réfléchir. Les niveaux sont très bien construits.
On peut définir, par exemple, une fonction récursive F1 avec le code : ⇒+F1
Cette fonction avance tout droit à l'infini...
CargoBot
CargoBot
L'objectif est de partir de la situation donnée dans le grand cadre et d'arriver à la situation décrite en haut. Pour ce faire, un charriot peut déplacer un bloc grâce à des fonctions... qui peuvent être récursives.
Par exemple, dans l'exemple ci-dessous, il faut séparer un tas de 4 blocs en deux tas de deux blocs.
Une solution consiste à dire que
- F0 (la fonction initiale) est définie par deux appels à F1 et deux appels à F2.
- F1 (objectif : déplacer un bloc à droite et revenir) est définie par :
- Baisser le charriot, qui prend alors un bloc.
- Aller à droite.
- Baisser le charriot qui dépose le bloc.
- Aller à gauche.
- F2 ... à vous de deviner.

Humour
Deux définitions du verbe marcher.
- Marcher, en itératif
- Répéter en boucle: Mettre un pied devant l'autre.
- Marcher, en récursif
- Mettre un pied devant l'autre, puis marcher.