Domaine métier
La grille, les pions, les joueurs et les règles décrivent Othello en Java sans dépendre de JavaFX.
Une application Othello en JavaFX structurée comme un logiciel maintenable, avec logique métier, interface, tests et livraison automatisée séparés.
Démarche d'ingénierie
J'ai abordé ce jeu Othello comme un produit logiciel complet, et non comme un simple ensemble de règles et de boutons. Chaque responsabilité possède une place claire et le comportement peut être testé sans ouvrir l'interface.
L'objectif technique
Le jeu devait gérer les coups valides, les captures, le score, plusieurs modes, l'annulation et la sauvegarde, tout en gardant l'interface JavaFX indépendante des règles.
Structure du projet
La grille, les pions, les joueurs et les règles décrivent Othello en Java sans dépendre de JavaFX.
Le gameplay et les contrôleurs coordonnent les tours, scores, modes et historiques d'état.
Le package graphique définit des abstractions réutilisables et JavaFX construit la fenêtre et les interactions.
La configuration, la persistance, les modules Java et Gradle relient l'application au système.
Principes de travail
Les interfaces entre contrôleur et vue évitent de lier la logique à un écran précis.
Chaque coup crée un instantané utilisé pour annuler, sauvegarder ou reprendre une partie.
46 tests JUnit et Mockito couvrent les règles, joueurs, contrôleurs et le gameplay sans lancer JavaFX.
Le README explique comment construire, tester et exécuter le projet sur chaque système.
Livraison professionnelle
Le wrapper Gradle garantit le même processus sans installation globale spécifique.
GitLab CI compile avec JDK 22 et conserve le JAR généré comme artefact.
Les modules Java et jlink préparent un environnement autonome avec les dépendances nécessaires.
Démo jouable
Adaptation pour le navigateur
Placez un pion sur une case indiquée pour encercler et retourner les pions adverses. Choisissez le mode à deux joueurs ou affrontez l'IA Minimax du projet.
Mode de jeu
2
2
À vous de jouer (Noirs). Vous affrontez l'IA.
Bilan
Le résultat principal n'est pas seulement un jeu jouable, mais une base de code aux limites visibles : les règles peuvent évoluer, l'interface peut être remplacée, les tests protègent le comportement et la livraison fait partie du dépôt.