🐕 PROJET DRESSAGE 🐈

Spécifications Techniques

Architecture du Système

Le projet utilise le pattern MVC (Modèle-Vue-Contrôleur) afin de séparer clairement la logique métier, la présentation et la gestion des interactions :

  • Modèle : gestion des états des animaux, des compétences et des objets de l’environnement
  • Vue : interface graphique 2D, affichage de la pièce, des animaux et jauges de compétences
  • Contrôleur : réception des ordres du maître, déclenchement des actions, calcul des scores et mise à jour de la vue

Actions Possibles

Actions Communes aux Deux Animaux

Actions de base communes aux animaux et leurs effets sur les compétences
Action Description Compétence Affectée
Se déplacer Déplacement libre dans la pièce selon la grille N×N -
Jouer avec un jouet Interaction avec une balle ou un jouet interactif Propreté +2
Dormir Repos dans le panier ou coussin selon l’animal Propreté +1
Faire ses besoins Au bon endroit (bac à litière / extérieur simulé) ou mauvais endroit Propreté ± selon réussite
Casser le vase Comportement accidentel grave dans la pièce Discipline -3
Fouiller la poubelle Comportement interdit Propreté -2, Discipline -1
Observer/Ignorer un ordre Réaction aux commandes du maître Obéissance ±

Actions Spécifiques

Actions spécifiques à chaque type d’animal
Animal Action Spécifique Impact
Chien Monter sur le canapé Discipline -2
Chat Monter sur la table Discipline -2

Système de Récompenses et Punitions

Types de Punitions et Récompenses

Types de récompenses et punitions appliquées aux animaux
Type Gravité Exemples Effet dans le jeu
Récompense Légère à modérée Bonne action, obéissance à un ordre Points positifs dans les jauges de compétences
Réprimande verbale Légère Monter sur canapé/table Message « Non ! », « Stop ! »
Privation / Pause Modérée Ignorer un ordre, fouiller la poubelle Immobilisation temporaire
Punition sévère Grave Casser le vase Impact important sur la Discipline

Formules de Calcul des Compétences

Propreté

ScoreProprete = Σ(PointsActionsCorrectes) - Σ(PointsActionsIncorrectes)

Seuil : 12 points → incrément de la jauge Propreté +1, reset du score

Discipline

ScoreDiscipline = Σ(PointsActionsCorrectes) - Σ(PointsActionsIncorrectes)

Seuil dynamique : SeuilDiscipline = 14 + (ScoreProprete / 2)

Quand le score dépasse le seuil → Jauge Discipline +1, reset du score

Obéissance

ScoreObeissance = Σ(PointsBonnesActions) - Σ(PointsMauvaisesActions)

Seuil : 16 points → Jauge Obéissance +1, reset du score

Technologies et Outils

Langages et Frameworks

  • Java 17 pour la logique métier
  • Swing pour l’interface graphique 2D

Outils de Développement

  • Git pour le versionning
  • IntelliJ IDEA comme IDE principal
  • draw.io pour la modélisation UML

Normes et Conventions

  • Javadoc pour documenter le code
  • Principes SOLID et Clean Code

Diagrammes UML

Diagramme de Classes

Diagramme UML du projet
Figure 1 : Diagramme de classes principal illustrant Animal, Competence, Environnement et Maître

Classes Principales

Classes principales et responsabilités dans le projet
Classe Responsabilité Attributs Clés
Animal (abstraite) Représente un animal générique position, competences, etat
Chien / Chat Implémentations spécifiques lieuRepos (panier/coussin)
Competence Gère une jauge de compétence score, niveau, seuil
Environnement Grille et objets interactifs grille[][], objets
Maitre Gère les interventions (ordres, punitions) ordres, punitions
Objet (abstraite) Éléments interactifs dans la pièce position, type, interdit