doc Vue terminé
continuous-integration/drone/push Build is failing Details

master
Camille TURPIN-ETIENNE 11 months ago
parent 271686f806
commit d6801b9186

@ -2,13 +2,26 @@ using MauiSpark.Pages;
namespace MauiSpark.Vues;
/// <summary>
/// Vue représentant un bouton pour accéder à la page de classement.
/// </summary>
public partial class BoutonClassementVue : ContentView
{
public BoutonClassementVue()
/// <summary>
/// Constructeur de la vue du bouton de classement.
/// Initialise les composants de la vue.
/// </summary>
public BoutonClassementVue()
{
InitializeComponent();
}
/// <summary>
/// Méthode déclenchée lorsque le bouton de classement est cliqué.
/// Navigue vers la page de classement.
/// </summary>
/// <param name="sender">L'objet qui appelle l'événement ; ici le bouton de classement.</param>
/// <param name="e">L'instance de l'événement EventArgs créée par le système.</param>
private void QuandClassementClique(Object? sender, EventArgs e)
{
Navigation.PushAsync(new ClassementPage());

@ -2,13 +2,26 @@ using MauiSpark.Pages;
namespace MauiSpark.Vues;
/// <summary>
/// Vue représentant un bouton pour accéder à la page des règles.
/// </summary>
public partial class BoutonReglesVue : ContentView
{
/// <summary>
/// Constructeur de la vue du bouton des règles.
/// Initialise les composants de la vue.
/// </summary>
public BoutonReglesVue()
{
InitializeComponent();
}
/// <summary>
/// Méthode déclenchée lorsque le bouton des règles est cliqué.
/// Navigue vers la page des règles.
/// </summary>
/// <param name="sender">L'objet qui appelle l'événement ; ici le bouton des règles.</param>
/// <param name="e">L'instance de l'événement EventArgs créée par le système.</param>
private void QuandReglesClique(Object? sender, EventArgs e)
{
Navigation.PushAsync(new ReglesPage());

@ -1,15 +1,28 @@
namespace MauiSpark.Vues;
/// <summary>
/// Vue représentant une image de résultat.
/// </summary>
public partial class ImageResultatVue : ContentView
{
/// <summary>
/// Propriété attachée à l'image affichée dans la vue.
/// </summary>
public static readonly BindableProperty ImageProperty = BindableProperty.Create(nameof(Image), typeof(ImageSource), typeof(ImageResultatVue), null);
/// <summary>
/// Obtient ou définit l'image affichée dans la vue.
/// </summary>
public ImageSource Image
{
get => (ImageSource)GetValue(ImageProperty);
set => SetValue(ImageProperty, value);
}
/// <summary>
/// Constructeur de la vue de l'image de résultat.
/// Initialise les composants de la vue et lie le contexte de liaison à cette instance.
/// </summary>
public ImageResultatVue()
{
InitializeComponent();

@ -4,22 +4,42 @@ using System.Globalization;
namespace MauiSpark.Vues;
/// <summary>
/// Vue représentant un indicateur coloré.
/// </summary>
public partial class IndicateurVue : ContentView
{
/// <summary>
/// Propriété attachée à la couleur de l'indicateur.
/// </summary>
public static readonly BindableProperty CouleurProperty = BindableProperty.Create(nameof(Couleur), typeof(Color), typeof(IndicateurVue), default(Color));
public Color Couleur
/// <summary>
/// Obtient ou définit la couleur de l'indicateur.
/// </summary>
public Color Couleur
{
get => (Color)GetValue(CouleurProperty);
set => SetValue(CouleurProperty, value);
}
public IndicateurVue()
/// <summary>
/// Constructeur de la vue de l'indicateur.
/// Initialise les composants de la vue et lie le contexte de liaison à cette instance.
/// </summary>
public IndicateurVue()
{
InitializeComponent();
BindingContext = this;
}
/// <summary>
/// Méthode déclenchée lorsque la taille de l'indicateur est modifiée.
/// Réajuste la taille du carré représentant l'indicateur pour qu'il soit toujours carré.
/// </summary>
/// <param name="sender">L'objet qui a déclenché l'événement ; ici, le carré représentant l'indicateur.</param>
/// <param name="e">Les arguments de l'événement.</param>
private void QuandTailleChangee(object sender, EventArgs e)
{
double taille = Math.Min(Grid.Width, Grid.Height) / 2;

@ -5,42 +5,82 @@ using System.Globalization;
namespace MauiSpark.Vues;
/// <summary>
/// Vue représentant un jeton coloré.
/// </summary>
public partial class JetonVue : ContentView
{
/// <summary>
/// Propriété attachée à la couleur du jeton.
/// </summary>
public static readonly BindableProperty CouleurProperty = BindableProperty.Create(nameof(Couleur), typeof(Color), typeof(JetonVue), default(Color));
/// <summary>
/// Propriété attachée au code associé au jeton.
/// </summary>
public static readonly BindableProperty CodeProperty = BindableProperty.Create(nameof(Code), typeof(Code), typeof(JetonVue), null);
/// <summary>
/// Propriété attachée indiquant si le jeton est associé à un joueur.
/// </summary>
public static readonly BindableProperty EstJoueurProperty = BindableProperty.Create(nameof(EstJoueur), typeof(bool), typeof(JetonVue), true);
/// <summary>
/// Obtient ou définit la couleur du jeton.
/// </summary>
public Color Couleur
{
get => (Color)GetValue(CouleurProperty);
set => SetValue(CouleurProperty, value);
}
/// <summary>
/// Obtient ou définit le code associé au jeton.
/// </summary>
public Code? Code
{
get => (Code?)GetValue(CodeProperty);
set => SetValue(CodeProperty, value);
}
/// <summary>
/// Obtient ou définit une valeur indiquant si le jeton est associé à un joueur.
/// </summary>
public bool EstJoueur
{
get => (bool)GetValue(EstJoueurProperty);
set => SetValue(EstJoueurProperty, value);
}
/// <summary>
/// Constructeur de la vue du jeton.
/// Initialise les composants de la vue et lie le contexte de liaison à cette instance.
/// </summary>
public JetonVue()
{
InitializeComponent();
BindingContext = this;
}
/// <summary>
/// Méthode déclenchée lorsque la taille du jeton est modifiée.
/// Réajuste la taille du cercle représentant le jeton pour qu'il soit toujours circulaire.
/// </summary>
/// <param name="sender">L'objet qui a déclenché l'événement ; ici, le cercle représentant le jeton.</param>
/// <param name="e">Les arguments de l'événement, s'il y en a.</param>
private void QuandTailleChangee(object sender, EventArgs e)
{
double taille = Math.Min(Grid.Width, Grid.Height) / 2;
Cercle.WidthRequest = Cercle.HeightRequest = taille;
}
/// <summary>
/// Méthode déclenchée lorsque le jeton est pressé.
/// Ajoute un jeton à un code si celui-ci est associé à un joueur.
/// Affiche une alerte si le code est déjà complet.
/// </summary>
/// <param name="sender">L'objet qui a déclenché l'événement ; ici, le cercle représentant le jeton.</param>
/// <param name="e">Les arguments de l'événement, s'il y en a.</param>
private void JetonPresse(object sender, EventArgs e)
{
if (Cercle == null || !sender.Equals(Cercle) || Code == null || Application.Current == null || Application.Current.MainPage == null || !EstJoueur)

@ -4,21 +4,38 @@ using MauiSpark.Pages;
namespace MauiSpark.Vues;
/// <summary>
/// Vue permettant de sélectionner un mode de jeu.
/// </summary>
public partial class ModeVue : ContentView
{
/// <summary>
/// Propriété de dépendance pour les règles du jeu.
/// </summary>
public static readonly BindableProperty ReglesProperty = BindableProperty.Create(nameof(Regles), typeof(IRegles), typeof(ModeVue), null);
/// <summary>
/// Les règles du jeu sélectionnées.
/// </summary>
public IRegles Regles
{
get => (IRegles)GetValue(ReglesProperty);
set => SetValue(ReglesProperty, value);
}
/// <summary>
/// Constructeur par défaut de la vue du mode de jeu.
/// </summary>
public ModeVue()
{
InitializeComponent();
}
/// <summary>
/// Méthode déclenchée lorsque le bouton de sélection des règles est pressé.
/// </summary>
/// <param name="sender">L'objet qui a déclenché l'événement ; ici, le bouton de sélection des règles.</param>
/// <param name="e">Les arguments de l'événement EventArgs.</param>
private void QuandReglesPresse(Object sender, EventArgs e)
{
Partie partie = MauiProgram.Manageur.NouvellePartie(Regles);

@ -4,33 +4,57 @@ using System.ComponentModel;
namespace MauiSpark.Vues;
/// <summary>
/// Vue affichant les détails d'une partie en cours.
/// </summary>
public partial class PartieCommenceeVue : ContentView, INotifyPropertyChanged
{
/// <summary>
/// Propriété de dépendance pour la partie en cours.
/// </summary>
public static readonly BindableProperty PartieProperty = BindableProperty.Create(nameof(Partie), typeof(Partie), typeof(PartieCommenceeVue), null, propertyChanged: QuandPartieChangee);
/// <summary>
/// La partie en cours.
/// </summary>
public Partie Partie
{
get => (Partie)GetValue(PartieProperty);
set => SetValue(PartieProperty, value);
}
/// <summary>
/// Le nom des règles de la partie.
/// </summary>
public string NomRegles
{
get => Partie != null ? Partie.Regles.Nom : "";
}
/// <summary>
/// Le tour actuel de la partie.
/// </summary>
public string TourActuel
{
get => $"Tour : {(Partie != null ? Partie.Tour : 0)} / {(Partie != null ? Partie.Regles.NbTour : 0)}";
}
/// <summary>
/// Les joueurs participant à la partie.
/// </summary>
public string[] Joueurs
{
get => Partie != null ? Partie.Joueurs.ToArray() : [];
}
/// <summary>
/// Le nombre de joueurs participant à la partie.
/// </summary>
public string NombreJoueurs => $"Joueurs : {Joueurs.Length} / {(Partie != null ? Partie.Regles.NbJoueurs : 0)}";
/// <summary>
/// Méthode déclenchée lorsqu'une propriété de la partie change.
/// </summary>
private static void QuandPartieChangee(BindableObject bindable, object ancienneValeur, object nouvelleValeur)
{
((PartieCommenceeVue)bindable).OnPropertyChanged(nameof(NomRegles));
@ -39,6 +63,9 @@ public partial class PartieCommenceeVue : ContentView, INotifyPropertyChanged
((PartieCommenceeVue)bindable).OnPropertyChanged(nameof(NombreJoueurs));
}
/// <summary>
/// Méthode déclenchée lorsqu'un utilisateur appuie sur la vue de la partie.
/// </summary>
private void PartiePressee(object? sender, EventArgs e)
{
if (Partie == null)
@ -53,6 +80,9 @@ public partial class PartieCommenceeVue : ContentView, INotifyPropertyChanged
partie.Jouer();
}
/// <summary>
/// Constructeur par défaut de la vue de la partie en cours.
/// </summary>
public PartieCommenceeVue()
{
InitializeComponent();

@ -1,22 +1,41 @@
namespace MauiSpark.Vues;
/// <summary>
/// Vue pour afficher le titre et la description des règles.
/// </summary>
public partial class ReglesVue : ContentView
{
/// <summary>
/// Identifie la propriété de dépendance pour le titre des règles.
/// </summary>
public static readonly BindableProperty TitreProperty = BindableProperty.Create(nameof(Titre), typeof(string), typeof(ReglesVue), default(string));
/// <summary>
/// Identifie la propriété de dépendance pour la description des règles.
/// </summary>
public static readonly BindableProperty DescriptionProperty = BindableProperty.Create(nameof(Description), typeof(string), typeof(ReglesVue), default(string));
/// <summary>
/// Obtient ou définit le titre des règles.
/// </summary>
public string Titre
{
get => (string)GetValue(TitreProperty);
set => SetValue(TitreProperty, value);
}
/// <summary>
/// Obtient ou définit la description des règles.
/// </summary>
public string Description
{
get => (string)GetValue(DescriptionProperty);
set => SetValue(DescriptionProperty, value);
}
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="ReglesVue"/>.
/// </summary>
public ReglesVue()
{
InitializeComponent();

@ -1,15 +1,27 @@
namespace MauiSpark.Vues;
/// <summary>
/// Vue pour afficher un titre.
/// </summary>
public partial class TitreVue : ContentView
{
/// <summary>
/// Identifie la propriété de dépendance pour le texte du titre.
/// </summary>
public static readonly BindableProperty TexteProperty = BindableProperty.Create(nameof(Texte), typeof(string), typeof(TitreVue), default(string));
/// <summary>
/// Obtient ou définit le texte du titre.
/// </summary>
public string Texte
{
get => (string)GetValue(TexteProperty);
set => SetValue(TexteProperty, value);
}
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="TitreVue"/>.
/// </summary>
public TitreVue()
{
InitializeComponent();

Loading…
Cancel
Save