From 14557880436f264688bb7c67c4584409c641c45a Mon Sep 17 00:00:00 2001 From: Baptiste ARNAUD Date: Wed, 18 Dec 2019 14:23:19 +0100 Subject: [PATCH] Commentaire du code behind des vues --- Documentations/Rapport_DUPLAND.docx | Bin 217366 -> 218165 bytes OrderStacks/view/GamePreparationPage.xaml.cs | 56 ++++++++++++++++++- OrderStacks/view/HomePage.xaml.cs | 33 +++++++++-- OrderStacks/view/LastPage_Rules.xaml.cs | 11 ++++ OrderStacks/view/MultiPlayerMode.xaml.cs | 4 ++ OrderStacks/view/RulesGame.xaml.cs | 13 +++++ OrderStacks/view/SecondePageRules.xaml.cs | 10 +++- 7 files changed, 117 insertions(+), 10 deletions(-) diff --git a/Documentations/Rapport_DUPLAND.docx b/Documentations/Rapport_DUPLAND.docx index bcbbc4fedf5fb80104a45a451edac2470a952d99..4c45ee7b11c8692f7f7ebdc94affebdb9f6d70d8 100644 GIT binary patch delta 19036 zcmZ6yQ*=ISATMsm2|CD$wj)VJGBtL zr5wIK2nL2aO*_hi4G8GNG$|Se4p`tkRL;QyQ$;Q2XL^l+XMCL z@AESE`;-+|*6J`)dq)DH=K1e@tlztpGq!NQSsk{f!O_d}Oj_o>Krj-4ey`@eD4|*O zx~T3-yJ@$4Nh#k~CWN?o?R1wO@m1DsRj*^yc0_P+NYkjxJf#`levgo3dgQ(27ZWyR7QOL=H~K zy;7W>cLc3gs`ot}iVWGJsWJ$R}GH>ZniiD|6 z(*!dW?;v{4llgFfgZqqvGC)(RkW5UxWiA{sRl;fWrc^D(+~(A*4*;JDh2bgCtcxU7 z5u@++un;*kacs&+&Z8AXFmIWdvG)1*%~k_@y@KP0Z6{^p*pAKYFv=HDaHUhFJ(XkOGne9uXEcVqI(pcX z*+Jc|?ifWXzEJY8186&70CCy1zY;1)9Gq6Fa&Zbl-mzr1YNM;|Or2(8cTgknk!(hh{dejQ2c@F&BiK`Kj}D_dc+S8gsZsFdekad z{Fk)U-J$tq*Wg4{& zXWcs;T(?Lmffcl@laRYYXwXa99U@Ea?)Ntzm9Gy$&-f&vH}h*QO8Ixz!Ev~>m>Tb$P#x6f0%U9j%6fMCh6gzoL)U74odY{KHPi9Z|lc{}!}!b>Jl zxz7;Or(8Q3y6~0SRsYScl~s)D^=fv|E4K9o%)dD7&mte>t_jIwpVA>1Sf=ITwEPEl!gz z{3b*a^HxI)3U!Wuj?~Nd=-l0Y=KeoZrwVmQt9=pe&noFg=F-F5wqJwFzhCE%1{zU3 zuyGo|rzjYYGEkitQY%S}+ez@C(|k$k4y}BEU+wpwa7(v#570U2@DHDYqq!IHi~R>T z_x!A6T0DrdMVDgAba>+JEsJ!N{-Ve8g_S3$u8XFm9q5TCtc{lz(W?Ef+fxaVKD1VsI0H~SCxPnkgM$g z_VxO^0vdc+GMCB&W>+wRJyI#U?}oZ^H1UEY&()~CxqF15h+>Rz0Y6sy#qHm6I&x}m z1EjOYE$QlddTK;9RO%qs!9`1k(inJlx>+7R^we}?sD_~lYWxW+ExlPS@p=>dAJDO2 zmjCEjJk*Pmf1T*s@hSM`R)x#3X~JRwa114fhOnN~%N34)LCTdGuS^c8%P-WhGDv4u z_Bi8wozw!a9w}j1?I|D+u#XJ0GtB^bHJ$~C~oF9PxGTiGWF43BUSurA1UD)=(M zaOvL_OmvwAbUnill*O^{94f*#DWAE83-HU{&l@EHSZwptG&k&*tUD3gd0@PCSe8Mz zPt;#O397Z%!eE&Kv{zfQR;~l9*NYg`Oa`fEQ|{NswzPv?9q5zn?Oj#C^aYBgXaj}j z4ZSCB{b}u!@3Y<?H2nuH+^WND^7%bL-a@)c3A(n5TmHqLmB30+HONW?Rs3=u#s6E7@GulZdO=Al zn2j^$QUJ_mAF=Tq7Lc3STXKvBkIE=-1Tqp#u)mPgu8proW zVaaxI>p{dF@%H`2U=&LFk#Scox6azywxLlYsxrIXDt#LHqaw>hJr9g2Y#$_HG�f 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 delta 18248 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 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());