Memory

But du jeu

Le principe du projet était de créer un jeu Memory avec du JavaSwing ou du javaFX. De plus,  nous devions respecter une structure MVC (Modèle Vue Contrôleur). Dans ce jeu, il est possible de choisir la dimension du plateau (3×3, 4×4 et 5×5).

La partie est terminée lorsque que le joueur a retourné toutes les paires. 

Les technologies utilisées

  • JavaFX
  • Java

Difficultés :

  • Apprentissage de JavaFX/JavaSwing
  • Compréhension de la structure MVC

La maintenance

Comme maintenance, j’ai décidé de rajouter un chrono lors de la partie. De plus, celui-ci pourra être sauvegardé dans un fichier texte pour pouvoir créer un classement.

 

Première étape : le temps

La première chose à faire a été de rajouter un élément en haut de ma fenêtre me permettant de voir le temps qui défile. Celui-ci se lance quand le joueur clique pour la première fois sur une image.

 

Deuxième étape : la sauvegarde

Après avoir ajouté le temps au jeu, j’ai pu rajouter un système de sauvegarde dans des fichiers texte

 

Veille technologique 

Choix technologique

Pour ce projet, j’ai décidé d’utiliser la bibliothèque JavaFX. En effet, durant mes études à l’IUT de Belfort-Montbéliard, nous avons utilisé majoritairement Java pour la programmation orienté objet et pour l’IHM (Interface Homme Machine).

JavaFX me permettait aussi plus de personnalisation et plus de liberté pour la création de mes fenêtres; Enfin, la bibliothèque JavaFX est devenue la bibliothèque de gestion de fenêtre officielle dès l’apparition de Java8, il me semblait important d’apprendre à l’utilisé pour mes projets futurs.

 

Les alternatives

AWT

AWT est une bibliothèque qui a été introduite dès les premières versions de Java.

Les composants de Java AWT sont beaucoup plus lourds que ceux de JavaFX. De plus, les fonctionnalités de AWT sont moins nombreuses et possèdent un temps d’exécution plus long. Enfin, le modèle MVC n’est pas pris en compte, alors qu’il s’agit du modèle le plus utilisé et qui permet d’écrire un code plus lisible.

 

Java Swing

JavaSwing est une bibliothèque développée par Oracle. De Java 2 à Java 8, il s’agissait de la bibliothèque de gestion de fenêtre officielle.

Cependant, dû à certaine limitation (comme l’impossibilité d’utilisé du CSS ou bien le scene builder), j’ai décidé de ne pas le choisir pour ce projet.

Lien vers le GitHub : 

https://github.com/BenjaminRodot/Memory