Jeux sérieux⚓︎
Cette page ne contient que des liens externes.
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.