diff --git a/Sources/ConsoleApp/Evenements.cs b/Sources/ConsoleApp/Evenements.cs
index 33f9151..94dbbce 100644
--- a/Sources/ConsoleApp/Evenements.cs
+++ b/Sources/ConsoleApp/Evenements.cs
@@ -55,6 +55,7 @@ namespace ConsoleApp
public static Jeton? DemanderJeton(Object? sender, DemanderJetonEventArgs e)
{
Console.TreatControlCAsInput = true;
+ Console.CursorVisible = false;
bool aChoisi = false;
int indice = 0;
@@ -80,21 +81,27 @@ namespace ConsoleApp
break;
case ConsoleKey.Escape:
- return null;
+ if (e.Indice != 0)
+ {
+ aChoisi = true;
+ indice = -2;
+ }
+ break;
default:
break;
}
- if (indice < 0)
+ if (indice == -1)
indice = couleurs.Length - 1;
- else if (indice >= couleurs.Length)
+ else if (indice == couleurs.Length)
indice = 0;
}
Console.TreatControlCAsInput = false;
+ Console.CursorVisible = true;
- return new Jeton(couleurs[indice]);
+ return indice != -2 ? new Jeton(couleurs[indice]) : null;
}
///
diff --git a/Sources/CoreLibrary/Events/DemanderJetonEventArgs.cs b/Sources/CoreLibrary/Events/DemanderJetonEventArgs.cs
index 41c2059..30426e5 100644
--- a/Sources/CoreLibrary/Events/DemanderJetonEventArgs.cs
+++ b/Sources/CoreLibrary/Events/DemanderJetonEventArgs.cs
@@ -6,5 +6,11 @@ namespace CoreLibrary.Events
///
public class DemanderJetonEventArgs : EventArgs
{
+ public int Indice { get; private set; }
+
+ public DemanderJetonEventArgs(int indice)
+ {
+ Indice = indice;
+ }
}
}
diff --git a/Sources/CoreLibrary/Partie.cs b/Sources/CoreLibrary/Partie.cs
index 722a137..dc7d5f7 100644
--- a/Sources/CoreLibrary/Partie.cs
+++ b/Sources/CoreLibrary/Partie.cs
@@ -83,7 +83,7 @@ namespace CoreLibrary
/// Méthode pour déclencher l'événement de demande d'ajout d'un jeton.
///
/// Le jeton demandé
- private Jeton? QuandDemanderJeton() => DemanderJeton?.Invoke(this, new DemanderJetonEventArgs());
+ private Jeton? QuandDemanderJeton(int indice) => DemanderJeton?.Invoke(this, new DemanderJetonEventArgs(indice));
///
/// Méthode pour déclencher l'événement d'ajout d'un joueur.
@@ -197,7 +197,7 @@ namespace CoreLibrary
{
while (!code.EstComplet())
{
- Jeton? jeton = QuandDemanderJeton();
+ Jeton? jeton = QuandDemanderJeton(code.NbJetons);
if (DemanderJeton == null)
{