From f05a0f997d039931f6d2b9ae2ea1ea41802370b8 Mon Sep 17 00:00:00 2001 From: "nicolas.barbosa" Date: Fri, 31 May 2024 23:08:04 +0200 Subject: [PATCH] =?UTF-8?q?Ne=20fonctionne=20pas=20j'arrete=20pour=20ce=20?= =?UTF-8?q?soir=20-=20Am=C3=A9lioration=20design?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/ConsoleApp1/ConsoleApp1.csproj | 10 + Sources/ConsoleApp1/Program.cs | 25 ++ Sources/CoreLibrary/Partie.cs | 3 +- .../Persistance/PersistanceJSON.cs | 23 +- Sources/CoreLibrary/Regles/IRegles.cs | 2 + .../CoreLibrary/Regles/ReglesClassiques.cs | 2 +- Sources/MauiSpark/App.xaml.cs | 6 +- Sources/MauiSpark/MauiSpark.csproj | 30 ++- Sources/MauiSpark/Pages/Accueil.xaml | 45 ---- Sources/MauiSpark/Pages/Accueil.xaml.cs | 27 -- Sources/MauiSpark/Pages/AccueilPage.xaml | 30 +++ Sources/MauiSpark/Pages/AccueilPage.xaml.cs | 17 ++ Sources/MauiSpark/Pages/ConnexionPage.xaml | 14 +- Sources/MauiSpark/Pages/Mode.xaml | 10 - Sources/MauiSpark/Pages/ModePage.xaml | 20 ++ .../Pages/{Mode.xaml.cs => ModePage.xaml.cs} | 58 +++-- .../Pages/{Plateau.xaml => PlateauPage.xaml} | 81 ++---- .../{Plateau.xaml.cs => PlateauPage.xaml.cs} | 232 +++++++++--------- Sources/MauiSpark/Pages/Victoire.xaml.cs | 2 +- .../MauiSpark/Resources/Styles/Colors.xaml | 29 +-- .../MauiSpark/Resources/Styles/Styles.xaml | 68 ++--- .../MauiSpark/Vues/BoutonClassementVue.xaml | 10 + .../Vues/BoutonClassementVue.xaml.cs | 16 ++ Sources/MauiSpark/Vues/BoutonReglesVue.xaml | 10 + .../MauiSpark/Vues/BoutonReglesVue.xaml.cs | 16 ++ Sources/MauiSpark/Vues/JetonVue.xaml | 16 ++ Sources/MauiSpark/Vues/JetonVue.xaml.cs | 47 ++++ Sources/MauiSpark/Vues/TitreVue.xaml | 13 + Sources/MauiSpark/Vues/TitreVue.xaml.cs | 18 ++ Sources/mastermind.sln | 6 + 30 files changed, 500 insertions(+), 386 deletions(-) create mode 100644 Sources/ConsoleApp1/ConsoleApp1.csproj create mode 100644 Sources/ConsoleApp1/Program.cs delete mode 100644 Sources/MauiSpark/Pages/Accueil.xaml delete mode 100644 Sources/MauiSpark/Pages/Accueil.xaml.cs create mode 100644 Sources/MauiSpark/Pages/AccueilPage.xaml create mode 100644 Sources/MauiSpark/Pages/AccueilPage.xaml.cs delete mode 100644 Sources/MauiSpark/Pages/Mode.xaml create mode 100644 Sources/MauiSpark/Pages/ModePage.xaml rename Sources/MauiSpark/Pages/{Mode.xaml.cs => ModePage.xaml.cs} (53%) rename Sources/MauiSpark/Pages/{Plateau.xaml => PlateauPage.xaml} (54%) rename Sources/MauiSpark/Pages/{Plateau.xaml.cs => PlateauPage.xaml.cs} (93%) create mode 100644 Sources/MauiSpark/Vues/BoutonClassementVue.xaml create mode 100644 Sources/MauiSpark/Vues/BoutonClassementVue.xaml.cs create mode 100644 Sources/MauiSpark/Vues/BoutonReglesVue.xaml create mode 100644 Sources/MauiSpark/Vues/BoutonReglesVue.xaml.cs create mode 100644 Sources/MauiSpark/Vues/JetonVue.xaml create mode 100644 Sources/MauiSpark/Vues/JetonVue.xaml.cs create mode 100644 Sources/MauiSpark/Vues/TitreVue.xaml create mode 100644 Sources/MauiSpark/Vues/TitreVue.xaml.cs diff --git a/Sources/ConsoleApp1/ConsoleApp1.csproj b/Sources/ConsoleApp1/ConsoleApp1.csproj new file mode 100644 index 0000000..2150e37 --- /dev/null +++ b/Sources/ConsoleApp1/ConsoleApp1.csproj @@ -0,0 +1,10 @@ + + + + Exe + net8.0 + enable + enable + + + diff --git a/Sources/ConsoleApp1/Program.cs b/Sources/ConsoleApp1/Program.cs new file mode 100644 index 0000000..460e52d --- /dev/null +++ b/Sources/ConsoleApp1/Program.cs @@ -0,0 +1,25 @@ +using System; +using System.IO; + +class Program +{ + static void Main() + { + // Récupérer le chemin du dossier AppData de l'utilisateur + string appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); + + // Définir le chemin du dossier "mastermind" dans AppData + string mastermindPath = Path.Combine(appDataPath, "Mastermind"); + + // Vérifier si le dossier existe, et s'il n'existe pas, le créer + if (!Directory.Exists(mastermindPath)) + { + Directory.CreateDirectory(mastermindPath); + Console.WriteLine("Le dossier 'mastermind' a été créé dans AppData."); + } + else + { + Console.WriteLine("Le dossier 'mastermind' existe déjà dans AppData."); + } + } +} diff --git a/Sources/CoreLibrary/Partie.cs b/Sources/CoreLibrary/Partie.cs index 5e648b1..5cc4a2a 100644 --- a/Sources/CoreLibrary/Partie.cs +++ b/Sources/CoreLibrary/Partie.cs @@ -11,9 +11,10 @@ namespace CoreLibrary /// Représente une partie de jeu. /// [DataContract] + [KnownType(typeof(ReglesClassiques))] public class Partie : IEstPersistant { - + [DataMember] public IRegles Regles { get; private set; } [DataMember] diff --git a/Sources/CoreLibrary/Persistance/PersistanceJSON.cs b/Sources/CoreLibrary/Persistance/PersistanceJSON.cs index 7d8ea93..f41a8c3 100644 --- a/Sources/CoreLibrary/Persistance/PersistanceJSON.cs +++ b/Sources/CoreLibrary/Persistance/PersistanceJSON.cs @@ -9,18 +9,14 @@ namespace CoreLibrary.Persistance public T[] Charger() where T : IEstPersistant { - string dossierAvant = Directory.GetCurrentDirectory(); + string fichier = $"{typeof(T).Name.ToLower()}s.json"; - string dossier = Path.Combine(dossierAvant, "../../../.."); - string fichier = $"{typeof(T).Name}.json"; + Directory.SetCurrentDirectory(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "../../../../../../..")); - - bool c = Directory.Exists(dossier); - - if (!c) + if (!Directory.Exists("Fichiers")) return []; - Directory.SetCurrentDirectory(dossier); + Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "Fichiers")); if (!File.Exists(fichier)) return []; @@ -38,13 +34,14 @@ namespace CoreLibrary.Persistance public void Enregistrer(T[] elements) where T : IEstPersistant { - string dossier = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Mastermind"); - string fichier = $"{typeof(T).Name}.json"; + string fichier = $"{typeof(T).Name.ToLower()}s.json"; + + Directory.SetCurrentDirectory(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "../../../../../../..")); - if (!Directory.Exists(dossier)) - Directory.CreateDirectory(dossier); + if (!Directory.Exists("Fichiers")) + Directory.CreateDirectory("Fichiers"); - Directory.SetCurrentDirectory(dossier); + Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "Fichiers")); DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(T[])); diff --git a/Sources/CoreLibrary/Regles/IRegles.cs b/Sources/CoreLibrary/Regles/IRegles.cs index 54776bf..aea134c 100644 --- a/Sources/CoreLibrary/Regles/IRegles.cs +++ b/Sources/CoreLibrary/Regles/IRegles.cs @@ -1,4 +1,6 @@  +using System.Runtime.Serialization; + namespace CoreLibrary.Regles { /// diff --git a/Sources/CoreLibrary/Regles/ReglesClassiques.cs b/Sources/CoreLibrary/Regles/ReglesClassiques.cs index 8da48f6..ca65851 100644 --- a/Sources/CoreLibrary/Regles/ReglesClassiques.cs +++ b/Sources/CoreLibrary/Regles/ReglesClassiques.cs @@ -18,7 +18,7 @@ namespace CoreLibrary.Regles /// Le nombre maximum de tour. /// [DataMember] - public int TourMaximum { get => 2; } + public int TourMaximum { get => 12; } /// /// La taille maximale d'un code. diff --git a/Sources/MauiSpark/App.xaml.cs b/Sources/MauiSpark/App.xaml.cs index f0e41c0..d4ef4dc 100644 --- a/Sources/MauiSpark/App.xaml.cs +++ b/Sources/MauiSpark/App.xaml.cs @@ -1,6 +1,4 @@ -using CoreLibrary.Manager; -using CoreLibrary.Persistance; -using MauiSpark.Pages; +using MauiSpark.Pages; namespace MauiSpark { @@ -10,7 +8,7 @@ namespace MauiSpark { InitializeComponent(); - MainPage = new NavigationPage(new Accueil()); + MainPage = new NavigationPage(new AccueilPage()); MainPage.Title = "Mastermind"; } } diff --git a/Sources/MauiSpark/MauiSpark.csproj b/Sources/MauiSpark/MauiSpark.csproj index 62af975..2047be7 100644 --- a/Sources/MauiSpark/MauiSpark.csproj +++ b/Sources/MauiSpark/MauiSpark.csproj @@ -67,7 +67,19 @@ - + + AccueilPage.xaml + + + ModePage.xaml + + + PlateauPage.xaml + + + + + MSBuild:Compile @@ -76,10 +88,10 @@ MSBuild:Compile - + MSBuild:Compile - + MSBuild:Compile @@ -94,6 +106,18 @@ MSBuild:Compile + + MSBuild:Compile + + + MSBuild:Compile + + + MSBuild:Compile + + + MSBuild:Compile + diff --git a/Sources/MauiSpark/Pages/Accueil.xaml b/Sources/MauiSpark/Pages/Accueil.xaml deleted file mode 100644 index e8b196a..0000000 --- a/Sources/MauiSpark/Pages/Accueil.xaml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - -