diff --git a/OrderStacks/model/Card/Card.cs b/OrderStacks/model/Card/Card.cs
index 05a0af2..4a0cda2 100644
--- a/OrderStacks/model/Card/Card.cs
+++ b/OrderStacks/model/Card/Card.cs
@@ -1,12 +1,16 @@
-using System;
-using System.ComponentModel;
-
-namespace OrderStacks.model.card
+namespace OrderStacks.model.card
{
public abstract class Card
{
+ /**
+ * Valeur de la carte
+ */
public decimal Value { get; set; }
+ /**
+ * Valeur de la carte
+ * Constructeur
+ */
public Card(decimal value)
{
Value = value;
@@ -17,7 +21,14 @@ namespace OrderStacks.model.card
return Value.ToString();
}
+ /**
+ * Fonction permettant de retourner le nom du type de carte
+ */
public abstract string getName();
+
+ /**
+ * Fonction permettant d'activer les effets rapides
+ */
public abstract bool rapidEffect();
}
diff --git a/OrderStacks/model/Card/cardType/ClassicCard.cs b/OrderStacks/model/Card/cardType/ClassicCard.cs
index f8c5374..70cc645 100644
--- a/OrderStacks/model/Card/cardType/ClassicCard.cs
+++ b/OrderStacks/model/Card/cardType/ClassicCard.cs
@@ -2,9 +2,15 @@
{
public class ClassicCard : Card
{
-
+ /**
+ * Type de carte
+ */
public static readonly string CARD_CLASSIC = "ClassicCard";
+ /**
+ * Valeur de la carte
+ * Constructeur
+ */
public ClassicCard(decimal value)
: base(value)
{
diff --git a/OrderStacks/model/Card/cardType/FractionCard.cs b/OrderStacks/model/Card/cardType/FractionCard.cs
index 4fa2fb1..39a0740 100644
--- a/OrderStacks/model/Card/cardType/FractionCard.cs
+++ b/OrderStacks/model/Card/cardType/FractionCard.cs
@@ -5,9 +5,20 @@ namespace OrderStacks.model.card.cardType
public class FractionCard : Card
{
+ /**
+ * Type de carte
+ */
public static readonly string CARD_FRACTION = "FractionCard";
+
+ /**
+ * Fraction que représente la carte
+ */
public Fraction Fraction { get; set; }
+ /**
+ * Fraction qui est représenté sur la carte
+ * Constructeur
+ */
public FractionCard(Fraction value) : base(value.Result())
{
Fraction = value;
@@ -18,7 +29,7 @@ namespace OrderStacks.model.card.cardType
return false;
}
- override public String getName()
+ override public string getName()
{
return CARD_FRACTION;
}
diff --git a/OrderStacks/model/Card/rapidCard/EndGameCard.cs b/OrderStacks/model/Card/rapidCard/EndGameCard.cs
index 6fa6409..838b254 100644
--- a/OrderStacks/model/Card/rapidCard/EndGameCard.cs
+++ b/OrderStacks/model/Card/rapidCard/EndGameCard.cs
@@ -4,9 +4,15 @@ namespace OrderStacks.model.card.rapidCard
{
public class EndGameCard : RapidCard
{
-
+ /**
+ * Type de carte
+ */
public static readonly string CARD_ENDGAME = "EndGameCard";
+ /**
+ * Valeur de la carte
+ * Constructeur
+ */
public EndGameCard(int value)
:base(value)
{
diff --git a/OrderStacks/model/Card/rapidCard/RapidCard.cs b/OrderStacks/model/Card/rapidCard/RapidCard.cs
index 48feea6..aa412ad 100644
--- a/OrderStacks/model/Card/rapidCard/RapidCard.cs
+++ b/OrderStacks/model/Card/rapidCard/RapidCard.cs
@@ -4,6 +4,10 @@ namespace OrderStacks.model.card.rapidCard
{
public abstract class RapidCard : Card
{
+ /**
+ * Valeur de la carte
+ * Constructeur
+ */
public RapidCard(int value) : base(value)
{
}
diff --git a/OrderStacks/model/Card/rapidCard/ThreeCard.cs b/OrderStacks/model/Card/rapidCard/ThreeCard.cs
index 1720609..b9cec86 100644
--- a/OrderStacks/model/Card/rapidCard/ThreeCard.cs
+++ b/OrderStacks/model/Card/rapidCard/ThreeCard.cs
@@ -4,9 +4,15 @@ namespace OrderStacks.model.card.rapidCard
{
public class ThreeCard : RapidCard
{
-
+ /**
+ * Type de carte
+ */
public static readonly string CARD_THREE = "ThreeCard";
+ /**
+ * Valeur de la carte
+ * Constructeur
+ */
public ThreeCard(int value)
:base(value)
{
diff --git a/OrderStacks/model/Fraction.cs b/OrderStacks/model/Fraction.cs
index 1c398b5..ee5c6bb 100644
--- a/OrderStacks/model/Fraction.cs
+++ b/OrderStacks/model/Fraction.cs
@@ -8,6 +8,13 @@ namespace OrderStacks.model
public int Denominateur;
public int SizeMax;
+ /**
+ * Numérateur de la fraction
+ * Dénominateur de la fraction
+ * Nombre maximal de chiffre présent dans la fraction
+ *
+ * Constructeur
+ */
public Fraction(int numerateur, int denominateur, int sizeMax)
{
Numerateur = numerateur;
@@ -15,6 +22,11 @@ namespace OrderStacks.model
SizeMax = sizeMax;
}
+ /**
+ * Fraction testé
+ *
+ * Fonction de permettant de regarder si deux fractions sont multiple sans posséder le même chiffre ou un numérateur/dénominateur égale à 1
+ */
public bool isMultiple(Fraction fraction)
{
bool numIsZero = false;
@@ -81,6 +93,13 @@ namespace OrderStacks.model
return false;
}
+ /**
+ * Fraction testé
+ *
+ * Fonction permettant de savoir si deux fractions paossèdent des diviseurs commums
+ *
+ * Booléen de possession de diviseur commun
+ */
public bool testDiviseurCommun(Fraction fraction)
{
if (PGCD(Numerateur, fraction.Numerateur) == Numerateur || PGCD(Denominateur, fraction.Denominateur) == Denominateur)
@@ -90,6 +109,13 @@ namespace OrderStacks.model
return false;
}
+ /**
+ * Numérateur
+ *
+ * Fonction permettant de retourner le PGCD (Plus Grand Commun Diviseur) de deux fractions
+ *
+ * Plus Grand Commun Diviseur
+ */
private int PGCD(int a, int b)
{
int temp = a % b;
@@ -98,6 +124,11 @@ namespace OrderStacks.model
return PGCD(b, temp);
}
+ /**
+ * Fonction permettant d'obtenir la valeur décimale de la fraction
+ *
+ * Valeur décimale de la fraction
+ */
public decimal Result()
{
decimal result = (decimal)Numerateur / (decimal)Denominateur;
diff --git a/OrderStacks/model/Parametreur.cs b/OrderStacks/model/Parametreur.cs
index 3392f5b..ee6a82d 100644
--- a/OrderStacks/model/Parametreur.cs
+++ b/OrderStacks/model/Parametreur.cs
@@ -10,17 +10,30 @@ namespace OrderStacks.model
public List players = new List();
public int NbPlayer { get; set; }
+ /**
+ * Mode de jeu utilisé
+ *
+ * Constructeur
+ */
public Parametreur(GameMode gameMode)
{
GameMode = gameMode;
}
+ /**
+ * Fonction permettant de préparer le jeu
+ */
public void Prepare()
{
NbPlayer = players.Count;
GameMode.load(NbPlayer, players);
}
+ /**
+ *Joueur à ajouter
+ *
+ * Fonction permettant d'ajouter un joueur
+ */
public void AddPlayer(Player player)
{
if (player != null)
@@ -29,6 +42,11 @@ namespace OrderStacks.model
}
}
+ /**
+ * Fonction permettant de retourner le nombre de cartes restantes à jouer
+ *
+ * Nombre de carte restante à jouer
+ */
public string getScore()
{
int score = GameMode.getScore();
diff --git a/OrderStacks/model/Player.cs b/OrderStacks/model/Player.cs
index 944e371..8cd0d23 100644
--- a/OrderStacks/model/Player.cs
+++ b/OrderStacks/model/Player.cs
@@ -12,12 +12,21 @@ namespace OrderStacks.model
private List cardList = new List();
public event EventHandler HandCardChanged;
-
+ /**
+ *Pseudo du joueur
+ *
+ * Constructeur
+ */
public Player(string pseudo)
{
Pseudo = pseudo;
}
+ /**
+ * Carte pioché
+ *
+ * Fonction permettant d'ajouter une carte pioché à la main de l'utilisateur
+ */
public void pioche(Card card)
{
cardList.Add(card);
@@ -25,6 +34,11 @@ namespace OrderStacks.model
OnCardDrawable(new HandCardChangedEventArgs(card, position));
}
+ /**
+ * Carte joué
+ *
+ * Fonction permettant de jouer une carte de la main du joueur
+ */
public void joue(Card card)
{
int position = cardList.IndexOf(card);
@@ -37,11 +51,21 @@ namespace OrderStacks.model
// return cardList.AsReadOnly();
//}
+ /**
+ * Fonction permettant de retourner la liste de carte du joueur
+ *
+ * Liste de cartes
+ */
public List getCardList()
{
return cardList;
}
+ /**
+ * Argument de l'événement
+ *
+ * Evénement permettant de notifier que la main a changé
+ */
protected internal void OnCardDrawable(HandCardChangedEventArgs args)
{
HandCardChanged?.Invoke(this, args);
diff --git a/OrderStacks/model/deck/CentaineDeck.cs b/OrderStacks/model/deck/CentaineDeck.cs
index bad555e..a8bd3a2 100644
--- a/OrderStacks/model/deck/CentaineDeck.cs
+++ b/OrderStacks/model/deck/CentaineDeck.cs
@@ -5,6 +5,12 @@ namespace OrderStacks.model.deck
{
public class CentaineDeck : Deck
{
+ /**
+ * Valeur minimale du deck
+ * Valeur maximale du deck
+ * Nombre de carte dans le deck
+ * Constructeur
+ */
public CentaineDeck(int nbCard, decimal borneMin, decimal borneMax) : base(nbCard)
{
Random random = new Random();
@@ -13,7 +19,7 @@ namespace OrderStacks.model.deck
while (deck.Count < nbCard && deck.Count < (borneMaxRandom - borneMinRandom))
{
int value = random.Next(borneMinRandom, borneMaxRandom);
- InsertionDichotomique(deck, 0, deck.Count-1, new FractionCard(new Fraction(value, 100, 3)));
+ InsertionDichotomique(0, deck.Count-1, new FractionCard(new Fraction(value, 100, 3)));
}
}
}
diff --git a/OrderStacks/model/deck/ClassicDeck.cs b/OrderStacks/model/deck/ClassicDeck.cs
index 793ae76..cdbd321 100644
--- a/OrderStacks/model/deck/ClassicDeck.cs
+++ b/OrderStacks/model/deck/ClassicDeck.cs
@@ -5,13 +5,19 @@ namespace OrderStacks.model.deck
{
public class ClassicDeck : Deck
{
+ /**
+ * Valeur minimale du deck
+ * Valeur maximale du deck
+ * Nombre de carte dans le deck
+ * Constructeur
+ */
public ClassicDeck(int nbCard, int borneMin, int borneMax) : base(nbCard)
{
Random random = new Random();
while (deck.Count < nbCard && deck.Count < (borneMax - borneMin))
{
int value = random.Next(borneMin, borneMax);
- InsertionDichotomique(deck, 0, deck.Count-1, new ClassicCard(value));
+ InsertionDichotomique(0, deck.Count-1, new ClassicCard(value));
}
}
}
diff --git a/OrderStacks/model/deck/Decimal1.cs b/OrderStacks/model/deck/Decimal1.cs
index 5f2174f..6374043 100644
--- a/OrderStacks/model/deck/Decimal1.cs
+++ b/OrderStacks/model/deck/Decimal1.cs
@@ -5,13 +5,19 @@ namespace OrderStacks.model.deck
{
public class Decimal1Deck : Deck
{
+ /**
+ * Valeur minimale du deck
+ * Valeur maximale du deck
+ * Nombre de carte dans le deck
+ * Constructeur
+ */
public Decimal1Deck(int nbCard, int borneMin, int borneMax) : base(nbCard)
{
Random random = new Random();
while (deck.Count < nbCard && deck.Count < (borneMax - borneMin))
{
decimal value = random.Next(borneMin, borneMax) * 0.1m;
- InsertionDichotomique(deck, 0, deck.Count - 1, new ClassicCard(value));
+ InsertionDichotomique(0, deck.Count - 1, new ClassicCard(value));
}
}
}
diff --git a/OrderStacks/model/deck/Decimal2.cs b/OrderStacks/model/deck/Decimal2.cs
index 1fa2db0..a5123a3 100644
--- a/OrderStacks/model/deck/Decimal2.cs
+++ b/OrderStacks/model/deck/Decimal2.cs
@@ -5,13 +5,19 @@ namespace OrderStacks.model.deck
{
public class Decimal2Deck : Deck
{
+ /**
+ * Valeur minimale du deck
+ * Valeur maximale du deck
+ * Nombre de carte dans le deck
+ * Constructeur
+ */
public Decimal2Deck(int nbCard, int borneMin, int borneMax) : base(nbCard)
{
Random random = new Random();
while (deck.Count < nbCard && deck.Count < (borneMax - borneMin))
{
decimal value = random.Next(borneMin, borneMax) * 0.01m;
- InsertionDichotomique(deck, 0, deck.Count - 1, new ClassicCard(value));
+ InsertionDichotomique(0, deck.Count - 1, new ClassicCard(value));
}
}
}
diff --git a/OrderStacks/model/deck/Deck.cs b/OrderStacks/model/deck/Deck.cs
index c3aa45b..2cbe944 100644
--- a/OrderStacks/model/deck/Deck.cs
+++ b/OrderStacks/model/deck/Deck.cs
@@ -6,31 +6,53 @@ namespace OrderStacks.model.deck
{
public abstract class Deck
{
-
protected List deck = new List();
protected int nbCard;
+ /**
+ * Nombre de carte dans le deck
+ * Constructeur
+ */
protected Deck(int nbCard)
{
this.nbCard = nbCard;
}
+ /**
+ * Fonction retournant le nombre de carte dans le deck
+ */
public int size()
{
return deck.Count;
}
+ /**
+ * Index supprimé
+ * Fonction permettant de retirer un index du deck
+ */
public void removeAt(int index)
{
deck.RemoveAt(index);
}
+ /**
+ * Index de la carte chercher
+ * Fonction retournant la carte contenu dans l'index
+ * Carte à la position chercher
+ */
public Card getCard(int index)
{
return deck[index];
}
- protected void InsertionDichotomique(List deck, int start, int end, Card card)
+ /**
+ * Carte que l'on souhaite insérer
+ * Début de la plage de recherche
+ * Fin de la plage de recherche
+ * Fonction permet d'insérer dichotomiquement une carte
+ * N'insére pas de carte en double
+ */
+ protected void InsertionDichotomique(int start, int end, Card card)
{
if (deck.Count == 0)
{
@@ -75,12 +97,12 @@ namespace OrderStacks.model.deck
{
if (comparateur < 0)
{
- InsertionDichotomique(deck, mediane, end, card);
+ InsertionDichotomique(mediane, end, card);
return;
}
else
{
- InsertionDichotomique(deck, start, mediane, card);
+ InsertionDichotomique(start, mediane, card);
return;
}
}
diff --git a/OrderStacks/model/deck/DizaineDeck.cs b/OrderStacks/model/deck/DizaineDeck.cs
index 9afeb6e..69f8b3f 100644
--- a/OrderStacks/model/deck/DizaineDeck.cs
+++ b/OrderStacks/model/deck/DizaineDeck.cs
@@ -5,6 +5,12 @@ namespace OrderStacks.model.deck
{
public class DizaineDeck : Deck
{
+ /**
+ * Valeur minimale du deck
+ * Valeur maximale du deck
+ * Nombre de carte dans le deck
+ * Constructeur
+ */
public DizaineDeck(int nbCard, decimal borneMin, decimal borneMax) : base(nbCard)
{
Random random = new Random();
@@ -13,7 +19,7 @@ namespace OrderStacks.model.deck
while (deck.Count < nbCard && deck.Count < (borneMaxRandom - borneMinRandom))
{
int value = random.Next(borneMinRandom, borneMaxRandom);
- InsertionDichotomique(deck, 0, deck.Count-1, new FractionCard(new Fraction(value, 10, 2)));
+ InsertionDichotomique(0, deck.Count-1, new FractionCard(new Fraction(value, 10, 2)));
}
}
}
diff --git a/OrderStacks/model/deck/FractionDeck.cs b/OrderStacks/model/deck/FractionDeck.cs
index 62aacdb..0e9f693 100644
--- a/OrderStacks/model/deck/FractionDeck.cs
+++ b/OrderStacks/model/deck/FractionDeck.cs
@@ -7,7 +7,10 @@ namespace OrderStacks.model.deck
{
/**
- * Fonction permettant de créer un jeu de carte pour jouer avec les fractions
+ * Valeur minimale du deck
+ * Valeur maximale du deck
+ * Nombre de carte dans le deck
+ * Constructeur
*/
public FractionDeck(int nbCard, decimal borneMin, decimal borneMax) : base(nbCard)
{
@@ -19,7 +22,7 @@ namespace OrderStacks.model.deck
{
if (deck.Count < nbCard)
{
- InsertionDichotomique(deck, 0, deck.Count - 1, new FractionCard(new Fraction(i, j, 2)));
+ InsertionDichotomique(0, deck.Count - 1, new FractionCard(new Fraction(i, j, 2)));
}
else
{
@@ -43,7 +46,7 @@ namespace OrderStacks.model.deck
denominateur /= pgcd;
pgcd = PGCD(numerateur, denominateur);
}
- InsertionDichotomique(deck, 0, deck.Count - 1, new FractionCard(new Fraction(numerateur, denominateur, 2)));
+ InsertionDichotomique(0, deck.Count - 1, new FractionCard(new Fraction(numerateur, denominateur, 2)));
}
}
}
diff --git a/OrderStacks/model/deck/MilliemeDeck.cs b/OrderStacks/model/deck/MilliemeDeck.cs
index 24e18b0..c22bc92 100644
--- a/OrderStacks/model/deck/MilliemeDeck.cs
+++ b/OrderStacks/model/deck/MilliemeDeck.cs
@@ -5,6 +5,12 @@ namespace OrderStacks.model.deck
{
public class MilliemeDeck : Deck
{
+ /**
+ * Valeur minimale du deck
+ * Valeur maximale du deck
+ * Nombre de carte dans le deck
+ * Constructeur
+ */
public MilliemeDeck(int nbCard, decimal borneMin, decimal borneMax) : base(nbCard)
{
Random random = new Random();
@@ -13,7 +19,7 @@ namespace OrderStacks.model.deck
while (deck.Count < nbCard && deck.Count < (borneMaxRandom - borneMinRandom))
{
int value = random.Next(borneMinRandom, borneMaxRandom);
- InsertionDichotomique(deck, 0, deck.Count-1, new FractionCard(new Fraction(value, 1000, 4)));
+ InsertionDichotomique(0, deck.Count-1, new FractionCard(new Fraction(value, 1000, 4)));
}
}
}
diff --git a/OrderStacks/model/deck/RelativeDeck.cs b/OrderStacks/model/deck/RelativeDeck.cs
index 9b6256d..35fdd1e 100644
--- a/OrderStacks/model/deck/RelativeDeck.cs
+++ b/OrderStacks/model/deck/RelativeDeck.cs
@@ -5,13 +5,19 @@ namespace OrderStacks.model.deck
{
public class RelativeDeck : Deck
{
+ /**
+ * Valeur minimale du deck
+ * Valeur maximale du deck
+ * Nombre de carte dans le deck
+ * Constructeur
+ */
public RelativeDeck(int nbCard, int borneMin, int borneMax) : base(nbCard)
{
Random random = new Random();
while (deck.Count < nbCard && deck.Count < (borneMax - borneMin))
{
int value = random.Next(borneMin, borneMax);
- InsertionDichotomique(deck, 0, deck.Count-1, new ClassicCard(value));
+ InsertionDichotomique(0, deck.Count-1, new ClassicCard(value));
}
}
}
diff --git a/OrderStacks/model/event/HandCardChangeEventArgs.cs b/OrderStacks/model/event/HandCardChangeEventArgs.cs
index 36c6d76..1d64b8a 100644
--- a/OrderStacks/model/event/HandCardChangeEventArgs.cs
+++ b/OrderStacks/model/event/HandCardChangeEventArgs.cs
@@ -9,6 +9,11 @@ namespace OrderStacks.model.@event
public Card NewCard { get; set; }
public int Position { get; set; }
+ /**
+ * Nouvelle carte ajouté dans la main
+ * Position de la carte dans la main
+ * Constructeur
+ */
public HandCardChangedEventArgs(Card newCard, int position)
{
NewCard = newCard;
diff --git a/OrderStacks/model/event/PlayerChangedEventArgs.cs b/OrderStacks/model/event/PlayerChangedEventArgs.cs
index 2fa39ac..bb68cdc 100644
--- a/OrderStacks/model/event/PlayerChangedEventArgs.cs
+++ b/OrderStacks/model/event/PlayerChangedEventArgs.cs
@@ -7,9 +7,14 @@ namespace OrderStacks.model.@event
public class PlayerChangedEventArgs : EventArgs
{
- public String Pseudo;
+ public string Pseudo;
public List NewCurrentHand;
+ /**
+ * Nouvelle liste de carte active
+ * Pseudo du nouvelle utilisateur actif
+ * Constructeur
+ */
public PlayerChangedEventArgs(List newCurrentHand, string pseudo)
{
NewCurrentHand = newCurrentHand;
diff --git a/OrderStacks/model/event/TopRangeChangedEventArgs.cs b/OrderStacks/model/event/TopRangeChangedEventArgs.cs
index 7e21359..49e0e49 100644
--- a/OrderStacks/model/event/TopRangeChangedEventArgs.cs
+++ b/OrderStacks/model/event/TopRangeChangedEventArgs.cs
@@ -10,7 +10,13 @@ namespace OrderStacks.model.@event
public Card OldTopRangeCard { get; set; }
public int NumStackChanged { get; set; }
- public TopRangeChangedEventArgs(Card newTopRangeCard, Card oldTopRangeCard, int numStackChanged)
+ /**
+ * Index de la pile changé
+ * Nouvelle carte en haut de la pile
+ * Ancienne carte en haut de la pile
+ * Constructeur
+ */
+ public TopRangeChangedEventArgs(int numStackChanged, Card newTopRangeCard, Card oldTopRangeCard)
{
NewTopRangeCard = newTopRangeCard;
OldTopRangeCard = oldTopRangeCard;
diff --git a/OrderStacks/model/gameActions/abstractRules/GameAction.cs b/OrderStacks/model/gameActions/abstractRules/GameAction.cs
index c05a1bb..e282202 100644
--- a/OrderStacks/model/gameActions/abstractRules/GameAction.cs
+++ b/OrderStacks/model/gameActions/abstractRules/GameAction.cs
@@ -8,6 +8,11 @@ namespace OrderStacks.model.gameActions.abstractRules
protected Piles ListOrderedStacks { get; set; }
public string ErrorMessage { get; set; } = "";
+ /**
+ *Piles de jeu
+ *
+ * Constructeur
+ */
protected GameAction(Piles listOrderedStacks)
{
ListOrderedStacks = listOrderedStacks;
diff --git a/OrderStacks/model/gameActions/abstractRules/GameMode.cs b/OrderStacks/model/gameActions/abstractRules/GameMode.cs
index 8384623..6109c9f 100644
--- a/OrderStacks/model/gameActions/abstractRules/GameMode.cs
+++ b/OrderStacks/model/gameActions/abstractRules/GameMode.cs
@@ -33,7 +33,12 @@ namespace OrderStacks.model.gameActions.abstractRules
#endregion
-
+ /**
+ * Deck de carte
+ * Piles du jeu
+ *
+ * Constructeur
+ */
protected GameMode(Piles piles, Deck deck)
{
gameActions = new List();
@@ -41,6 +46,12 @@ namespace OrderStacks.model.gameActions.abstractRules
this.deck = deck;
}
+ /**
+ * Nombre de joueur
+ * Pseudo du/des joueur(s)
+ *
+ * Fonction permettant de charger les paramètres de jeu
+ */
public abstract void load(int nbPlayer, List players);
protected void defineNbMaxCard(int nbPlayer)
@@ -62,6 +73,13 @@ namespace OrderStacks.model.gameActions.abstractRules
}
}
+ /**
+ * Liste de carte
+ * Index de départ
+ * Index de fin
+ *
+ * Fonction de tri
+ */
protected void quickSort(List ar, int start, int end)
{
if (start < end)
@@ -89,6 +107,11 @@ namespace OrderStacks.model.gameActions.abstractRules
}
}
+ /**
+ *
+ *
+ *
+ */
protected void distribueCard(List players)
{
players.ForEach(player =>
diff --git a/OrderStacks/model/manager/GameManager.cs b/OrderStacks/model/manager/GameManager.cs
index f595a93..1d24e1b 100644
--- a/OrderStacks/model/manager/GameManager.cs
+++ b/OrderStacks/model/manager/GameManager.cs
@@ -11,8 +11,6 @@ namespace OrderStacks.model.manager
public abstract class GameManager: INotifyPropertyChanged
{
- /* GameMaster implémente un mode de jeu (classe fille de gameMode qui connait les actions a effectué en fonction du mode de jeu */
-
protected Parametreur parametreur;
protected List CurrentCardPlayed = new List();
public string EndMessage { get; set; } = "";
@@ -34,14 +32,29 @@ namespace OrderStacks.model.manager
public event EventHandler EndGame;
public event EventHandler PlayerChanged;
public event PropertyChangedEventHandler PropertyChanged;
+ /**
+ * Nom de la propriété qui change
+ * Evénement permettant de notifier qu'une propriété a changé
+ */
public virtual void OnPropertyChanged(string info)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(info));
}
+ /**
+ * Argument(s) de l'événement
+ * Source de l'événement
+ * Evenement permettant de notifier la fin du jeu
+ */
public void OnEndGame(object source, EventArgs args)
{
EndGame?.Invoke(source, args);
}
+
+ /**
+ * Argument(s) de l'événement
+ * Source de l'événement
+ * Evenement permettant de changer de joueur actif
+ */
protected internal void OnPlayerChanged(object source, PlayerChangedEventArgs args)
{
currentIndexPlayer += 1;
@@ -77,7 +90,10 @@ namespace OrderStacks.model.manager
#endregion
-
+ /**
+ * Parametreur de la partie
+ * Constructeur
+ */
protected GameManager(Parametreur parametreur)
{
this.parametreur = parametreur;
@@ -92,7 +108,12 @@ namespace OrderStacks.model.manager
}
-
+ /**
+ * Pile sélectionnée pour essayer de poser la carte
+ *Valeur de la carte séléctionnée
+ * Fonction permettant de tenter de jouer une carte
+ * Booléen de carte joué
+ */
public bool joue(int orderedStackSelected, decimal valueCard)
{
bool isPlayed = parametreur.GameMode.playCard(valueCard, currentHand, orderedStackSelected, parametreur.players[currentIndexPlayer], CurrentCardPlayed); // Mettre le joueur actif
@@ -100,6 +121,10 @@ namespace OrderStacks.model.manager
return isPlayed;
}
+ /**
+ * Fonction permettant de terminer son tour et notifier si le jeu est fini
+ * Booléen de fin de jeu
+ */
public bool endTurn()
{
if(parametreur.GameMode.endTurn(currentHand, CurrentCardPlayed, parametreur.players[currentIndexPlayer]))
@@ -120,6 +145,10 @@ namespace OrderStacks.model.manager
}
}
+ /**
+ * Fonction permettant de retourner les piles
+ * Piles du jeu
+ */
public Piles getPiles()
{
return parametreur.GameMode.Piles;
diff --git a/OrderStacks/model/manager/MultiplayerGameManager.cs b/OrderStacks/model/manager/MultiplayerGameManager.cs
index 81c8fa0..cf910f4 100644
--- a/OrderStacks/model/manager/MultiplayerGameManager.cs
+++ b/OrderStacks/model/manager/MultiplayerGameManager.cs
@@ -2,6 +2,10 @@
{
public abstract class MultiplayerGameManager : GameManager
{
+ /**
+ * Parametreur de la partie
+ * Constructeur
+ */
protected MultiplayerGameManager(Parametreur parametreur) : base(parametreur)
{
}
diff --git a/OrderStacks/model/manager/SoloGameManager.cs b/OrderStacks/model/manager/SoloGameManager.cs
index 47346cc..a4aec9c 100644
--- a/OrderStacks/model/manager/SoloGameManager.cs
+++ b/OrderStacks/model/manager/SoloGameManager.cs
@@ -2,7 +2,10 @@ namespace OrderStacks.model.manager
{
public class SoloGameManager : GameManager
{
-
+ /**
+ * Parametreur de la partie
+ * Constructeur
+ */
public SoloGameManager(Parametreur parametreur)
: base(parametreur)
{
diff --git a/OrderStacks/model/manager/multiplayer/LocalGameManager.cs b/OrderStacks/model/manager/multiplayer/LocalGameManager.cs
deleted file mode 100644
index c6b07f6..0000000
--- a/OrderStacks/model/manager/multiplayer/LocalGameManager.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace OrderStacks.model.manager
-{
- public class LocalGameManager : MultiplayerGameManager
- {
- public LocalGameManager(Parametreur parametreur) : base(parametreur)
- {
- }
- }
-}
diff --git a/OrderStacks/model/manager/multiplayer/RemoteGameManager.cs b/OrderStacks/model/manager/multiplayer/RemoteGameManager.cs
index d1ff34a..382352b 100644
--- a/OrderStacks/model/manager/multiplayer/RemoteGameManager.cs
+++ b/OrderStacks/model/manager/multiplayer/RemoteGameManager.cs
@@ -2,6 +2,10 @@
{
public class RemoteGameManager : MultiplayerGameManager
{
+ /**
+ * Parametreur de la partie
+ * Constructeur
+ */
public RemoteGameManager(Parametreur parametreur) : base(parametreur)
{
}
diff --git a/OrderStacks/model/piles/ClassicPiles.cs b/OrderStacks/model/piles/ClassicPiles.cs
index e459e6d..3fd2e24 100644
--- a/OrderStacks/model/piles/ClassicPiles.cs
+++ b/OrderStacks/model/piles/ClassicPiles.cs
@@ -4,7 +4,11 @@ namespace OrderStacks.model.piles
{
public class ClassicPiles : Piles
{
-
+ /**
+ * Nombre de pile
+ *
+ * Constructeur
+ */
public ClassicPiles(int nbPile) : base(nbPile)
{
for (int i = 0; i < nbPile; i++)
diff --git a/OrderStacks/model/piles/FractionPiles.cs b/OrderStacks/model/piles/FractionPiles.cs
index d6463df..7753847 100644
--- a/OrderStacks/model/piles/FractionPiles.cs
+++ b/OrderStacks/model/piles/FractionPiles.cs
@@ -4,6 +4,11 @@ namespace OrderStacks.model.piles
{
public class FractionPiles : Piles
{
+ /**
+ * Nombre de pile
+ *
+ * Constructeur
+ */
public FractionPiles(int nbPile) : base(nbPile)
{
for (int i = 0; i < nbPile; i++)
diff --git a/OrderStacks/model/piles/Piles.cs b/OrderStacks/model/piles/Piles.cs
index 2fb1842..69a6130 100644
--- a/OrderStacks/model/piles/Piles.cs
+++ b/OrderStacks/model/piles/Piles.cs
@@ -9,6 +9,11 @@ namespace OrderStacks.model.piles
protected List> ListOrderedStacks { get; set; } = new List>();
public int Size { get; set; }
+ /**
+ * Nombre de pile
+ *
+ * Constructeur
+ */
public Piles(int nbPile)
{
Size = nbPile;
@@ -18,6 +23,13 @@ namespace OrderStacks.model.piles
}
}
+ /**
+ * Index de la pile
+ *
+ * Fonction permettant de retourner une pile grâce à son index
+ *
+ * Pile de carte
+ */
public Stack getStack(int i)
{
return ListOrderedStacks[i];
diff --git a/OrderStacks/model/piles/Piles0To1.cs b/OrderStacks/model/piles/Piles0To1.cs
index e19b507..dbf61a7 100644
--- a/OrderStacks/model/piles/Piles0To1.cs
+++ b/OrderStacks/model/piles/Piles0To1.cs
@@ -4,6 +4,11 @@ namespace OrderStacks.model.piles
{
public class Piles0To1 : Piles
{
+ /**
+ * Nombre de pile
+ *
+ * Constructeur
+ */
public Piles0To1(int nbPile) : base(nbPile)
{
for (int i = 0; i < nbPile; i++)
diff --git a/OrderStacks/model/piles/Piles0To10.cs b/OrderStacks/model/piles/Piles0To10.cs
index ee2d3c9..c16111a 100644
--- a/OrderStacks/model/piles/Piles0To10.cs
+++ b/OrderStacks/model/piles/Piles0To10.cs
@@ -4,6 +4,11 @@ namespace OrderStacks.model.piles
{
public class Piles0To10 : Piles
{
+ /**
+ * Nombre de pile
+ *
+ * Constructeur
+ */
public Piles0To10(int nbPile) : base(nbPile)
{
for (int i = 0; i < nbPile; i++)
diff --git a/OrderStacks/model/piles/PilesMoins50To50.cs b/OrderStacks/model/piles/PilesMoins50To50.cs
index 1f4fc06..bfedd41 100644
--- a/OrderStacks/model/piles/PilesMoins50To50.cs
+++ b/OrderStacks/model/piles/PilesMoins50To50.cs
@@ -4,6 +4,11 @@ namespace OrderStacks.model.piles
{
public class PilesMoins51To51 : Piles
{
+ /**
+ * Nombre de pile
+ *
+ * Constructeur
+ */
public PilesMoins51To51(int nbPile) : base(nbPile)
{
for (int i = 0; i < nbPile; i++)
diff --git a/OrderStacks/model/piles/PilesMoins5To5.cs b/OrderStacks/model/piles/PilesMoins5To5.cs
index 204a27a..9825936 100644
--- a/OrderStacks/model/piles/PilesMoins5To5.cs
+++ b/OrderStacks/model/piles/PilesMoins5To5.cs
@@ -4,7 +4,11 @@ namespace OrderStacks.model.piles
{
public class PilesMoins5To5 : Piles
{
-
+ /**
+ * Nombre de pile
+ *
+ * Constructeur
+ */
public PilesMoins5To5(int nbPile) : base(nbPile)
{
for (int i = 0; i < nbPile; i++)
diff --git a/OrderStacks/view/MainPage.xaml.cs b/OrderStacks/view/MainPage.xaml.cs
index a3bcfa4..4f2bb57 100644
--- a/OrderStacks/view/MainPage.xaml.cs
+++ b/OrderStacks/view/MainPage.xaml.cs
@@ -33,7 +33,10 @@ namespace OrderStacks.view
/**
* Liste des pseudos des joueurs
* Nombre de piles pour jouer
- * Version du jeu joué
+ * Version du jeu pour jouer
+ * Nombre de cartes pour jouer
+ *
+ * Constructeur
*/
public MainPage(List playersNames, int nbPile, int indexMode, int nbCard)
{
@@ -71,9 +74,10 @@ namespace OrderStacks.view
/**
- * Evénement permettant d'afficher les messages d'alertes générés dans le model
* Instance qui envoi l'événement
* Argument(s) de l'événement
+ *
+ * Evénement permettant d'afficher les messages d'alertes générés dans le model
*/
private void OnAlertChanged(object sender, EventArgs args)
{
@@ -86,9 +90,10 @@ namespace OrderStacks.view
/**
- * Evénement permettant de peindre la surface du canvas
* Instance qui envoi l'événement
* Arguments de l'événement
+ *
+ * Evénement permettant de peindre la surface du canvas
*/
public void OnCanvasViewPaintSurface(object sender, SKPaintSurfaceEventArgs args)
{
@@ -115,10 +120,11 @@ namespace OrderStacks.view
/**
- * Evénement qui permet de gérer le Drag and Drop.
- * Il permet de traiter le clic, le mouvement, le relachement du clic et la fin de traitement d'un clic.
* Instance qui envoi l'événement
* Arguments de l'événement
+ *
+ * Evénement qui permet de gérer le Drag and Drop.
+ * Il permet de traiter le clic, le mouvement, le relachement du clic et la fin de traitement d'un clic.
*/
public void OnTouchEffectAction(object sender, TouchActionEventArgs args)
{
@@ -176,7 +182,7 @@ namespace OrderStacks.view
break;
case TouchActionType.Released:
-
+ break;
case TouchActionType.Cancelled:
if (textDictionary.ContainsKey(args.Id))
@@ -216,7 +222,7 @@ namespace OrderStacks.view
/**
- * Fonction permettant de déployer visuellement les piles
+ * Fonction permettant de placer les piles (piles non dessinées)
*/
private void InflateStack()
{
@@ -271,7 +277,7 @@ namespace OrderStacks.view
/**
- * Fonction permettant de déployer visuellement les cartes contenues dans la main du joueur actif
+ * Fonction permettant de placer les cartes contenues dans la main du joueur actif (cartes non dessinées)
*/
private void InflateHand()
{
@@ -314,9 +320,10 @@ namespace OrderStacks.view
/**
- * Evénement traitant la fin du jeu
* Instance qui envoi l'événement
* Argument(s) de l'événement
+ *
+ * Evénement traitant la fin du jeu
*/
private void OnEndGame(object sender, EventArgs args)
{
@@ -334,9 +341,11 @@ namespace OrderStacks.view
}
/**
- * Fonction permettant de lancer le déplacement d'une carte sur une pile
* Index de la pile joué
* Valeur de la carte joué
+ *
+ * Fonction permettant de tenter de jouer une carte
+ *
* Booléen qui indique si la carte a pu être joué
*/
private bool Played(int numStack, decimal value)
@@ -351,9 +360,10 @@ namespace OrderStacks.view
/**
- * Evénement permettant de relancer le jeu avec les mêmes paramètres de jeu
* Instance qui envoi l'événement
- * Argument de l'événement
+ * Argument(s) de l'événement
+ *
+ * Evénement permettant de relancer le jeu avec les mêmes paramètres
*/
private void Retry(object sender, EventArgs args)
{
@@ -389,9 +399,10 @@ namespace OrderStacks.view
/**
- * Evénement permettant de lancer la fin du tour d'un joueur
* Instance qui envoi l'événement
- * Argument de l'événement
+ * Argument(s) de l'événement
+ *
+ * Evénement permettant de lancer la fin du tour d'un joueur
*/
private async void EndTurn(object sender, EventArgs args)
{
@@ -413,9 +424,10 @@ namespace OrderStacks.view
/**
- * Evénement permettant de naviguer entre les différentes pages de l'application
* Instance qui envoi l'événement
- * Argument de l'événement
+ * Argument(s) de l'événement
+ *
+ * Evénement permettant de naviguer entre les différentes pages de l'application
*/
private async void PlayToHome(object sender, EventArgs args)
{
diff --git a/OrderStacks/view/TouchManipulationCard.cs b/OrderStacks/view/TouchManipulationCard.cs
index 18fe2a7..9f3039d 100644
--- a/OrderStacks/view/TouchManipulationCard.cs
+++ b/OrderStacks/view/TouchManipulationCard.cs
@@ -25,8 +25,11 @@ namespace OrderStacks.view
/**
- * Objet dessiné
- * Carte qui est dessiné par le textPaint
+ * Objet à dessiner
+ * Carte dessinée dans le textPaint
+ * Taille de l'espace entre le centre de la carte et la bordure sur l'axe des x
+ *
+ * Constructeur
*/
public TouchManipulationCard(SKPaint textPaint, CardVM value, float width)
{
@@ -37,6 +40,7 @@ namespace OrderStacks.view
display = Value.ToString();
+ // Permet de traiter les fractions
if (Value.GetType() == typeof(FractionCardVM))
{
textPaint1 = new SKPaint();
@@ -71,9 +75,9 @@ namespace OrderStacks.view
public SKMatrix InitialMatrix { set; get; }
/**
- * Fonction permettant de dessiner l'objet que contient l'instance dans un canvas donné avec une couleur donnée
* Canvas où l'on souhaite dessiner l'objet contenu dans l'instance
- * Couleur qui sera prise par l'objet
+ *
+ * Fonction permettant de dessiner l'objet que contient l'instance dans un canvas donné
*/
public void Paint(SKCanvas canvas)
{
@@ -88,6 +92,7 @@ namespace OrderStacks.view
SKRect card;
+ // Permet de traiter les fractions
if (Value.GetType() == typeof(FractionCardVM))
{
card = new SKRect(-width, -height - textPaint.TextSize, width + textPaint.MeasureText(Math.Pow(10, ((FractionCardVM)(Value)).Fraction.SizeMax-1).ToString()), height);
@@ -103,6 +108,7 @@ namespace OrderStacks.view
card = new SKRect(-width, -height - textPaint.TextSize, width + textPaint.MeasureText(display), height);
}
+ // Permet de traiter les fractions
if (Value.GetType() == typeof(FractionCardVM))
{
int sizeMax = ((FractionCardVM)(Value)).Fraction.SizeMax;
@@ -163,8 +169,9 @@ namespace OrderStacks.view
}
/**
- * Fonction permettant de changer la couleur de l'objet contenu dans l'instance
* Nouvelle couleur que l'on souhaite attribué à l'objet contenu dans l'instance
+ *
+ * Fonction permettant de changer la couleur de l'objet contenu dans l'instance
*/
public void ChangeColor(SKColor color)
{
@@ -172,8 +179,10 @@ namespace OrderStacks.view
}
/**
- * Fonction permettant de savoir si le point qu'on lui passe est dans la zone où l'objet est dessiné
* Point que l'on souhaite tester
+ *
+ * Fonction permettant de savoir si le point qu'on lui passe est dans la zone où l'objet est dessiné
+ *
* Booléen qui indique si le point donné est dans la zone où l'objet en instance est dessiné
*/
public bool HitTest(SKPoint location)
@@ -188,6 +197,8 @@ namespace OrderStacks.view
// Check if it's in the untransformed bitmap rectangle
SKRect rect;
+
+ // Permet de traiter les fractions
if (Value.GetType() == typeof(FractionCardVM))
{
rect = new SKRect(-width, -height - textPaint.TextSize, width + textPaint.MeasureText(Math.Pow(10, ((FractionCardVM)(Value)).Fraction.SizeMax - 1).ToString()), height);
@@ -202,11 +213,12 @@ namespace OrderStacks.view
}
/**
+ * Index que l'on souhaite traiter
+ * Type d'évenement lancé
+ * Nouveau point
+ *
* Evénement qui permet de gérer le Drag and Drop.
* Il permet de traiter le clic, le mouvement, le relachement du clic et la fin de traitement d'un objet.
- * Index de la position que l'on souhaite traiter
- * Type d'évenement lancé
- * Nouveau point que l'on souhaite traiter
*/
public void ProcessTouchEvent(long id, TouchActionType type, SKPoint location)
{
diff --git a/OrderStacks/viewmodel/CardVM.cs b/OrderStacks/viewmodel/CardVM.cs
index b6ad627..f47ac74 100644
--- a/OrderStacks/viewmodel/CardVM.cs
+++ b/OrderStacks/viewmodel/CardVM.cs
@@ -22,6 +22,7 @@ namespace OrderStacks.viewmodel
/**
* Nom de la propriété
+ *
* Fonction permettant de notifier qu'une propriété a changé
*/
protected virtual void OnPropertyChanged(string info)
@@ -31,6 +32,7 @@ namespace OrderStacks.viewmodel
/**
* Card représenté
+ *
* Constructeur
*/
public CardVM(Card view)
diff --git a/OrderStacks/viewmodel/FractionCardVM.cs b/OrderStacks/viewmodel/FractionCardVM.cs
index f419946..19cc130 100644
--- a/OrderStacks/viewmodel/FractionCardVM.cs
+++ b/OrderStacks/viewmodel/FractionCardVM.cs
@@ -15,7 +15,7 @@ namespace OrderStacks.viewmodel
get { return fraction; }
set
{
- this.fraction = value;
+ fraction = value;
View.Fraction = value;
OnPropertyChanged("Value");
}
@@ -23,6 +23,7 @@ namespace OrderStacks.viewmodel
/**
* FractionCard représenté
+ *
* Constructeur
*/
public FractionCardVM(FractionCard view) : base(view)
@@ -33,6 +34,7 @@ namespace OrderStacks.viewmodel
/**
* Fonction permettant de retourner le nombre maximum de chiffre présent en numérateur et/ou en dénominateur.
+ *
* Nombre maximum de chiffre présent en numérateur et/ou dénominateur
*/
public string getDisplayMax()
diff --git a/OrderStacks/viewmodel/Main.cs b/OrderStacks/viewmodel/Main.cs
index c810161..20e3635 100644
--- a/OrderStacks/viewmodel/Main.cs
+++ b/OrderStacks/viewmodel/Main.cs
@@ -44,6 +44,7 @@ namespace OrderStacks.viewmodel
/**
* Nom de la propriété
+ *
* Fonction permettant de notifier qu'une propriété a changé
*/
protected virtual void OnPropertyChanged(string info)
@@ -69,6 +70,7 @@ namespace OrderStacks.viewmodel
* Nombre de carte maximal pour les piles
* Nombre de piles
* Pseudo(s) du/des joueur(s)
+ *
* Constructeur
*/
public Main(List playersNames, int nbPile, int nbCard, int indexMode)
@@ -149,6 +151,7 @@ namespace OrderStacks.viewmodel
/**
* Fonction permettant de retourner une vue des piles ordonnées
+ *
* Vue des piles ordonnées
*/
public IReadOnlyList> getListOrderedStacks()
@@ -159,6 +162,7 @@ namespace OrderStacks.viewmodel
/**
* Source de l'événement
* Argument(s) de l'événement
+ *
* Evénement permettant de déclencher le changement de joueur.
*/
protected internal void OnPlayerChanged(object source, PlayerChangedEventArgs args)
@@ -182,6 +186,7 @@ namespace OrderStacks.viewmodel
/**
* Argument(s) de l'événement
* Source de l'événement
+ *
* Evénement permettant de déclencher la fin du jeu.
*/
public void OnEndGame(object source, EventArgs args)
@@ -193,7 +198,9 @@ namespace OrderStacks.viewmodel
/**
* Numéro de la pile séléctionnée pour jouer
* Valeur de la carte joué
+ *
* Fonction permettant de demander à jouer une carte puis de retourner si elle a été joué
+ *
* Booléen de carte joué
*/
public bool played(int numStack, decimal valueCard)
@@ -227,6 +234,7 @@ namespace OrderStacks.viewmodel
/**
* Fonction permettant de changer de joueur.
+ *
* Booléen de fin de jeu
*/
public bool endTurn()
diff --git a/OrderStacks/viewmodel/PlayerVM.cs b/OrderStacks/viewmodel/PlayerVM.cs
index bc9fd1d..032b59d 100644
--- a/OrderStacks/viewmodel/PlayerVM.cs
+++ b/OrderStacks/viewmodel/PlayerVM.cs
@@ -13,6 +13,7 @@ namespace OrderStacks.viewmodel
/**
* Player représenté
+ *
* Constructeur
*/
public PlayerVM(Player view)
@@ -28,6 +29,7 @@ namespace OrderStacks.viewmodel
/**
* Argument(s) de l'événement
* Source de l'événement
+ *
* Evénement permettant à l'utilisateur de changer les cartes qu'il possède (supprimé et/ou piocher une carte).
*/
private void OnHandCardChanged(object sender, HandCardChangedEventArgs args)
@@ -44,6 +46,7 @@ namespace OrderStacks.viewmodel
/**
* Carte piocher
+ *
* Fonction permettant de piocher une carte
*/
public void pioche(CardVM card)
@@ -53,6 +56,7 @@ namespace OrderStacks.viewmodel
/**
* Fonction permettant de retourner les cartes possédées par l'utilisateur.
+ *
* Liste des cartes possédé par l'utilisateur
*/
public List getCardList()