|
|
@ -41,10 +41,19 @@ namespace OrderStacks.viewmodel
|
|
|
|
OnPropertyChanged("Pseudo");
|
|
|
|
OnPropertyChanged("Pseudo");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* <param name="info">Nom de la propriété</param>
|
|
|
|
|
|
|
|
* Fonction permettant de notifier qu'une propriété a changé
|
|
|
|
|
|
|
|
*/
|
|
|
|
protected virtual void OnPropertyChanged(string info)
|
|
|
|
protected virtual void OnPropertyChanged(string info)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(info));
|
|
|
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(info));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Fonction permettant de notifier qu'un nouveau message utilisateur doit être affiché
|
|
|
|
|
|
|
|
*/
|
|
|
|
protected virtual void OnAlertChanged()
|
|
|
|
protected virtual void OnAlertChanged()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
AlertChanged?.Invoke(this, new EventArgs());
|
|
|
|
AlertChanged?.Invoke(this, new EventArgs());
|
|
|
@ -55,6 +64,13 @@ namespace OrderStacks.viewmodel
|
|
|
|
public List<Stack<CardVM>> listOrderedStacks = new List<Stack<CardVM>>();
|
|
|
|
public List<Stack<CardVM>> listOrderedStacks = new List<Stack<CardVM>>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* <param name="indexMode">Index du mode de jeu</param>
|
|
|
|
|
|
|
|
* <param name="nbCard">Nombre de carte maximal pour les piles</param>
|
|
|
|
|
|
|
|
* <param name="nbPile">Nombre de piles</param>
|
|
|
|
|
|
|
|
* <param name="playersNames">Pseudo(s) du/des joueur(s)</param>
|
|
|
|
|
|
|
|
* Constructeur
|
|
|
|
|
|
|
|
*/
|
|
|
|
public Main(List<string> playersNames, int nbPile, int nbCard, int indexMode)
|
|
|
|
public Main(List<string> playersNames, int nbPile, int nbCard, int indexMode)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
playersNames.ForEach(name => players.Add(new PlayerVM(new Player(name))));
|
|
|
|
playersNames.ForEach(name => players.Add(new PlayerVM(new Player(name))));
|
|
|
@ -131,11 +147,20 @@ namespace OrderStacks.viewmodel
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Fonction permettant de retourner une vue des piles ordonnées
|
|
|
|
|
|
|
|
* <returns>Vue des piles ordonnées</returns>
|
|
|
|
|
|
|
|
*/
|
|
|
|
public IReadOnlyList<Stack<CardVM>> getListOrderedStacks()
|
|
|
|
public IReadOnlyList<Stack<CardVM>> getListOrderedStacks()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return listOrderedStacks.AsReadOnly();
|
|
|
|
return listOrderedStacks.AsReadOnly();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* <param name="source">Source de l'événement</param>
|
|
|
|
|
|
|
|
* <param name="args">Argument(s) de l'événement</param>
|
|
|
|
|
|
|
|
* Evénement permettant de déclencher le changement de joueur.
|
|
|
|
|
|
|
|
*/
|
|
|
|
protected internal void OnPlayerChanged(object source, PlayerChangedEventArgs args)
|
|
|
|
protected internal void OnPlayerChanged(object source, PlayerChangedEventArgs args)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
CurrentHand.Clear();
|
|
|
|
CurrentHand.Clear();
|
|
|
@ -154,6 +179,11 @@ namespace OrderStacks.viewmodel
|
|
|
|
Pseudo = args.Pseudo;
|
|
|
|
Pseudo = args.Pseudo;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* <param name="args">Argument(s) de l'événement</param>
|
|
|
|
|
|
|
|
* <param name="source">Source de l'événement</param>
|
|
|
|
|
|
|
|
* Evénement permettant de déclencher la fin du jeu.
|
|
|
|
|
|
|
|
*/
|
|
|
|
public void OnEndGame(object source, EventArgs args)
|
|
|
|
public void OnEndGame(object source, EventArgs args)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Alert = gameManager.EndMessage;
|
|
|
|
Alert = gameManager.EndMessage;
|
|
|
@ -161,9 +191,10 @@ namespace OrderStacks.viewmodel
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* <param name="numStack">Numéro de la pile séléctionnée pour jouer</param>
|
|
|
|
*
|
|
|
|
* <param name="valueCard">Valeur de la carte joué</param>
|
|
|
|
* @return booléen de fin de jeu
|
|
|
|
* Fonction permettant de demander à jouer une carte puis de retourner si elle a été joué
|
|
|
|
|
|
|
|
* <returns>Booléen de carte joué</returns>
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public bool played(int numStack, decimal valueCard)
|
|
|
|
public bool played(int numStack, decimal valueCard)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -194,6 +225,10 @@ namespace OrderStacks.viewmodel
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Fonction permettant de changer de joueur.
|
|
|
|
|
|
|
|
* <returns>Booléen de fin de jeu</returns>
|
|
|
|
|
|
|
|
*/
|
|
|
|
public bool endTurn()
|
|
|
|
public bool endTurn()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
bool isEnd = gameManager.endTurn();
|
|
|
|
bool isEnd = gameManager.endTurn();
|
|
|
|