Le projet avance bien. J'écris les 2 versions (Java et Javascript) en parralllèle.
J'ai complètement réorganisé le code après mon étude des Design Patterns et je m'inspire pas mal de Godot et de Defold qui sont 2 fantastiques moteurs de jeux.
J'utilise la Programmation Orientée Objet + les Design Pattern : Composite, Observer, Decorator, Strategy + les Components, et bientôt probablement Factory et/ou Factory Method,et, plus tard, Command for a WYSIWYG little text editor. Je vais aussi sûrment avoir besoin du D.P. Iterator à un moment donné. Il y a aussi quelques Singletons dans la pratique mais je ne les code pas vraiment en tant que tel car je souhaite que le code ne soit pas trop compliqué à comprendre. L''objectif de ce travail est qu'il soit utilisé bien sûr (c'est à dire pas seulement par moi) mais aussi compris et etendu par d'autres et pas seulement par des professionnels (qui ont bien d'autres outils à leur disposition que Processing et P5js -ou q5js- ). J'essaierai de produire une documentation claire (surtout si l'on me sollicite sufisemment lol ).
J'utilise Git en local et je mettrai bentôt le code sur Github (ou autre). Je ferai quelques démos et j'ai aussi une application en Java dans les cartons... pour commencer ! :))
Refactorisations en cours après étude de quelques Patrons de conception (Design Patterns)
Je suis en train de construire un petit moteur de jeu (ou plutôt un framework pour être précis) avec Processing et P5js
Il s'agit d'en avoir 2 versions : en Java avec Processing et en Javascript avec P5js.
L'idée de ce projet est, d'une part, de pouvoir créer de petits jeux en 2D en pouvant comprendre et accéder au code du moteur sans avoir besoin de comprendre le C++ et d'autre part, notamment pour la version JAVA, de pouvoir utiliser des bibliothèques auxquelles les moteurs de jeux n'ont pas accès en général (comme pour faire du FTP par exemple) et de l'utiliser dans des applications en maîtrisant complètement son interface graphique. JavaFX est une bibliothèque formidable mais si l'on veut créer une interface complètement différente de ce qui est prévu il faudra vraiment comprendre son code ce qui est encore plus compliqué, à mon avis, que de tout recommencer à zéro (surtout si l'on n'a pas besoin de widget très avancés comme pour faire du web, de la vidéo...).
D'autre part, tout est fait (pour l'instant) en utilisant l'éditeur de Processing qui est bien plus accessible pour les programmeurs "non-professionnels". L'utilisation de concepts de programmation relativement avancés comme de nombreux patrons de conception (design pattern) peux aussi être formateur pour beaucoup de personnes (me semble-t-il) qui pourraient trouver utile d'étudier son code.
L'utilisation importante des diagrammes de classes UML peut aussi être, peutêtre intéressante.
(cf le projet qui sera bientôt disponible sur github (ou autre))
Cet outil permettra aussi de construire des applications avec une belle interface graphique.
(version 0.06)
Graphiques réalisés avec Violet UML editor .
Javadoc
(English translation in progress)
(à la version 0.04)
Graphiques réalisés avec Violet UML editor .
En cours : cliquer là pour voir ce que ça donne pour l'instant !
(sera terminé après les refactorisations en cours)
Amélioration du petit jeu vidéo Alien