OCamlévidemment (>=4.05.0).duneetmakesont indispensables.- La bibliothèque
Graphicssi elle ne vient pas déjà avec OCaml.
Par défaut, make est seulement utilisé pour abréger les commandes dune (voir Makefile pour plus de détails) :
-
makesans argument lancera la compilationdunedemain.exe, c'est-à-dire votre programme en code natif. -
make bytecompilera si besoin en bytecode, utile pour faire tourner votre code dans un toplevel OCaml, voirlsystems.top. -
make cleanpour effacer le répertoire provisoire_buildproduit pardunelors de ses compilations.
Enfin pour lancer le programme: ./run suffit.
Vous pouvez également spécifiez un fichier L-système et/ou un nombre spécifique d'itérations via la l'option -c.
Par exmple : ./run -c examples/snow.sys 5
Pour que votre fichier L-système marche correctement avec notre programme il vous suffit de respecter les codes d'écritures présents dans les fichiers .sys du dossier examples/, à savoir :
-
Les lignes commençant par # sont des lignes de commentaires, donc ignorées par le programme.
-
Le fichier contient 3 "bloques de données" séparés par des lignes vides ou retour à la ligne (
\n). -
Le premier bloque correspond à l'axiome initial du L-système.
-
Le second bloque comprend une ligne par règle de transformations permettant d'agrandir l'axiome au fil des itérations. Si une variable ne possède pas une ligne de ce bloque le programme ne la transformera pas lors des itérations.
-
Le dernier bloque est celui des interprétations en commandes tortues pour chaque variable. Il est important ici que chaque variables présentes dans l'axiome y possède une ligne dédiée.
Pour certains L-Systems, l'animation de la tortue rend le programme un peu lent, mais nous n'avons pas eu le temps d'ajouter une option en ligne de commande pour la désactiver. Pour tester plusieurs L-Systems à la suite, vous pouvez commenter la ligne 138 du fichier turtle.ml qui indique Unix.sleepf(time) pour désactiver l'animation et gagner un peu de temps. La prochaine étape de programmation aurait été de rajouter des options en lignes de commandes afin de permettre à l'utilisateur d'activer ou désactiver aisément couleurs et animations dans le programme.