diff --git a/Sources/CoreLibrary/Regles/ReglesClassiques.cs b/Sources/CoreLibrary/Regles/ReglesClassiques.cs
index d4bd89f..a41d5c3 100644
--- a/Sources/CoreLibrary/Regles/ReglesClassiques.cs
+++ b/Sources/CoreLibrary/Regles/ReglesClassiques.cs
@@ -13,7 +13,7 @@
///
/// Le nombre maximum de tour.
///
- public int TourMaximum { get => 12; }
+ public int TourMaximum { get => 2; }
///
/// La taille maximale d'un code.
diff --git a/Sources/MauiSpark/MauiSpark.csproj b/Sources/MauiSpark/MauiSpark.csproj
index acb4bd6..62af975 100644
--- a/Sources/MauiSpark/MauiSpark.csproj
+++ b/Sources/MauiSpark/MauiSpark.csproj
@@ -73,9 +73,6 @@
MSBuild:Compile
-
- MSBuild:Compile
-
MSBuild:Compile
diff --git a/Sources/MauiSpark/Pages/Defaite.xaml b/Sources/MauiSpark/Pages/Defaite.xaml
deleted file mode 100644
index 831c89a..0000000
--- a/Sources/MauiSpark/Pages/Defaite.xaml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Sources/MauiSpark/Pages/Defaite.xaml.cs b/Sources/MauiSpark/Pages/Defaite.xaml.cs
deleted file mode 100644
index cee0d7b..0000000
--- a/Sources/MauiSpark/Pages/Defaite.xaml.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using CoreLibrary;
-using CoreLibrary.Events;
-
-namespace MauiSpark.Pages;
-
-public partial class Defaite : ContentPage
-{
- public Defaite(Partie p, PartieTermineeEventArgs e)
- {
- InitializeComponent();
-
- BindingContext = $"Aucun des deux joueurs, {e.Perdants.First().Nom} et {e.Perdants.Last().Nom} n'a trouvé le code secret";
- }
-}
\ No newline at end of file
diff --git a/Sources/MauiSpark/Pages/Egalite.xaml b/Sources/MauiSpark/Pages/Egalite.xaml
deleted file mode 100644
index cedbcdb..0000000
--- a/Sources/MauiSpark/Pages/Egalite.xaml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Sources/MauiSpark/Pages/Egalite.xaml.cs b/Sources/MauiSpark/Pages/Egalite.xaml.cs
deleted file mode 100644
index 010abb3..0000000
--- a/Sources/MauiSpark/Pages/Egalite.xaml.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace MauiSpark.Pages;
-
-public partial class Egalite : ContentPage
-{
- public Egalite()
- {
- InitializeComponent();
- }
-}
\ No newline at end of file
diff --git a/Sources/MauiSpark/Pages/Mode.xaml.cs b/Sources/MauiSpark/Pages/Mode.xaml.cs
index f6fd149..3fe9731 100644
--- a/Sources/MauiSpark/Pages/Mode.xaml.cs
+++ b/Sources/MauiSpark/Pages/Mode.xaml.cs
@@ -1,4 +1,5 @@
using CoreLibrary;
+using CoreLibrary.Events;
using CoreLibrary.Regles;
namespace MauiSpark.Pages;
@@ -18,6 +19,7 @@ public partial class Mode : ContentPage
partie.DemanderNom += new ConnexionPage().QuandDemanderNom;
partie.NouveauTour += new Plateau().QuandNouveauTour;
+ partie.PartieTerminee += new Victoire().QuandPartieTerminee;
partie.Jouer();
}
diff --git a/Sources/MauiSpark/Pages/Plateau.xaml.cs b/Sources/MauiSpark/Pages/Plateau.xaml.cs
index dbf9a8b..ba3d275 100644
--- a/Sources/MauiSpark/Pages/Plateau.xaml.cs
+++ b/Sources/MauiSpark/Pages/Plateau.xaml.cs
@@ -40,26 +40,27 @@ public partial class Plateau : ContentPage
public Plateau()
{
NavigationPage.SetHasNavigationBar(this, false);
- NavigationPage.SetHasBackButton(this, true);
+ NavigationPage.SetBackButtonTitle(this, "Retour");
InitializeComponent();
}
public async void QuandNouveauTour(object? sender, NouveauTourEventArgs e)
{
- if (Application.Current != null && Application.Current.MainPage != null && ((NavigationPage)Application.Current.MainPage).CurrentPage != this)
- {
- IEnumerable pages = Application.Current.MainPage.Navigation.NavigationStack.Reverse();
+ if (Application.Current == null || Application.Current.MainPage == null)
+ return;
- foreach(Page page in pages)
- {
- if (page is Accueil)
- break;
+ if (((NavigationPage)Application.Current!.MainPage).CurrentPage != this)
+ await Application.Current.MainPage.Navigation.PushAsync(this);
- Application.Current.MainPage.Navigation.RemovePage(page);
- }
+ IEnumerable pages = Application.Current.MainPage.Navigation.NavigationStack.Reverse().Skip(1);
- await Application.Current.MainPage.Navigation.PushAsync(this);
+ foreach (Page page in pages)
+ {
+ if (page is Accueil)
+ break;
+
+ Application.Current.MainPage.Navigation.RemovePage(page);
}
code = e.Code;
diff --git a/Sources/MauiSpark/Pages/Victoire.xaml b/Sources/MauiSpark/Pages/Victoire.xaml
index 11d5aa2..350e36b 100644
--- a/Sources/MauiSpark/Pages/Victoire.xaml
+++ b/Sources/MauiSpark/Pages/Victoire.xaml
@@ -8,13 +8,13 @@
-
+
-
+
-
+
\ No newline at end of file
diff --git a/Sources/MauiSpark/Pages/Victoire.xaml.cs b/Sources/MauiSpark/Pages/Victoire.xaml.cs
index c964b14..3f432cd 100644
--- a/Sources/MauiSpark/Pages/Victoire.xaml.cs
+++ b/Sources/MauiSpark/Pages/Victoire.xaml.cs
@@ -1,14 +1,45 @@
-using CoreLibrary;
-using CoreLibrary.Events;
-
-namespace MauiSpark.Pages;
-
-public partial class Victoire : ContentPage
-{
- public Victoire(Partie partie, PartieTermineeEventArgs e)
- {
- InitializeComponent();
-
- BindingContext = $"Le joueur {e.Gagnants.First().Nom} a gagné";
- }
+using CoreLibrary;
+using CoreLibrary.Events;
+
+namespace MauiSpark.Pages;
+
+public partial class Victoire : ContentPage
+{
+ public Victoire()
+ {
+ NavigationPage.SetHasNavigationBar(this, false);
+
+ InitializeComponent();
+ }
+
+ public async void QuandPartieTerminee(object? sender, PartieTermineeEventArgs e)
+ {
+ if (Application.Current == null || Application.Current.MainPage == null)
+ return;
+
+ if (((NavigationPage)Application.Current.MainPage).CurrentPage != this)
+ await Application.Current.MainPage.Navigation.PushAsync(this);
+
+ IEnumerable pages = Application.Current.MainPage.Navigation.NavigationStack.Reverse().Skip(1);
+
+ foreach (Page page in pages)
+ {
+ if (page is Accueil)
+ break;
+
+ Application.Current.MainPage.Navigation.RemovePage(page);
+ }
+
+ if(e.Gagnants.Count() == 1)
+ BindingContext = ("Victoire", $"Le joueur {e.Gagnants.First().Nom} a gagné");
+ else if(e.Gagnants.Count() > 1)
+ BindingContext = ("Egalité", $"Les joueurs {string.Join(' ', e.Gagnants)} ont gagné");
+ else
+ BindingContext = ("Défaite", "Personne n'a trouvé le code...");
+ }
+
+ public async void QuandMenuPresse(object sender, EventArgs e)
+ {
+ await Navigation.PopAsync();
+ }
}
\ No newline at end of file