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.Events;
namespace CoreLibrary.Joueurs
{
@ -11,11 +12,22 @@ namespace CoreLibrary.Joueurs
/// Le nom du joueur.
/// </summary>
public string Nom { get; private init; }
/// <summary>
/// Le plateau du joueur.
/// </summary>
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>
/// Crée une nouvelle instance de joueur avec un nom et un plateau spécifié.
/// </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
AjouterJoueurs();
regles.CommencerLaPartie();
QuandDebutPartie();
// Boucle principale du jeu qui dure jusqu'à qu'une condition de fin soit déclenchée
while (!regles.EstTerminee())
{
Joueur joueurCourant = regles.JoueurCourant();
Plateau plateauCourant = joueurCourant.Plateau;
Joueur joueurCourant = regles.JoueurCourant();
Plateau plateauCourant = joueurCourant.Plateau;
QuandNouveauTour(joueurCourant, plateauCourant.Tour, plateauCourant.Grille(), plateauCourant.Indicateurs());
QuandNouveauTour(joueurCourant, plateauCourant.Tour, plateauCourant.Grille(), plateauCourant.Indicateurs());
}
Code code = regles.GenererCode();
public void Joueur(Object? sender, )
{
}
CreerCode(code);
private void Tour()
{
Code code = regles.GenererCode();
// Phase de saisie du code par le joueur jusqu'à que le code soit complet.
CreerCode(code);
plateauCourant.AjouterCode(code);
QuandNouveauCode(code);
plateauCourant.AjouterCode(code);
QuandNouveauCode(code);
if(regles.EstTerminee())
{
Terminee();
}
else
{
regles.PasserLaMain();
QuandPasserMain();
}
}
regles.Gagnants();
regles.Perdants();
private void Terminee()
{
QuandPartieTerminee(regles.Gagnants(), regles.Perdants());
}

Loading…
Cancel
Save