Ajout des directive
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
|
|
||||||
|
namespace MiniJeux.Games.Trash;
|
||||||
|
|
||||||
public class Pendu
|
public class Pendu
|
||||||
{
|
{
|
||||||
public Pendu()
|
public Pendu()
|
||||||
@@ -34,7 +36,7 @@ public class Pendu
|
|||||||
|
|
||||||
// Demander une lettre
|
// Demander une lettre
|
||||||
Console.Write("Propose une lettre : ");
|
Console.Write("Propose une lettre : ");
|
||||||
var infoLettre = Console.ReadLine();//.KeyChar;
|
var infoLettre = Console.ReadLine();
|
||||||
|
|
||||||
var lettre = infoLettre[0];
|
var lettre = infoLettre[0];
|
||||||
|
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
namespace MiniJeux.Games.Trash;
|
||||||
|
|
||||||
public class Ppc
|
public class Ppc
|
||||||
{
|
{
|
||||||
private static readonly Dictionary<string, int> Scores = new Dictionary<string, int>()
|
private static readonly Dictionary<string, int> Scores = new Dictionary<string, int>()
|
||||||
@@ -1,70 +1,6 @@
|
|||||||
using System;
|
class Program()
|
||||||
using System.Runtime.CompilerServices;
|
|
||||||
|
|
||||||
class Program()
|
|
||||||
{
|
{
|
||||||
private static readonly Dictionary<string, int> Scores = new Dictionary<string, int>()
|
|
||||||
{
|
|
||||||
{"joueur", 0},
|
|
||||||
{"ordi", 0}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void Main()
|
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
21
MiniJeux/Tests/MiniJeux.Test/ReadMe.md
Normal file
21
MiniJeux/Tests/MiniJeux.Test/ReadMe.md
Normal 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 !)
|
||||||
Reference in New Issue
Block a user