Vous êtes sur la page 1sur 10

Rapport de projet

P1512312-LUCA Marcel
P1809208- DerbalYounes
Introduction: 1
Materiel et methode: 1
Elaboration de logique de l’application: 2

Partages des tâches: Error! Bookmark not defined.

Elaboration de diagramme UML: 3

Création des fonctionnalités principales: 4

Analyse des futures fonctionnalités: 6

Résultats et perspectives sur le projet : 8

Améliorations et extensions possibles: 9

Conclusion: 8

P.O.O - CasseTete_ DerbalYounes_LucaMarcel


Introduction :
Dans le cadre de l’UE de java et programmation orientée objet, nous avons réaliser ce projet
qui nous a permis de mettre en oeuvre les connaissance que nous avons acquises lors des cours et
des TPs de P.O.O, de conception orientée objet et infographie .
Java – un langage de programmation utilisé assez souvent dans nos vies (ex. industrie,
applications Android, applications desktop etc.) Toutes les grandes entreprises utilisent Java au
différents niveaux. On peut dire que savoir les bases de Java c’est un atout dans la vie d’un
développeur surtout si on veut se concentrer dans le monde de l’industrie et du développement des
applications .
Le projet Casse Tête qu’on a essayé d'implémenter c’est un commencement dans les bases de
programmation orienté-objet . Le but de notre projet c'était de créer un jeu “Casse Tête” on utilisant
de la librairie JavaFX et à l’aide de la modélisation du Modèle Vue Contrôleur (MVC strict) .

On s’est proposée d'étudier quelques points importants pour le bon déroulement du projet :
1. Approfondir les connaissances dans le MVC. Avant de commencer le projet nous
avons étudié quelques questions théoriques sur le fonctionnement de MVC, Drag and
Drop, et JavaFX. Nous avons utilisé l’IDE intellij idea pour faire notre projet.
2. Comprendre le fonctionnement du JavaFX et toutes ces fonctionnalités.
3. Implémenter une stratégie pour le bon fonctionnement du binôme. Pour bien
travailler en équipe nous avons divisé les tâches dès le début. On a essayé d'avancer
au maximum tout seuls et après on a combiner notre travail pour mieux arriver de
gérer le projet . Quand nous avons eu toutes les classes plus au moins écrites, nous
avons partagé le reste pour finir le projet de base. Nous avons préféré de travailler à
la Bibliothèque Universitaire pour qu’on puisse s’aider dans le cas si un de nous à
des difficultés et de essayer d’avancer au plus vite.

Materiel et methode:
La première étape de la conception. c´était le découpage du projet en différentes phases :
1. Elaboration de logique de l’application.
2. Partages des tâches.
3. Elaboration de diagramme UML.
4. Création des fonctionnalités principales.
5. Analyse des futures fonctionnalités

P.O.O - CasseTete_ DerbalYounes_LucaMarcel


6. Analyse et test de la demo.
7. Corrections des erreurs.
8. Créations des fonctionnalites supplementaires.

Elaboration de logique de l’application:


Premièrement on a décidé de créer la logique de l'application pour nous permettre
d’imaginer comment avancée le projet correctement et pour bien gérer les efforts et le temps. En
étant en binômes on a commencer faire un brainstorming avec des idées comment implémenter les
fonctionnalités et de quoi on pourra avoir besoins. Le problème au début était qu’on avait beaucoup
des idées et on ne savait pas par quoi commencer , on a décidé demander l’aide du professeur du TP
avec lequel on a bien organiser notre projet.

Elaboration de diagramme UML:


Deuxièmement on a créé le diagramme de classe pour bien définir les fonctionalité et les
classe et on a fait ça à l’aide du diagramme d’activité que vous avez nous donner avec le sujet de
projet et aussi étant dirigé par le professeur de TP on a réussi de créer une diagramme correcte et
logique c’est qui nous a permis de bien avancer dans le développement et de mieux comprendre la
logique du projet.

P.O.O - CasseTete_ DerbalYounes_LucaMarcel


Création des fonctionnalités principales:

P.O.O - CasseTete_ DerbalYounes_LucaMarcel


Pour ce projet on a utiliser la technique mode text - mode graphique . Cette technique nous
a permis de créer tout en mode text pour voir si tout a été implémenter correctement et après on a
pu créer le mode graphique. On a attribué à chaque image un caractère et pour la grille on a utiliser
les chiffres : (ex: 0 - case libre ; 1-9 - symbole ). Pour créer le chemin on a utilisé des caractères
comme (ex: C ; h; Z; L; u; J):
( temps passé - ~15h.)

P.O.O - CasseTete_ DerbalYounes_LucaMarcel


Quand l’utilisateur commence le jeu en utilisant la fonctionnalité drag and drop a l’aide d’observer et
du mode texte automatiquement on mettait à jour le mode graphique . Quand l'utilisateur
commence le drag, on ajoute les cases parcourues dans le chemin. Le chemin est accepté quand
l'élément initial correspond à l'état final. Si l'élément initial ne correspond pas à celui final le chemin
est automatiquement supprimé. Quand tous les chemins sont bons et toutes les cases sont remplies,
jeu est fini sinon le text “Vous avez perdu” apparaît.

Analyse des futures fonctionnalités:

Après on a décidé de faire une analyse des futures fonctionnalités si on peut les intégrer
correctement dans notre projet et comment il fallait les implémenter. On a implémenter plusieurs
fonctionnalités :
1. Chronomètre - fonction qui chronomètre le temps pour une partie. ( temps passé -
~2h.)

2. Changement des niveaux - bouton next qui passe d’un niveau à l’autre si le
l’utilisateur veut avancer dans la partie. ( temps passé - ~5h.)

P.O.O - CasseTete_ DerbalYounes_LucaMarcel


3. Re-démarrage du jeu - si l’utilisateur a perdu il a la possibilité de redémarrer la
partie sans sortir de l'application. ( temps passé - ~4h.)

4. Boutons Exit et Main Menu - deux boutons qui permet de fermer l’application et de
passer au menu principal. ( temps passé - ~1h.)

5. Meilleur score - fonction qui calcule si le temps pendant une partie et meilleur que
le temps de la partie précédente. Si ce temps est le meilleur résultat, on le met dans

P.O.O - CasseTete_ DerbalYounes_LucaMarcel


les meilleurs scores, et la prochaine fois on compare le temps passé sur un niveaux
avec le meilleur score. Quand il y a un nouveau score inférieur à l’ancien le message
"Tu as gagné!!!"" est affiché.sinon si le temps est supérieur que le score existe donc le
message "nouveau record!" va apparaitre . ( temps passé - ~3h.)

Résultats et perspectives sur le projet :

1. A ce moment notre projet a plusieurs fonctionnalités qui permets à l’utilisateur de jouer sans
avoir des problèmes.
● Possibilité de changer les niveaux à l’aide de bouton next level.
● Plusieurs niveaux des différents difficulté..
● Chronometrage du score.
● Affichage du meilleur score.
● Re-démarrage de la partie sans fermer l'application.
● Taille de jeu modifiable dans les maps .
● deux scène pour le jeux dans une même fenêtre.

P.O.O - CasseTete_ DerbalYounes_LucaMarcel


Améliorations et extensions possibles:
Notre application étant fonctionnelle, il reste néanmoins des imperfections et des points à
améliorer :
1. Ajouter un IA qui crée automatiquement les niveaux.
2. Ajouter des aides pour le joueur.
3. Créer une instance pour pouvoir jouer a deux joueur.

Conclusion:
Pendant le développement de ce projet “ Casse Tête” on a réussi approfondir nos
connaissances dans la librairie JavaFx et MVC ce qui nous a permis d’avancer et de découvrir plus de
fonctionnalités.
Premièrement on a dû analyser et comprendre le fonctionalités et la structure de MVC et de
JavaFx. Après on a commencé à implémenter la diagramme UML qui nous a beaucoup aidé dans le
développement de ce jeu.
Deuxièmement on a essayé de partager les tâches correctement pour pouvoir avancer
correctement dans l'implémentation de ce projet.
D’une part la nouveauté de la méthode utilisée (MVC avec Javafx) pourrait
permettre de s’intégrer au sein des entreprises pour le stage de Licence 3 ou bien pour
le travail, parce que maîtriser MVC c’est un vrai outil.
Finalement pour bien avancé dans le projet il était nécessaire de savoir travailler en équipe
et pouvoir aider l’un à l’autre. Chaque membre de l'équipe à bien travaillé pendant ce temps et à
beaucoup participer au développement de ce projet . La gestion du temps a été l'atout principale
dans le développement de ce projet.

P.O.O - CasseTete_ DerbalYounes_LucaMarcel

Vous aimerez peut-être aussi