Retour aux projets
Génie logiciel2024Projet logiciel

Othello - Jeu de plateau en Java

Une application Othello en JavaFX structurée comme un logiciel maintenable, avec logique métier, interface, tests et livraison automatisée séparés.

Java 22JavaFXGradleJUnitGitLab CI
Aperçu de Othello - Jeu de plateau en Java

Démarche d'ingénierie

Construire le projet, pas seulement ses fonctionnalités.

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

Quatre responsabilités, quatre limites claires

01

Domaine métier

La grille, les pions, les joueurs et les règles décrivent Othello en Java sans dépendre de JavaFX.

02

Flux applicatif

Le gameplay et les contrôleurs coordonnent les tours, scores, modes et historiques d'état.

03

Présentation

Le package graphique définit des abstractions réutilisables et JavaFX construit la fenêtre et les interactions.

04

Infrastructure

La configuration, la persistance, les modules Java et Gradle relient l'application au système.

Principes de travail

Des choix qui simplifient les évolutions

Des contrats clairs

Les interfaces entre contrôleur et vue évitent de lier la logique à un écran précis.

Un état explicite

Chaque coup crée un instantané utilisé pour annuler, sauvegarder ou reprendre une partie.

Tester chaque comportement

46 tests JUnit et Mockito couvrent les règles, joueurs, contrôleurs et le gameplay sans lancer JavaFX.

Documenter le démarrage

Le README explique comment construire, tester et exécuter le projet sur chaque système.

Livraison professionnelle

Compiler, vérifier et livrer de manière reproductible

Build reproductible

Le wrapper Gradle garantit le même processus sans installation globale spécifique.

Vérification automatisée

GitLab CI compile avec JDK 22 et conserve le JAR généré comme artefact.

Distribution desktop

Les modules Java et jlink préparent un environnement autonome avec les dépendances nécessaires.

Démo jouable

Les règles du jeu, directement dans le navigateur

Adaptation pour le navigateur

Jouer aux règles essentielles d'Othello

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

Noirs

2

Blancs

2

À vous de jouer (Noirs). Vous affrontez l'IA.

Bilan

Ce que le projet démontre

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.