Trains est une implémentation numérique du jeu de plateau japonais de construction de réseaux ferroviaires. Dans ce jeu, les joueurs construisent leur réseau ferroviaire autour de Tokyo ou d'Osaka en plaçant des rails et des gares sur le plateau.
Dans le diagramme ci-dessus, sont représentés seulement les méthodes et attributs contribuant à la compréhension de la modélisation orientée objet du jeu
Le projet est structuré en trois packages principaux qui démontrent une séparation claire des responsabilités :
-
fr.umontpellier.iut.gui
: Interface utilisateur- Gestion de l'affichage web
- Communication client-serveur
- Rendu des états de jeu
-
fr.umontpellier.iut.trains
: Logique métier- Implémentation des règles du jeu
- Gestion des tours de jeu
- Système de cartes et actions
- Manipulation des états de jeu
-
fr.umontpellier.iut.trains.data
: Gestion des données- Structures de données du jeu
- Persistance des états
- Conception et implémentation d'une hiérarchie de classes complexe
- Utilisation avancée de l'héritage et du polymorphisme
- Encapsulation des données et comportements
- Pattern MVC pour la séparation des responsabilités
- Tests unitaires pour la validation du comportement
- Versioning avec Git
- Documentation du code
- Architecture modulaire et maintenable
- Implémentation d'algorithmes de graphes pour la gestion du réseau ferroviaire
- Gestion efficace des collections pour les cartes et les joueurs
- Optimisation des parcours et des recherches
- Développement d'une interface web interactive
- Communication client-serveur
- Gestion des événements utilisateur
- Rendu dynamique des états de jeu
- 39 types de cartes uniques
- Gestion de différents types : Train, Rail, Gare, Action, Victoire, Ferraille
- Implémentation des effets spéciaux pour chaque carte
- Système de tours de jeu
- Gestion des ressources et des actions
- Pile de cartes personnalisée pour chaque joueur
- Système de points et de victoire
- Placement dynamique des rails et des gares
- Validation des constructions
- Calcul des scores et des bonus
Visitez le site du jeu
- Cloner le dépôt
- Exécuter la classe
GameServer
dansfr.umontpellier.iut.gui
- Ouvrir
http://localhost:4242
dans un navigateur
Ce projet a été développé dans le cadre des SAÉ S2.01 et S2.02 du BUT Informatique à l'IUT Montpellier-Sète. Il démontre la maîtrise de compétences essentielles en développement logiciel, de la conception à l'implémentation, en passant par les tests et la documentation.
Ce projet illustre ma capacité à :
- Concevoir et implémenter une application complexe en Java
- Créer une architecture logicielle robuste et maintenable
- Développer des interfaces utilisateur interactives
- Gérer un projet de développement complet
- Travailler avec des algorithmes et structures de données complexes