// Ces programmes sont sous licence CeCILL-B V1.
// Définition des directions
int gauche = 0;
int droite = 1;
int haut = 2;
int bas = 3;
int aucun = 4;
// Dessin
void dessiner(int x, int y, int rayon, int v) {
drawCircle(x, y, rayon, 0, 0, 0);
if(rayon > 1) {
if(v != droite) {
dessiner(x + 3 * rayon / 2, y, rayon / 2, gauche);
}
if(v != gauche) {
dessiner(x - 3 * rayon / 2, y, rayon / 2, droite);
}
if(v != haut) {
dessiner(x, y - 3 * rayon / 2, rayon / 2, bas);
}
if(v != bas) {
dessiner(x, y + 3 * rayon / 2, rayon / 2, haut);
}
}
}
void main() {
initDrawing("DessinRécursif", 10, 10, 400, 400);
dessiner(200, 200, 64, aucun);
}