début nouvelle version partie

master
Pauline PRADY 11 months ago
parent 853d486439
commit ceb53fb08a

@ -0,0 +1,17 @@
using CoreLibrary.Core;
namespace CoreLibrary.Events
{
/// <summary>
/// Classe contenant les arguments passées en paramètre lors de l'événement NouveauTour.
/// </summary>
public class JouerCodeEventArgs : EventArgs
{
public Code Code { get; private set; }
public JouerCodeEventArgs(Code code)
{
Code = code;
}
}
}

@ -0,0 +1,12 @@
namespace CoreLibrary.Events
{
public class NouveauJoueurEventArgs : EventArgs
{
public string Nom { get; private set; }
public NouveauJoueurEventArgs(string nom)
{
Nom = nom;
}
}
}

@ -1,4 +1,5 @@
using CoreLibrary.Core; using CoreLibrary.Core;
using CoreLibrary.Events;
namespace CoreLibrary.Joueurs namespace CoreLibrary.Joueurs
{ {
@ -11,11 +12,22 @@ namespace CoreLibrary.Joueurs
/// Le nom du joueur. /// Le nom du joueur.
/// </summary> /// </summary>
public string Nom { get; private init; } public string Nom { get; private init; }
/// <summary> /// <summary>
/// Le plateau du joueur. /// Le plateau du joueur.
/// </summary> /// </summary>
public Plateau Plateau { get; private init; } public Plateau Plateau { get; private init; }
/// <summary>
/// Evénement appelé pour jouer un code.
/// </summary>
public event EventHandler<JouerCodeEventArgs>? JouerCode;
/// <summary>
/// Appel de l'événement JouerCode.
/// </summary>
private void QuandJouerCode(Code code) => JouerCode?.Invoke(this, new JouerCodeEventArgs(code));
/// <summary> /// <summary>
/// Crée une nouvelle instance de joueur avec un nom et un plateau spécifié. /// Crée une nouvelle instance de joueur avec un nom et un plateau spécifié.
/// </summary> /// </summary>

@ -0,0 +1,21 @@
namespace CoreLibrary.Joueurs
{
public class JoueurBuilder
{
private string nom;
public JoueurBuilder Nom(string nom)
{
this.nom = nom;
return this;
}
public Joueur Build()
{
return new Joueur()
}
}
}

@ -153,35 +153,44 @@ namespace CoreLibrary
{ {
/// Ajout des joueurs jusqu'à atteindre le nombre maximum de joueurs défini par les règles /// Ajout des joueurs jusqu'à atteindre le nombre maximum de joueurs défini par les règles
AjouterJoueurs(); AjouterJoueurs();
regles.CommencerLaPartie(); regles.CommencerLaPartie();
QuandDebutPartie(); QuandDebutPartie();
// Boucle principale du jeu qui dure jusqu'à qu'une condition de fin soit déclenchée
while (!regles.EstTerminee())
{
Joueur joueurCourant = regles.JoueurCourant(); Joueur joueurCourant = regles.JoueurCourant();
Plateau plateauCourant = joueurCourant.Plateau; Plateau plateauCourant = joueurCourant.Plateau;
QuandNouveauTour(joueurCourant, plateauCourant.Tour, plateauCourant.Grille(), plateauCourant.Indicateurs()); QuandNouveauTour(joueurCourant, plateauCourant.Tour, plateauCourant.Grille(), plateauCourant.Indicateurs());
}
public void Joueur(Object? sender, )
{
}
private void Tour()
{
Code code = regles.GenererCode(); Code code = regles.GenererCode();
CreerCode(code); CreerCode(code);
// Phase de saisie du code par le joueur jusqu'à que le code soit complet.
plateauCourant.AjouterCode(code); plateauCourant.AjouterCode(code);
QuandNouveauCode(code); QuandNouveauCode(code);
if(regles.EstTerminee())
{
Terminee();
}
else
{
regles.PasserLaMain(); regles.PasserLaMain();
QuandPasserMain(); QuandPasserMain();
} }
}
regles.Gagnants(); private void Terminee()
regles.Perdants(); {
QuandPartieTerminee(regles.Gagnants(), regles.Perdants()); QuandPartieTerminee(regles.Gagnants(), regles.Perdants());
} }

Loading…
Cancel
Save