Skip to content

MathieuJaunet/Cascadia-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 

Repository files navigation

Cascadia - Java 23 Implementation

Une adaptation numérique fidèle du célèbre jeu de société Cascadia. Ce projet, réalisé en Java 23, simule l'écosystème du Nord-Ouest Pacifique où les joueurs s'affrontent pour créer l'habitat le plus harmonieux et peupler leur territoire d'animaux sauvages.


Aperçu du Projet

Le projet implémente les mécaniques centrales de Cascadia :

  • Draft de tuiles et jetons : Système de sélection de paires (Tuile Habitat + Jeton Animal).
  • Placement tactique : Gestion des coordonnées sur un plateau extensible avec vérification de validité.
  • Équilibre de l'écosystème : Gestion du "surpeuplement" (Overcrowd) des jetons animaux avec remélange automatique.
  • Variantes de score : Implémentation de plusieurs modes de calcul (Standard et Familial) via un moteur de scoring dynamique.

Stack Technique

  • Langage : Java 23 (utilisant les dernières fonctionnalités de la JVM).
  • Moteur Graphique : Zen 6, une bibliothèque légère pour le rendu 2D et la gestion des événements.
  • Architecture : * Pattern Strategy : Pour le calcul des scores selon la variante choisie.
    • Modèle Objet : Séparation stricte entre la logique de jeu (Game, Board), les entités (Tile, Animal) et l'affichage.
  • I/O : Chargement de configurations de jeu via fichiers externes (.txt) et gestion des entrées utilisateur.

Points Techniques Clés

  • Gestion des Collections : Utilisation intensive des List et ArrayList pour gérer les pioches et les mains des joueurs.
  • Algorithmique de Scoring : Développement d'un système capable d'analyser les voisinages de tuiles et les chaînes d'animaux pour calculer les points selon des règles complexes.
  • Documentation : Projet entièrement documenté via Javadoc pour une maintenance et une compréhension aisées du code.
  • Robustesse : Gestion des erreurs de saisie et des exceptions I/O pour garantir la stabilité de la partie.

🚀 Installation et Lancement

  1. Prérequis : JDK 23 installé.
  2. Clonage :
    git clone [https://github.com/ton-pseudo/cascadia-java.git](https://github.com/ton-pseudo/cascadia-java.git)
    cd cascadia-java

3 . Compilation & Exécution : (Assurez-vous que la bibliothèque Zen 6 est bien présente dans le classpath)

javac -d bin --module-path lib src/fr/uge/cascadia/*.java
java -cp "bin:lib/*" fr.uge.cascadia.Main

Développeurs : Mathieu Jaunet & Lisa Haddadou

About

Implémentation Java 23 du jeu Cascadia. Architecture orientée objet (Pattern Strategy), moteur graphique Zen 6 et calcul de scores complexes pour écosystèmes.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors