Ajout des directive

This commit is contained in:
Grizouille
2025-12-08 17:13:43 +01:00
parent 346c2f8971
commit a3ffe48a84
6 changed files with 27 additions and 66 deletions

View File

@@ -1,5 +1,7 @@
using System;
namespace MiniJeux.Games.Trash;
public class Pendu
{
public Pendu()
@@ -34,7 +36,7 @@ public class Pendu
// Demander une lettre
Console.Write("Propose une lettre : ");
var infoLettre = Console.ReadLine();//.KeyChar;
var infoLettre = Console.ReadLine();
var lettre = infoLettre[0];

View File

@@ -1,3 +1,5 @@
namespace MiniJeux.Games.Trash;
public class Ppc
{
private static readonly Dictionary<string, int> Scores = new Dictionary<string, int>()

View File

@@ -1,70 +1,6 @@
using System;
using System.Runtime.CompilerServices;
class Program()
class Program()
{
private static readonly Dictionary<string, int> Scores = new Dictionary<string, int>()
{
{"joueur", 0},
{"ordi", 0}
};
public static void Main()
{
// new Ppc();
new Pendu();
// Console.WriteLine("Bienvenue dans ");
// Console.WriteLine("✊✋✌️ Pierre-Papier-Ciseaux !");
// Console.WriteLine("Premier à 3 points gagne !");
// PierrePapierCiseaux();
// // Résultat final
// Console.WriteLine($"\n{(Scores["joueur"] == 3 ? "🎉 TU AS GAGNÉ !" : "😢 L\'ordinateur a gagné...")}");
// Console.WriteLine($"Score final : {Scores["joueur"]} - {Scores["ordi"]}");
}
private static void PierrePapierCiseaux()
{
var random = new Random();
var choix_possibles = new[] { "pierre", "papier", "ciseaux" };
while (Scores["joueur"] < 3 && Scores["ordi"] < 3)
{
Console.WriteLine($"\nScore : Toi {Scores["joueur"]} - {Scores["ordi"]} Ordinateur");
Console.WriteLine("Choisis (pierre, papier, ciseaux) : ");
var joueur = Console.ReadLine();
if (!choix_possibles.Contains(joueur?.ToLower()))
{
Console.WriteLine("❌ Choix invalide !");
continue;
}
var ordi = random.GetItems(choix_possibles, 1).FirstOrDefault();
Console.WriteLine($"🤖 L'ordinateur a choisi : {ordi}");
// Déterminer le gagnant
if (joueur == ordi)
{
Console.WriteLine("✨ Égalité !");
}
else if ((joueur == "pierre" && ordi == "ciseaux") ||
(joueur == "papier" && ordi == "pierre") ||
(joueur == "ciseaux" && ordi == "papier"))
{
Console.WriteLine("✅ Tu gagnes cette manche !");
Scores["joueur"] += 1;
}
else
{
Console.WriteLine("❌ L'ordinateur gagne cette manche !");
Scores["ordi"] += 1;
}
}
}
}

View File

@@ -0,0 +1,21 @@
# But du jeu
## 1. Utiliser le projet MiniJeuBourin pour:
* Créer une interface (IActionPpc) commune pour les `actions` (pierre, papier, ciseaux) (Name, bool ToWin(other))
* Implémenter les classes `actions` en utilisant TDD.
* Créer une factory pour le choix auto de l'ordinateur
* Créer une autre factory pour faciliter le choix de l'utilisateur grace à des nombres (1:pierre,2:papier...)
* Implémenter le Program pour mettre en place le jeu.
## 2. Les Mocks dans les tests
* Utiliser FakeItEasy pour simuler l'entrée/sortie dans la console
* Modifier les tests existant
## 3. Ajouter un 2eme jeu *Le Pendu*
* Ajouter une interface commune pour tous les jeux (IGame (Name, Start, Stop))
* Ajouter une classe `PierrePapierCiseaux` à la solution en TDD en implémentant `IGame`.
* Ajouter le jeu *LePendu* à la solution en TDD en implémentant `IGame`.
* Création d'un menu pour séléctionner le jeu (doit etre auto !)