doc de regles et plateau
continuous-integration/drone/push Build is failing Details

master
Camille TURPIN-ETIENNE 11 months ago
parent f05bd665b2
commit a2ac548aa0

@ -5,13 +5,36 @@ using CoreLibrary.Joueurs;
namespace MauiSpark.Pages; namespace MauiSpark.Pages;
/// <summary>
/// Représente un tour de jeu, avec le plateau actuel, le joueur en cours, le numéro de tour et le code.
/// </summary>
internal class Tour internal class Tour
{ {
/// <summary>
/// Obtient ou définit le plateau de jeu pour ce tour.
/// </summary>
public IEnumerable<(IEnumerable<Jeton>, IEnumerable<Indicateur>)> Plateau { get; private init; } public IEnumerable<(IEnumerable<Jeton>, IEnumerable<Indicateur>)> Plateau { get; private init; }
/// <summary>
/// Obtient ou définit le nom du joueur pour ce tour.
/// </summary>
public string Joueur { get; private init; } public string Joueur { get; private init; }
/// <summary>
/// Obtient ou définit le numéro de tour.
/// </summary>
public string Numero { get; private init; } public string Numero { get; private init; }
/// <summary>
/// Obtient ou définit le code pour ce tour.
/// </summary>
public Code Code { get; private init; } public Code Code { get; private init; }
/// <summary>
/// Initialise un tour à partir des arguments de l'événement de nouveau tour de jeu.
/// </summary>
/// <param name="e">Les arguments de l'événement PartieNouveauTourEventArgs.</param>
public Tour(PartieNouveauTourEventArgs e) public Tour(PartieNouveauTourEventArgs e)
{ {
Numero = $"Tour {e.Tour}"; Numero = $"Tour {e.Tour}";
@ -37,11 +60,18 @@ internal class Tour
} }
} }
/// <summary>
/// Page affichant le plateau de jeu et permettant aux joueurs d'interagir avec celui-ci.
/// </summary>
public partial class PlateauPage : ContentPage public partial class PlateauPage : ContentPage
{ {
private Code? code; private Code? code;
private Plateau? plateau; private Plateau? plateau;
/// <summary>
/// Constructeur de la page du plateau de jeu.
/// Initialise les paramètres de navigation et les composants de la page.
/// </summary>
public PlateauPage() public PlateauPage()
{ {
NavigationPage.SetHasNavigationBar(this, false); NavigationPage.SetHasNavigationBar(this, false);
@ -49,6 +79,12 @@ public partial class PlateauPage : ContentPage
InitializeComponent(); InitializeComponent();
} }
/// <summary>
/// Méthode appelée lorsqu'un nouveau tour de jeu commence.
/// Affiche le nouveau tour de jeu sur le plateau.
/// </summary>
/// <param name="sender">La source de l'événement ; dans ce cas, la partie.</param>
/// <param name="e">Les arguments de l'événement PartieNouveauTourEventArgs.</param>
public async void QuandNouveauTour(object? sender, PartieNouveauTourEventArgs e) public async void QuandNouveauTour(object? sender, PartieNouveauTourEventArgs e)
{ {
if (Application.Current == null || Application.Current.MainPage == null) if (Application.Current == null || Application.Current.MainPage == null)
@ -73,6 +109,12 @@ public partial class PlateauPage : ContentPage
BindingContext = new Tour(e); BindingContext = new Tour(e);
} }
/// <summary>
/// Supprime le dernier jeton ajouté au code en cours.
/// Affiche une alerte si le code est vide.
/// </summary>
/// <param name="sender">La source de l'événement ; ici, le bouton de suppression de jeton.</param>
/// <param name="e">Les arguments de l'événement EventArgs.</param>
private void SupprimerDernierJeton(Object sender, EventArgs e) private void SupprimerDernierJeton(Object sender, EventArgs e)
{ {
try try
@ -86,6 +128,12 @@ public partial class PlateauPage : ContentPage
} }
} }
/// <summary>
/// Valide le code actuel et l'ajoute au plateau de jeu.
/// Affiche une alerte si le code est incomplet.
/// </summary>
/// <param name="sender">La source de l'événement ; ici, le bouton de validation de code.</param>
/// <param name="e">Les arguments de l'événement EventArgs.</param>
private void ValiderCode(Object sender, EventArgs e) private void ValiderCode(Object sender, EventArgs e)
{ {
try try
@ -99,6 +147,12 @@ public partial class PlateauPage : ContentPage
} }
} }
/// <summary>
/// Ouvre la page des règles du jeu.
/// </summary>
/// <param name="sender">La source de l'événement ; ici, le bouton de règles du jeu.</param>
/// <param name="e">Les arguments de l'événement EventArgs.</param>
private async void QuandReglesClique(object sender, EventArgs e) private async void QuandReglesClique(object sender, EventArgs e)
{ {
await Navigation.PushAsync(new ReglesPage()); await Navigation.PushAsync(new ReglesPage());

@ -1,11 +1,24 @@
namespace MauiSpark.Pages; namespace MauiSpark.Pages;
/// <summary>
/// Page affichant les règles du jeu.
/// </summary>
internal class Regles internal class Regles
{ {
/// <summary>
/// Obtient ou définit le titre des règles.
/// </summary>
public string Titre { get; init; } = ""; public string Titre { get; init; } = "";
/// <summary>
/// Obtient ou définit la description des règles.
/// </summary>
public string Description { get; init; } = ""; public string Description { get; init; } = "";
} }
/// <summary>
/// Page affichant les règles du jeu.
/// </summary>
public partial class ReglesPage : ContentPage public partial class ReglesPage : ContentPage
{ {
private static readonly Regles reglesClassiques = new Regles() private static readonly Regles reglesClassiques = new Regles()
@ -14,6 +27,10 @@ public partial class ReglesPage : ContentPage
Description = "Le but du jeu est de découvrir la combinaison. On génère aléatoirement deux combinaisons de 4 couleurs (six couleurs au total : jaune, bleu, rouge, vert, blanc et noir), une combinaison pour chaque joueur. Deux joueurs se battent pour trouver la combinaison en premier, il y a douze tours. Le premier joueur à trouver la combinaison à gagner, chaque joueur a le même nombre de coups à réaliser. Donc si le joueur un à trouvé la solution au bout de huit coups, le joueur deux doit finir son huitième coup. Si le joueur deux trouve la combinaison, les deux joueurs sont à égalité. Sinon, le joueur un gagne. Pour trouver la combinaison, les joueurs disposent de quatre indicateurs. Ces indicateurs sont quatre ronds qui représentent les quatre couleurs sélectionnées par le joueur. Un rond noir signifie quune couleur est à la bonne place, un rond blanc correspond à une mauvaise place et s'il ny a pas dindicateur aucune des couleurs nest présentent dans la combinaison." Description = "Le but du jeu est de découvrir la combinaison. On génère aléatoirement deux combinaisons de 4 couleurs (six couleurs au total : jaune, bleu, rouge, vert, blanc et noir), une combinaison pour chaque joueur. Deux joueurs se battent pour trouver la combinaison en premier, il y a douze tours. Le premier joueur à trouver la combinaison à gagner, chaque joueur a le même nombre de coups à réaliser. Donc si le joueur un à trouvé la solution au bout de huit coups, le joueur deux doit finir son huitième coup. Si le joueur deux trouve la combinaison, les deux joueurs sont à égalité. Sinon, le joueur un gagne. Pour trouver la combinaison, les joueurs disposent de quatre indicateurs. Ces indicateurs sont quatre ronds qui représentent les quatre couleurs sélectionnées par le joueur. Un rond noir signifie quune couleur est à la bonne place, un rond blanc correspond à une mauvaise place et s'il ny a pas dindicateur aucune des couleurs nest présentent dans la combinaison."
}; };
/// <summary>
/// Constructeur de la page affichant les règles du jeu.
/// Initialise les paramètres de navigation et les composants de la page.
/// </summary>
public ReglesPage() public ReglesPage()
{ {
NavigationPage.SetHasNavigationBar(this, false); NavigationPage.SetHasNavigationBar(this, false);

Loading…
Cancel
Save