Bonsoir,
J’ai écrit un petit programme OCaml de Boucing Ball, une balle qui rebondit contre les bords de la fenêtre, où l’on peut augmenter la vitesse en X et en Y avec les touches du clavier.
Il utilise OCamlSDL, un binding de la désormais célèbre bibliothèque SDL pour le langage OCaml.
Voici ce que cela donne.
Si vous voulez tester et/ou améliorer ce programme, qui peut soit dit en passant servir de base pour un Pong ou autre jeu de ce genre, vous trouverez le code source ici : bbsdl.tar.gz.
Enjoy.



#1 by Aquanum - avril 28th, 2009 at 12:06
Intéressant
Curieux langage je trouve soit dit en passant. Encore une nouvelle syntaxe …
Sinon ton Makefile fait pas mal peur. Cette longueur est liée à OCamlSDL ou bien c’est le Makefile de base pour n’importe quel programme en ocaml ?
Ca me rappelle les Makefile de crosscompilation en C qui font dix kilomètres de long.
#2 by Alp Mestan - avril 28th, 2009 at 12:34
Le fichier « OCamlMakefile » est un Makefile générique pour les projets OCaml, qui va chercher comme un grand dans les répertoires systèmes les bibliothèques qu’on demande, etc. Ne t’inquiètes pas. Il s’est avéré pratique pour utiliser OCamlSDL et c’était qui plus est la méthode présentée dans le tutoriel que j’ai lu.
Sinon, oui, nouvelle syntaxe, tout ça. Le style est totalement différent de ce à quoi tu es habitué. Je trouve ça souvent plus pratique, plus expressif, malgré mon background C++ien.
J’aurais bien pris une vidéo mais je n’ai pas encore cherché d’outil pour enregistrer en vidéo une fenêtre, sous Linux.
#3 by Twxs - avril 29th, 2009 at 10:18
tout ca me rappel ma jeunesse en sheme ^^
#4 by Alp Mestan - avril 29th, 2009 at 10:59
Y’a bien plus de parenthèses en Scheme
#5 by Maarek - janvier 5th, 2010 at 22:56
Je n’arrive pas a compiler le code, il me dit :
make[1]: entrant dans le répertoire « /home/maarek/.local/share/Trash/files/bbsdl »
ocamldep testsdl.ml > ._d/testsdl.d
make[1]: quittant le répertoire « /home/maarek/.local/share/Trash/files/bbsdl »
make[1]: entrant dans le répertoire « /home/maarek/.local/share/Trash/files/bbsdl »
ocamlc -c -I +sdl testsdl.ml
File « testsdl.ml », line 81, characters 3-21:
Unbound value key_handler
make[1]: *** [testsdl.cmi] Erreur 2
make[1]: quittant le répertoire « /home/maarek/.local/share/Trash/files/bbsdl »
make: *** [byte-code] Erreur 2
Donc on dirais que key_handler n’existe nul part.
je sais pas d’ou viens cette fonction. donc si quelqu’un a une idée.
(voila mon adresse mail au cas ou: josephmaarek@gmail.com)
#6 by Maarek - janvier 5th, 2010 at 23:13
c’est okai pour l’erreur, dans les sources,
la fonction key_handler est appellée avant sa déclaration.
il suffit de declarer la fonction key_handler avant la fonction handler et le tour est jouer.
dsl d’avoir poster trop vite, bizare comme meme cette erreur. En tout cas sa pourrais aidée quelqun qui passe par la.