diff --git a/Documentations/Rapport_DUPLAND.docx b/Documentations/Rapport_DUPLAND.docx index bcbbc4f..4c45ee7 100644 Binary files a/Documentations/Rapport_DUPLAND.docx and b/Documentations/Rapport_DUPLAND.docx differ diff --git a/OrderStacks/view/GamePreparationPage.xaml.cs b/OrderStacks/view/GamePreparationPage.xaml.cs index 748f889..beed9e0 100644 --- a/OrderStacks/view/GamePreparationPage.xaml.cs +++ b/OrderStacks/view/GamePreparationPage.xaml.cs @@ -11,6 +11,10 @@ namespace OrderStacks.view public List listGameMode = new List { AppResources.TypeValueWhole, AppResources.TypeValueRelative, AppResources.TypeValueTenthFract, AppResources.TypeValueHundredthFract, AppResources.TypeValueThousandthFract, AppResources.TypeValuefractionated, AppResources.TypeValueTenth, AppResources.TypeValueHundredth }; + /** + * Constructeur de la page * + * Charge les derniers paramètres de l'utilisateur sur le nom, le nombre de joueur, le nombre de pile, le valeur en jeu ainsi que le nombre de cartes * + * Bind les valeurs des slider sur les labels pour rendre un retour des valeurs choisis à l'utilisateur **/ public GamePreparationPage() { InitializeComponent(); @@ -28,15 +32,17 @@ namespace OrderStacks.view SelectMode.ItemsSource = listGameMode; LoadParameterGameModeValueGamePreparation(); - //SelectNbStack.ItemsSource = listNbStack; + LoadParameterNbStacksGamePreparation(); - //SelectNbCard.ItemsSource = listNbCard; + LoadParameterNbCardsGamePreparation(); } - + /** + * Permet de retourner sur la page d'accueil grâce à l'image de la flèche et sauvegarde les choix de l'utilisateur lorsqu'il reviendra sur la page GamePreparationPage * + **/ private async void Back(object sender, EventArgs e) { IOGamePreparation.SaveParamaterGamePreparationNbPlayers((int)PlayerSelecter.Value); @@ -50,6 +56,9 @@ namespace OrderStacks.view await Navigation.PopToRootAsync(); } + /** + * Permet de retourner sur la page d'accueil grâce au bouton back sur android et sauvegarde les choix de l'utilisateur lorsqu'il reviendra sur la page GamePreparationPage * + **/ protected override bool OnBackButtonPressed() { IOGamePreparation.SaveParamaterGamePreparationNbPlayers((int)PlayerSelecter.Value); @@ -63,6 +72,13 @@ namespace OrderStacks.view return base.OnBackButtonPressed(); } + + /** + * Permet d'aller sur la page de jeu et de commencer une partie avec les valeurs choisis * + * Sauavegarde les valeurs choisis lors du retour sur la page GamePreparationPage * + * + * Return un message si le pseudo définit par l'utilisateur est incorrecte * + **/ private async void Play(object sender, EventArgs args) { List playersNames = new List(); @@ -86,6 +102,11 @@ namespace OrderStacks.view } private bool canModif = true; + + /** + * Charge le nom du dernier joueur si le nombre de joueur choisi est égale à 1 * + * Si le nombre de joueur choisi est supérieur à 1, alors ouvre un nombre d'entrées égale au à la valeur du slider du nombre de joueur * + **/ private void ChangedPseudo(object sender, EventArgs args) { if (canModif) @@ -131,6 +152,10 @@ namespace OrderStacks.view canModif = true; } } + /** + * Permet de choisir un nombre de pile à travers le slider * + * Si la valeur du slider est égale à 5 ou 7 alors le slider prendra la valeur soit de 4 soit de 6 * + **/ private void ChangedStacks(object sender, EventArgs args) { @@ -155,6 +180,10 @@ namespace OrderStacks.view } } + /** + * Permet de choisir un nombre de carte à travers le slider * + * Si la valeur du slider est égale à 50 ou 70 ou 90 alors le slider prendra la valeur soit de 40 soit de 60 soit de 80 * + **/ private void ChangedNbCards(object sender, EventArgs args) { if (canModif) @@ -181,28 +210,49 @@ namespace OrderStacks.view } } + /** + * Méthode qui charge les paramètres de l'utilisateur sur le nombre de joueurs qui etait définit la dernière fois * + * Appel de la méthode LoadParameterGamePreparationNbPlayers de la classe IOGamePreparation * + **/ public void LoadParameterNbPlayerGamePreparation() { int nbJoueurs = IOGamePreparation.LoadParameterGamePreparationNbPlayers(); PlayerSelecter.Value = nbJoueurs; } + /** + * Méthode qui charge les paramètres de l'utilisateur sur le mode de jeu qui etait définit la dernière fois * + * Appel de la méthode LoadParameterGamePreparationGameModeValue de la classe IOGamePreparation * + **/ public void LoadParameterGameModeValueGamePreparation() { int gameModeValue = IOGamePreparation.LoadParameterGamePreparationGameModeValue(); SelectMode.SelectedIndex = gameModeValue; } + /** + * Méthode qui charge les paramètres de l'utilisateur sur le nombre de piles qui etait définit la dernière fois * + * Appel de la méthode LoadParamaterGamePreparationNbStacks de la classe IOGamePreparation * + **/ public void LoadParameterNbStacksGamePreparation() { int nbStackSer = IOGamePreparation.LoadParamaterGamePreparationNbStacks(); SelectNbStack.Value = nbStackSer; } + /** + * Méthode qui charge les paramètres de l'utilisateur sur le nombre de cartes qui etait définit la dernière fois * + * Appel de la méthode LoadParameterGamePreparationNbCards de la classe IOGamePreparation * + **/ public void LoadParameterNbCardsGamePreparation() { int nbCards = IOGamePreparation.LoadParameterGamePreparationNbCards(); SelectNbCard.Value = nbCards; } + + /** + * Méthode qui charge les paramètres de l'utilisateur sur le dernier pseudo saisie définit la dernière fois * + * Appel de la méthode LoadNameFromGamePrepararion de la classe IOGamePreparation * + **/ public void LoadParameterName() { string pseudo = IOGamePreparation.LoadNameFromGamePrepararion(); diff --git a/OrderStacks/view/HomePage.xaml.cs b/OrderStacks/view/HomePage.xaml.cs index ab32336..7373cba 100644 --- a/OrderStacks/view/HomePage.xaml.cs +++ b/OrderStacks/view/HomePage.xaml.cs @@ -8,7 +8,9 @@ namespace OrderStacks.view { public partial class HomePage : ContentPage { - + /** + * Constructeur de la page d'accueil de l'application * + **/ public HomePage() { @@ -17,24 +19,36 @@ namespace OrderStacks.view NavigationPage.SetHasBackButton(this, false); LoadParameterOptionOnHomepage(); - } + } + + /** + * Bouton lancer une partie qui ouvre la page GamePreparationPage * + **/ private async void OpenGame(object sender, EventArgs args) { await Navigation.PushAsync(new GamePreparationPage()); } - + /** + * Bouton multijoueur qui permettait d'ouvrir un menu multijoueur * + * ps : ce bouton à était retirer car le mode n'a pas était implémenter mais le code behind accédant à la page est toujours existant * + **/ private void OpenMultiPlayerMode(object sender, EventArgs args) { DependencyService.Get().ShortAlert("Mode en cours de développement"); //await Navigation.PushAsync(new MultiPlayerMode()); - } - + } + /** + * Bouton règles qui ouvre la page RulesGame * + **/ private async void Rules_Clicked(object sender, EventArgs args) { await Navigation.PushAsync(new RulesGame()); } - + /** + * Chargement de dernier choisit par l'utilisateur * + * Charge le thème à chaque fois que l'utilisateur lance l'application, à travers la méthode de chargement de la classe IOOptions * + **/ public void LoadParameterOptionOnHomepage() { bool b = IOOptions.LoadOptionsParameter(); @@ -53,6 +67,10 @@ namespace OrderStacks.view } } + /** + * Permet de changer le thème de l'application en cliquant sur le soleil ou la lune * + * Sauvegarde le thème à chaque fois que l'utilisateur change de thème à travers la méthode de sauuvegarde de la classe IOOptions + **/ private void Theme_Clicked(object sender, EventArgs e) { bool b; @@ -93,6 +111,9 @@ namespace OrderStacks.view } + /** + * Ouvre un message affichant les détails de l'application en cliquant sur l'image du point d'interrogation * + **/ private async void ImageButton_Clicked(object sender, EventArgs e) { await DisplayAlert(AppResources.StrInfo,AppResources.StrAbout, AppResources.StrCloseWind ); diff --git a/OrderStacks/view/LastPage_Rules.xaml.cs b/OrderStacks/view/LastPage_Rules.xaml.cs index a666caf..ea5daf6 100644 --- a/OrderStacks/view/LastPage_Rules.xaml.cs +++ b/OrderStacks/view/LastPage_Rules.xaml.cs @@ -8,16 +8,27 @@ namespace OrderStacks.view [XamlCompilation(XamlCompilationOptions.Compile)] public partial class LastPage_Rules : ContentPage { + + /** + * Constructeur de la page * + **/ public LastPage_Rules() { InitializeComponent(); NavigationPage.SetHasNavigationBar(this, false); } + /** + * Retourne sur la page d'accueil lorsque l'on clique sur l'image de la maison * + **/ private async void BackToHome(object sender, EventArgs args) { await Navigation.PushAsync(new HomePage()); } + + /** + * Ouvre la page GamePreparationPage lorsque l'on clique sur le bouton Jouer * + **/ private async void ClickToPlay(object sender, EventArgs args) { await Navigation.PushAsync(new GamePreparationPage()); diff --git a/OrderStacks/view/MultiPlayerMode.xaml.cs b/OrderStacks/view/MultiPlayerMode.xaml.cs index 1d88d0e..14a40c9 100644 --- a/OrderStacks/view/MultiPlayerMode.xaml.cs +++ b/OrderStacks/view/MultiPlayerMode.xaml.cs @@ -12,8 +12,12 @@ namespace OrderStacks.view NavigationPage.SetHasNavigationBar(this, false); } + /** + * Evenement qui permettait d'heberger une partie, mais n'a jamais été implémenté * + **/ private void Button_ClickedCo(object sender, EventArgs args) { + } } } diff --git a/OrderStacks/view/RulesGame.xaml.cs b/OrderStacks/view/RulesGame.xaml.cs index 7c7bc29..86a91b8 100644 --- a/OrderStacks/view/RulesGame.xaml.cs +++ b/OrderStacks/view/RulesGame.xaml.cs @@ -8,21 +8,34 @@ namespace OrderStacks.view [XamlCompilation(XamlCompilationOptions.Compile)] public partial class RulesGame : ContentPage { + /** + * Constructeur de la page RulesGames page sur la quelle on arrive quand on clique sur Regles sur la page d'accueil * + **/ public RulesGame() { InitializeComponent(); NavigationPage.SetHasNavigationBar(this, false); } + /** + * Bouton maison qui permet de retourner sur la page d'accueil * + **/ private async void BackToHome(object sender, EventArgs args) { await Navigation.PushAsync(new HomePage()); } + + /** + * Bouton jouer qui permet de se rendre sur la page GamePreparationPage * + **/ private async void ClickToPlay(object sender, EventArgs args) { await Navigation.PushAsync(new GamePreparationPage()); } + /** + * Bouton suivant qui permet de se rendre sur la seconde page des règles * + **/ private async void nextPage_Rules(object sender, EventArgs args) { await Navigation.PushAsync(new SecondePageRules()); diff --git a/OrderStacks/view/SecondePageRules.xaml.cs b/OrderStacks/view/SecondePageRules.xaml.cs index 8c42a3a..29801ac 100644 --- a/OrderStacks/view/SecondePageRules.xaml.cs +++ b/OrderStacks/view/SecondePageRules.xaml.cs @@ -14,15 +14,23 @@ namespace OrderStacks.view NavigationPage.SetHasNavigationBar(this, false); } + /** + * Bouton maison qui permet de se rendre sur la page d'accueil * + **/ private async void BackToHome(object sender, EventArgs args) { await Navigation.PushAsync(new HomePage()); } + /** + * Bouton jouer qui permet de se rendre sur la page GamePreparationPage * + **/ private async void ClickToPlay(object sender, EventArgs args) { await Navigation.PushAsync(new GamePreparationPage()); } - + /** + * Bouton suivant qui permet de se rendre sur la troisième page des règles * + **/ private async void nextPage_Rules(object sender, EventArgs args) { await Navigation.PushAsync(new LastPage_Rules());