163 lines
4.2 KiB
Markdown
163 lines
4.2 KiB
Markdown
# 🚀 ZENITH FLUX — *Montez plus haut*
|
||
|
||

|
||

|
||

|
||
|
||
---
|
||
|
||
## 🎮 Présentation
|
||
|
||
**ZENITH FLUX** est un jeu d’adresse et de précision développé en **Java** dans le cadre du module *Projet Dev - CPI2 2026*.
|
||
|
||
Le joueur contrôle un anneau soumis à la gravité et doit le maintenir en lévitation en suivant une **ligne brisée en mouvement**.
|
||
|
||
👉 Un concept simple, mais un gameplay exigeant basé sur la précision et les réflexes.
|
||
|
||
---
|
||
|
||
## 🎯 Objectif du jeu
|
||
|
||
- ⚖️ Contrer une gravité constante
|
||
- 🚀 Appliquer des impulsions pour rester en l’air
|
||
- 🎯 Suivre une trajectoire dynamique
|
||
- 📈 Survivre le plus longtemps possible
|
||
|
||
💡 **Chaque erreur est fatale : précision et timing sont essentiels.**
|
||
|
||
---
|
||
|
||
## 🧩 Fonctionnalités principales
|
||
|
||
- 🎮 Gameplay fluide et dynamique
|
||
- 🧠 Difficulté progressive (niveaux / stages)
|
||
- 🎵 Gestion des sons et musiques
|
||
- 💾 Sauvegarde des scores via SQLite
|
||
- 🖼️ Gestion des ressources externes (images & audio)
|
||
- 🧱 Architecture modulaire (POO)
|
||
|
||
---
|
||
|
||
## 🛠️ Technologies utilisées
|
||
|
||
| Technologie | Utilisation |
|
||
|------------|------------|
|
||
| Java | Développement principal |
|
||
| SQLite | Sauvegarde des données |
|
||
| UML | Conception (diagrammes) |
|
||
|
||
---
|
||
|
||
## 📂 Structure du projet
|
||
zenith-flux/
|
||
│── src/
|
||
│ ├── images/ # Ressources graphiques
|
||
│ ├── musiques/ # Ressources audio
|
||
│ ├── Jeu.java # Classe principale
|
||
│ ├── Cercle.java # Gestion de l’anneau
|
||
│ ├── Ligne.java # Gestion de la trajectoire
|
||
│ ├── GestionAudio.java # Gestion des sons
|
||
│ ├── GestionBDD.java # Base de données
|
||
│ ├── BoutonsManager.java # Interface utilisateur
|
||
│ └── ... # Autres composants
|
||
│
|
||
│── bin/ # Fichiers compilés
|
||
│── lib/ # Bibliothèques externes
|
||
│── .vscode/ # Configuration IDE
|
||
|
||
|
||
---
|
||
|
||
## 💾 Gestion des données
|
||
|
||
### 📊 Base Historique
|
||
Stocke :
|
||
- Score
|
||
- Durée de la partie
|
||
- Niveau atteint
|
||
|
||
### 🧩 Base des niveaux
|
||
- Configuration dynamique des stages
|
||
- Modification sans recompiler
|
||
|
||
---
|
||
|
||
## 👥 Équipe
|
||
|
||
- Constant Eloundou
|
||
- Lucas Lample
|
||
- Ismaël Boubacar
|
||
- Théo Mouniapin
|
||
|
||
---
|
||
|
||
## 🚀 Installation et lancement
|
||
|
||
### 🔧 Prérequis
|
||
|
||
- Java **JDK 17 ou supérieur**
|
||
|
||
---
|
||
|
||
### ▶️ Lancer le projet
|
||
|
||
#### 💻 Option 1 — Via un IDE (recommandé)
|
||
|
||
1. Ouvrir le projet avec :
|
||
- IntelliJ IDEA / Eclipse / VS Code
|
||
2. Lancer la classe principale :
|
||
|
||
---
|
||
|
||
#### 🖥️ Option 2 — En ligne de commande
|
||
|
||
```bash
|
||
javac -d bin src/*.java
|
||
java -cp bin Jeu
|
||
|
||
#### 📦 Option 3 — Exécutable (.jar)
|
||
java -jar ZenithFlux.jar
|
||
|
||
|
||
📅 Planning de développement
|
||
| Semaine | Travail effectué |
|
||
| ------- | --------------------------------- |
|
||
| 1 - 2 | Prototype initial |
|
||
| 3 - 5 | Développement des fonctionnalités |
|
||
| 6 | Finalisation & soutenance |
|
||
|
||
|
||
🧠 Points forts du projet
|
||
✔️ Architecture claire et modulaire
|
||
✔️ Séparation logique / données / affichage
|
||
✔️ Utilisation d’une base de données réelle
|
||
✔️ Projet complet (conception → réalisation)
|
||
|
||
📖 Documentation
|
||
|
||
Le projet inclut :
|
||
|
||
✔️ Diagrammes UML (classes, séquences, activités)
|
||
✔️ Code documenté (JavaDoc)
|
||
✔️ Rapport de projet détaillé
|
||
|
||
⚖️ Licence
|
||
|
||
Projet réalisé dans un cadre pédagogique (CPI2 2026).
|
||
Usage académique uniquement.
|
||
|
||
❤️ Remerciements
|
||
|
||
Merci aux encadrants pédagogiques et à tous les contributeurs du projet.
|
||
|
||
🔥 Améliorations possibles
|
||
- Ajout d’un mode multijoueur
|
||
- Amélioration des effets visuels
|
||
- Nouvelles mécaniques de gameplay
|
||
- Optimisation des performances
|
||
|
||
|
||
"Pour faciliter l'expérience utilisateur et assurer la portabilité sous Windows, nous avons utilisé l'outil Launch4j afin d'encapsuler notre application Java dans un exécutable natif (.exe). Cela nous a également permis d'intégrer une icône personnalisée et de définir les prérequis de la version JRE (Java Runtime Environment) nécessaire."
|
||
|
||
Récupérez le dans le dossier: ZENITH_FLUX_JEU_FINAL
|