Ce projet est une implémentation du jeu classique de casse-briques. L'objectif est de détruire toutes les briques en faisant rebondir une balle à l'aide d'une raquette contrôlée à la souris.
- Mécaniques de jeu : Gestion des collisions et des rebonds (murs, raquette, briques).
- Système de score : Suivi du score en temps réel lors de la destruction des briques.
- Interface graphique : Fenêtre de 1024x768 avec un rendu fluide via
GraphicsContext. - Gestion d'états : Écran d'accueil interactif et système de réinitialisation de partie.
Ce développement met en œuvre plusieurs piliers de la programmation et de la conception logicielle :
- Architecture MVC & FXML : Séparation de la présentation et de la logique métier. L'interface est définie en XML (
scene.fxml) et stylisée avec CSS (styles.css), tandis que le contrôleur Java gère les interactions. - Programmation Événementielle : Utilisation des écouteurs de JavaFX pour capturer les mouvements de la souris et les clics utilisateur afin de piloter la raquette et le flux du jeu.
- Boucle de Jeu (Game Loop) : Implémentation d'une logique de mise à jour constante pour le déplacement de la balle et la détection de collisions en temps réel.
- Gestion des Ressources & Build : Automatisation du cycle de vie du projet via Gradle, incluant la gestion des modules JavaFX nécessaires (controls, fxml).
- JDK 17 ou version ultérieure.
- La variable d'environnement
JAVA_HOMEdoit être configurée.
Placez-vous dans le dossier breakout/ et lancez la commande suivante :
./gradlew run