Files
DecouverteDev/Correction/ReadMe.md
2025-12-13 17:06:40 +01:00

2.1 KiB

Exemple final de ce à quoi on pourrait arriver

Cette solution est un aperçu des bonnes pratiques mises en place.

MiniJeuxFinal/
│
├── MiniJeuxFinal.csproj              # Fichier projet C# .NET 9
│
├── Program.cs                        # Point d'entrée de l'application
│
├── GameFactory/
│   └── PierrePapierCiseauxGameFactory.cs # Création du jeu
│
├── Games/
│   ├── IGame.cs                      # Interface générale d'un jeu
│   ├── IAction.cs                    # Interface générale d'une action
│   ├── IPlayer.cs                    # Interface générale d'un joueur
│   │
│   ├── PierrePapierCiseaux/          # Implémentation spécifique du jeu PPC
│   │   ├── PierrePapierCiseauxGame.cs      # Classe principale du jeu PPC
│   │   │
│   │   ├── Actions/                  # Actions spécifiques au PPC
│   │   │   ├── IActionPpc.cs         # Interface spécialisée (hérite de IAction)
│   │   │   ├── StoneAction.cs        # Pierre
│   │   │   ├── PaperAction.cs        # Papier
│   │   │   └── ScissorsAction.cs     # Ciseaux
│   │   │
│   │   ├── Factories/                # Factories pour créer les actions PPC
│   │   │   ├── IActionPpcFactory.cs  # Interface des factories PPC
│   │   │   ├── InputActionFactory.cs # Factory pour l'entrée utilisateur
│   │   │   └── RandomActionFactory.cs# Factory aléatoire (IA)
│   │   │
│   │   └── Players/
│   │       └── PlayerPpc.cs          # Joueur spécialisé pour le PPC
│   │
│   └── Trash/                        # Anciennes versions ou brouillons
│       ├── Pendu.cs
│       └── Ppc.cs
│
├── Ui/
│   └── GameRunnerConsole.cs          # Orchestrateur UI Console (affichage)
│
├── Wrappers/                         # Abstractions des dépendances externes
│   ├── IConsole.cs                   # Interface pour la console
│   └── ConsoleService.cs             # Implémentation réelle de IConsole