master
Baptiste ARNAUD 5 years ago
commit 3c6eeefa91

@ -1,57 +1,44 @@
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// Ce code a été généré par un outil.
// Version du runtime :4.0.30319.42000
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
// le code est régénéré.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace OrderStacks.Resx {
using System;
using System.Reflection;
/// <summary>
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
/// </summary>
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
// avec l'option /str ou régénérez votre projet VS.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class AppResources {
private static global::System.Resources.ResourceManager resourceMan;
private static System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
private static System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal AppResources() {
}
/// <summary>
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
public static System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OrderStacks.Resx.AppResources", typeof(AppResources).Assembly);
if (object.Equals(null, resourceMan)) {
System.Resources.ResourceManager temp = new System.Resources.ResourceManager("OrderStacks.Resx.AppResources", typeof(AppResources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
public static System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
@ -60,98 +47,60 @@ namespace OrderStacks.Resx {
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à OrderStacks
///
///A votre disposition, un mode de jeu en local, jouable jusqu&apos;à 5 joueurs.
///
///Un mode multijoueur en cours de développement.
///
///Une présentation des règles du jeu.
///
///Une possibilité de changer le thème de l&apos;application grâce aux images du soleil et lune..
/// </summary>
public static string StrAbout {
get {
return ResourceManager.GetString("StrAbout", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Pile ascendante.
/// </summary>
public static string StrAcendingStack {
get {
return ResourceManager.GetString("StrAcendingStack", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Jouer.
/// </summary>
public static string StrBtnPlay {
get {
return ResourceManager.GetString("StrBtnPlay", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à La pile n&apos;est pas disponnible.
/// </summary>
public static string StrCantGetStack {
get {
return ResourceManager.GetString("StrCantGetStack", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à La carte n&apos;existe pas .
/// </summary>
public static string StrCardDoesntExist {
get {
return ResourceManager.GetString("StrCardDoesntExist", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Vous devez jouer au minimum deux cartes par tour.
/// </summary>
public static string StrCardPlayedLessThanTwo {
get {
return ResourceManager.GetString("StrCardPlayedLessThanTwo", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Fermer.
/// </summary>
public static string StrCloseWind {
get {
return ResourceManager.GetString("StrCloseWind", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Pile descendante.
/// </summary>
public static string StrDownStack {
get {
return ResourceManager.GetString("StrDownStack", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Fin de tour.
/// </summary>
public static string StrEndTurn {
get {
return ResourceManager.GetString("StrEndTurn", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Entrez votre pseudo.
/// </summary>
public static string StrEnterPseudo {
get {
return ResourceManager.GetString("StrEnterPseudo", resourceCulture);
@ -176,108 +125,72 @@ namespace OrderStacks.Resx {
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à La partie est terminée.
/// </summary>
public static string String3 {
get {
return ResourceManager.GetString("String3", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Bravo vous avez gagné!.
/// </summary>
public static string String4 {
get {
return ResourceManager.GetString("String4", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Lancer une partie.
/// </summary>
public static string StrLocalGame {
get {
return ResourceManager.GetString("StrLocalGame", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à .
/// </summary>
public static string StrLose {
get {
return ResourceManager.GetString("StrLose", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Multijoueur.
/// </summary>
public static string StrMultiplayer {
get {
return ResourceManager.GetString("StrMultiplayer", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Nombre de cartes :.
/// </summary>
public static string StrNbCards {
get {
return ResourceManager.GetString("StrNbCards", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Joueurs :.
/// </summary>
public static string StrNbPlayers {
get {
return ResourceManager.GetString("StrNbPlayers", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Nombre de piles en jeu :.
/// </summary>
public static string StrNbStacksInGame {
get {
return ResourceManager.GetString("StrNbStacksInGame", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Suivant.
/// </summary>
public static string StrNext {
get {
return ResourceManager.GetString("StrNext", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Veuillez choisir un nombre de joueur ainsi que leur(s) nom(s).
/// </summary>
public static string StrPlayerSelections {
get {
return ResourceManager.GetString("StrPlayerSelections", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Entrez votre pseudo :.
/// </summary>
public static string StrPseudoGM {
get {
return ResourceManager.GetString("StrPseudoGM", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Rejouer.
/// </summary>
public static string StrRetry {
get {
return ResourceManager.GetString("StrRetry", resourceCulture);
@ -302,36 +215,24 @@ namespace OrderStacks.Resx {
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à - Une fois votre tour terminé, vous appuyez sur le boutton &quot;Fin de tour&quot; afin de passer au joueur suivant..
/// </summary>
public static string StrTiret10 {
get {
return ResourceManager.GetString("StrTiret10", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à - La partie est finie quand toutes les cartes sont jouées ou quand le joueur dont c&apos;est le tour ne peut plus jouer..
/// </summary>
public static string StrTiret11 {
get {
return ResourceManager.GetString("StrTiret11", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à - Afin de préparer la partie, vous disposez d&apos;un écran permettant de choisir le nombre de joueur et leur pseudo, le type de jeu auquels vous souhaitez jouer et enfin le nombre de piles pour jouer..
/// </summary>
public static string StrTiret12 {
get {
return ResourceManager.GetString("StrTiret12", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à - Le type de jeu permet de définir les valeurs présentent sur les cartes. Vous pouvez jouer avec des valeurs entières, relatives, décimales (1 chiffre), décimales (2 chiffres), décimales (3 chiffres) et avec des fractions décimales.
/// </summary>
public static string StrTiret13 {
get {
return ResourceManager.GetString("StrTiret13", resourceCulture);
@ -401,83 +302,54 @@ namespace OrderStacks.Resx {
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à - Sur les piles ascendantes vertes, le joueur peut poser des cartes plus grandes et sur les piles descendantes rouges, le joueur peut poser des cartes plus petites..
/// </summary>
public static string StrTiret3 {
get {
return ResourceManager.GetString("StrTiret3", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à - Le but est de poser toutes les cartes du jeu sur les différentes piles..
/// </summary>
public static string StrTiret4 {
get {
return ResourceManager.GetString("StrTiret4", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à - Pour jouer, il suffit de faire glisser une carte sur la pile souhaitée..
/// </summary>
public static string StrTiret5 {
get {
return ResourceManager.GetString("StrTiret5", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à - Cette carte doit être plus grande que celle déjà présente s&apos;il s&apos;agit d&apos;une pile ascendante et plus petite si c&apos;est l&apos;inverse..
/// </summary>
public static string StrTiret6 {
get {
return ResourceManager.GetString("StrTiret6", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à - Il est possible de poser une carte plus petite que celle de la pile ascendante à condition que la carte que l&apos;on souhaite jouer soit uniquement plus petite d&apos;une dizaine que le carte sur la pile. De la même manière pour les piles descendantes, il est possible de poser une carte plus grande que celle de la pile descendante à condition que la carte que l&apos;on souhaite jouer soit uniquement plus grande d&apos;une dizaine que le carte sur la pile..
/// </summary>
public static string StrTiret7 {
get {
return ResourceManager.GetString("StrTiret7", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à - Exemples : Sur une pile descendante, si nous avons 22 alors il est possible de poser 32.
/// Sur une pile ascendante, si nous avons 16 alors il est possible de poser 6..
/// </summary>
public static string StrTiret8 {
get {
return ResourceManager.GetString("StrTiret8", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à - Chaque joueur doit jouer au minimum deux cartes par tour.
/// La seule limite de cartes jouées par tour est donc le nombre de cartes possédées au début de chaque tour. Cependant, il est conseillé dans la plupart des cas de ne pas jouer toutes les cartes en sa possessions..
/// </summary>
public static string StrTiret9 {
get {
return ResourceManager.GetString("StrTiret9", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à OrderStacks.
/// </summary>
public static string StrTitle {
get {
return ResourceManager.GetString("StrTitle", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Règles.
/// </summary>
public static string StrTitleRules {
get {
return ResourceManager.GetString("StrTitleRules", resourceCulture);
@ -502,108 +374,72 @@ namespace OrderStacks.Resx {
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Félicitation vous avez gagné.
/// </summary>
public static string StrWin {
get {
return ResourceManager.GetString("StrWin", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à La carte choisie ne convient pas.
/// </summary>
public static string StrWrongStack {
get {
return ResourceManager.GetString("StrWrongStack", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Fractionnées.
/// </summary>
public static string TypeValuefractionated {
get {
return ResourceManager.GetString("TypeValuefractionated", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à 2 Décimales.
/// </summary>
public static string TypeValueHundredth {
get {
return ResourceManager.GetString("TypeValueHundredth", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à 2 Décimales (Fraction).
/// </summary>
public static string TypeValueHundredthFract {
get {
return ResourceManager.GetString("TypeValueHundredthFract", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Relatives.
/// </summary>
public static string TypeValueRelative {
get {
return ResourceManager.GetString("TypeValueRelative", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à 1 Décimales.
/// </summary>
public static string TypeValueTenth {
get {
return ResourceManager.GetString("TypeValueTenth", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à 1 Décimales (Fraction).
/// </summary>
public static string TypeValueTenthFract {
get {
return ResourceManager.GetString("TypeValueTenthFract", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à 3 Décimales (Fraction).
/// </summary>
public static string TypeValueThousandthFract {
get {
return ResourceManager.GetString("TypeValueThousandthFract", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Entière.
/// </summary>
public static string TypeValueWhole {
get {
return ResourceManager.GetString("TypeValueWhole", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Thème clair :.
/// </summary>
public static string TypeValueTenth {
get {
return ResourceManager.GetString("TypeValueTenth", resourceCulture);
}
}
public static string TypeValueHundredth {
get {
return ResourceManager.GetString("TypeValueHundredth", resourceCulture);
}
}
public static string WhiteTheme {
get {
return ResourceManager.GetString("WhiteTheme", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Erreur pseudo :.
/// </summary>
public static string WrongPseudo {
get {
return ResourceManager.GetString("WrongPseudo", resourceCulture);

@ -0,0 +1,458 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace OrderStacks.Resx {
using System;
using System.Reflection;
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class AppResources {
private static System.Resources.ResourceManager resourceMan;
private static System.Globalization.CultureInfo resourceCulture;
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal AppResources() {
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
public static System.Resources.ResourceManager ResourceManager {
get {
if (object.Equals(null, resourceMan)) {
System.Resources.ResourceManager temp = new System.Resources.ResourceManager("OrderStacks.Resx.AppResources", typeof(AppResources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
public static System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
public static string StrAbout {
get {
return ResourceManager.GetString("StrAbout", resourceCulture);
}
}
public static string StrAcendingStack {
get {
return ResourceManager.GetString("StrAcendingStack", resourceCulture);
}
}
public static string StrBtnPlay {
get {
return ResourceManager.GetString("StrBtnPlay", resourceCulture);
}
}
public static string StrCantGetStack {
get {
return ResourceManager.GetString("StrCantGetStack", resourceCulture);
}
}
public static string StrCardDoesntExist {
get {
return ResourceManager.GetString("StrCardDoesntExist", resourceCulture);
}
}
public static string StrCardPlayedLessThanTwo {
get {
return ResourceManager.GetString("StrCardPlayedLessThanTwo", resourceCulture);
}
}
public static string StrCloseWind {
get {
return ResourceManager.GetString("StrCloseWind", resourceCulture);
}
}
public static string StrDownStack {
get {
return ResourceManager.GetString("StrDownStack", resourceCulture);
}
}
public static string StrEndTurn {
get {
return ResourceManager.GetString("StrEndTurn", resourceCulture);
}
}
public static string StrEnterPseudo {
get {
return ResourceManager.GetString("StrEnterPseudo", resourceCulture);
}
}
<<<<<<< HEAD
/// <summary>
/// Recherche une chaîne localisée semblable à Concernant les fractions :.
/// </summary>
public static string StrFracValue {
get {
return ResourceManager.GetString("StrFracValue", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à A propos.
/// </summary>
=======
>>>>>>> 442c8aff0057af0fc6fe27dabbd922cfbbd9082c
public static string StrInfo {
get {
return ResourceManager.GetString("StrInfo", resourceCulture);
}
}
public static string String3 {
get {
return ResourceManager.GetString("String3", resourceCulture);
}
}
public static string String4 {
get {
return ResourceManager.GetString("String4", resourceCulture);
}
}
public static string StrLocalGame {
get {
return ResourceManager.GetString("StrLocalGame", resourceCulture);
}
}
public static string StrLose {
get {
return ResourceManager.GetString("StrLose", resourceCulture);
}
}
public static string StrMultiplayer {
get {
return ResourceManager.GetString("StrMultiplayer", resourceCulture);
}
}
public static string StrNbCards {
get {
return ResourceManager.GetString("StrNbCards", resourceCulture);
}
}
public static string StrNbPlayers {
get {
return ResourceManager.GetString("StrNbPlayers", resourceCulture);
}
}
public static string StrNbStacksInGame {
get {
return ResourceManager.GetString("StrNbStacksInGame", resourceCulture);
}
}
public static string StrNext {
get {
return ResourceManager.GetString("StrNext", resourceCulture);
}
}
public static string StrPlayerSelections {
get {
return ResourceManager.GetString("StrPlayerSelections", resourceCulture);
}
}
public static string StrPseudoGM {
get {
return ResourceManager.GetString("StrPseudoGM", resourceCulture);
}
}
public static string StrRetry {
get {
return ResourceManager.GetString("StrRetry", resourceCulture);
}
}
<<<<<<< HEAD
/// <summary>
/// Recherche une chaîne localisée semblable à Regles particulères :.
/// </summary>
public static string StrSpecRules {
get {
return ResourceManager.GetString("StrSpecRules", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à - L&apos;objectif est de battre la machine seul et/ou en coopération..
/// </summary>
=======
>>>>>>> 442c8aff0057af0fc6fe27dabbd922cfbbd9082c
public static string StrTiret1 {
get {
return ResourceManager.GetString("StrTiret1", resourceCulture);
}
}
public static string StrTiret10 {
get {
return ResourceManager.GetString("StrTiret10", resourceCulture);
}
}
public static string StrTiret11 {
get {
return ResourceManager.GetString("StrTiret11", resourceCulture);
}
}
public static string StrTiret12 {
get {
return ResourceManager.GetString("StrTiret12", resourceCulture);
}
}
public static string StrTiret13 {
get {
return ResourceManager.GetString("StrTiret13", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Sur les fractions décimales, il est possible de descendre sur une pile ascendant de 0,1 0,01 ou 0,001 si le numérateur de la carte que l&apos;on souhaite jouer et plus petit de 0.1 0.01 ou 0.001 par rapport à celui de la carte posée sur la pile. Il est possible de monter sur une pile descendante de 0,1 0,01 ou 0,001 si le numérateur de la carte que l&apos;on souhaite jouer et plus grand de 0.1 0.01 ou 0.001 par rapport à celui de la carte posée sur la pile. [le reste de la chaîne a été tronqué]&quot;;.
/// </summary>
public static string StrTiret14 {
get {
return ResourceManager.GetString("StrTiret14", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Il est possible de descendre de 0.1 sur une pile ascendante uniquement si la carte que l&apos;on souhaite jouer à un dixième de moins que la carte posée sur la pile et que les deux cartes possèdent le même nombre de chiffres après la virgule. Cette spécificité s&apos;applique également avec les valeurs possédant 2 ou 3 chiffres après la virgule..
/// </summary>
public static string StrTiret15 {
get {
return ResourceManager.GetString("StrTiret15", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Il est possible de monter de 0.1 sur une pile ascendante uniquement si la carte que l&apos;on souhaite jouer à un dixième de plus que la carte posée sur la pile et que les deux cartes possèdent le même nombre de chiffres après la virgule. Cette spécificité s&apos;applique également avec les valeurs possédant 2 ou 3 chiffres après la virgule..
/// </summary>
public static string StrTiret16 {
get {
return ResourceManager.GetString("StrTiret16", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Concernant les fractions : Il est possible de descendre sur une pile ascendante si le numérateur de la carte que l&apos;on souhaite jouer est un multiple plus petit que celui du numérateur de la carte posée sur la pile. Il est également possible de descendre sur une pile ascendante si le dénominateur de la carte que l&apos;on souhaite jouer est un multiple plus petit que le dénominateur de la carte posée sur la pile. .
/// </summary>
public static string StrTiret17 {
get {
return ResourceManager.GetString("StrTiret17", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Il est possible de monter sur une pile decendante si le numérateur de la carte que l&apos;on souhaite jouer est un multiple plus grand que celui du numérateur de la carte posée sur la pile. Il est également possible de monter sur une pile descendante si le dénominateur de la carte que l&apos;on souhaite jouer est un multiple plus grand que le dénominateur de la carte posée sur la pile..
/// </summary>
public static string StrTiret18 {
get {
return ResourceManager.GetString("StrTiret18", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Sur les valeurs décimales, il est possible de descendre sur une pile ascendant de 0,1 si la carte que l&apos;on souhaite jouer ainsi que la carte posée sur la pile possède qu&apos;un chiffre après la virgule. Il en va de même pour les cartes avec deux et trois chiffres après la virgule..
/// </summary>
public static string StrTiret19 {
get {
return ResourceManager.GetString("StrTiret19", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à - Afin d&apos;atteindre l&apos;objectif, les joueurs disposent de 4 piles (par défaut): deux piles ascendantes vertes et deux piles descendantes rouges..
/// </summary>
public static string StrTiret2 {
get {
return ResourceManager.GetString("StrTiret2", resourceCulture);
}
}
public static string StrTiret3 {
get {
return ResourceManager.GetString("StrTiret3", resourceCulture);
}
}
public static string StrTiret4 {
get {
return ResourceManager.GetString("StrTiret4", resourceCulture);
}
}
public static string StrTiret5 {
get {
return ResourceManager.GetString("StrTiret5", resourceCulture);
}
}
public static string StrTiret6 {
get {
return ResourceManager.GetString("StrTiret6", resourceCulture);
}
}
public static string StrTiret7 {
get {
return ResourceManager.GetString("StrTiret7", resourceCulture);
}
}
public static string StrTiret8 {
get {
return ResourceManager.GetString("StrTiret8", resourceCulture);
}
}
public static string StrTiret9 {
get {
return ResourceManager.GetString("StrTiret9", resourceCulture);
}
}
public static string StrTitle {
get {
return ResourceManager.GetString("StrTitle", resourceCulture);
}
}
public static string StrTitleRules {
get {
return ResourceManager.GetString("StrTitleRules", resourceCulture);
}
}
<<<<<<< HEAD
/// <summary>
/// Recherche une chaîne localisée semblable à Concernant les fractions décimales et les valeurs décimales :.
/// </summary>
public static string StrValueFracDec {
get {
return ResourceManager.GetString("StrValueFracDec", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à Valeurs :.
/// </summary>
=======
>>>>>>> 442c8aff0057af0fc6fe27dabbd922cfbbd9082c
public static string StrValueType {
get {
return ResourceManager.GetString("StrValueType", resourceCulture);
}
}
public static string StrWin {
get {
return ResourceManager.GetString("StrWin", resourceCulture);
}
}
public static string StrWrongStack {
get {
return ResourceManager.GetString("StrWrongStack", resourceCulture);
}
}
public static string TypeValuefractionated {
get {
return ResourceManager.GetString("TypeValuefractionated", resourceCulture);
}
}
public static string TypeValueHundredthFract {
get {
return ResourceManager.GetString("TypeValueHundredthFract", resourceCulture);
}
}
public static string TypeValueRelative {
get {
return ResourceManager.GetString("TypeValueRelative", resourceCulture);
}
}
public static string TypeValueTenthFract {
get {
return ResourceManager.GetString("TypeValueTenthFract", resourceCulture);
}
}
public static string TypeValueThousandthFract {
get {
return ResourceManager.GetString("TypeValueThousandthFract", resourceCulture);
}
}
public static string TypeValueWhole {
get {
return ResourceManager.GetString("TypeValueWhole", resourceCulture);
}
}
public static string TypeValueTenth {
get {
return ResourceManager.GetString("TypeValueTenth", resourceCulture);
}
}
public static string TypeValueHundredth {
get {
return ResourceManager.GetString("TypeValueHundredth", resourceCulture);
}
}
public static string WhiteTheme {
get {
return ResourceManager.GetString("WhiteTheme", resourceCulture);
}
}
public static string WrongPseudo {
get {
return ResourceManager.GetString("WrongPseudo", resourceCulture);
}
}
}
}

@ -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; }
/**
* <param name="value">Valeur de la carte</param>
* 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();
}

@ -2,9 +2,15 @@
{
public class ClassicCard : Card
{
/**
* Type de carte
*/
public static readonly string CARD_CLASSIC = "ClassicCard";
/**
* <param name="value">Valeur de la carte</param>
* Constructeur
*/
public ClassicCard(decimal value)
: base(value)
{

@ -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; }
/**
* <param name="value">Fraction qui est représenté sur la carte</param>
* 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;
}

@ -4,9 +4,15 @@ namespace OrderStacks.model.card.rapidCard
{
public class EndGameCard : RapidCard
{
/**
* Type de carte
*/
public static readonly string CARD_ENDGAME = "EndGameCard";
/**
* <param name="value">Valeur de la carte</param>
* Constructeur
*/
public EndGameCard(int value)
:base(value)
{

@ -4,6 +4,10 @@ namespace OrderStacks.model.card.rapidCard
{
public abstract class RapidCard : Card
{
/**
* <param name="value">Valeur de la carte</param>
* Constructeur
*/
public RapidCard(int value) : base(value)
{
}

@ -4,9 +4,15 @@ namespace OrderStacks.model.card.rapidCard
{
public class ThreeCard : RapidCard
{
/**
* Type de carte
*/
public static readonly string CARD_THREE = "ThreeCard";
/**
* <param name="value">Valeur de la carte</param>
* Constructeur
*/
public ThreeCard(int value)
:base(value)
{

@ -8,6 +8,13 @@ namespace OrderStacks.model
public int Denominateur;
public int SizeMax;
/**
* <param name="numerateur">Numérateur de la fraction</param>
* <param name="denominateur">Dénominateur de la fraction</param>
* <param name="sizeMax">Nombre maximal de chiffre présent dans la fraction</param>
*
* Constructeur
*/
public Fraction(int numerateur, int denominateur, int sizeMax)
{
Numerateur = numerateur;
@ -15,6 +22,11 @@ namespace OrderStacks.model
SizeMax = sizeMax;
}
/**
* <param name="fraction">Fraction testé</param>
*
* 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;
}
/**
* <param name="fraction">Fraction testé</param>
*
* Fonction permettant de savoir si deux fractions paossèdent des diviseurs commums
*
* <returns>Booléen de possession de diviseur commun</returns>
*/
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;
}
/**
* <param name="a">Numérateur</param>
*
* Fonction permettant de retourner le PGCD (Plus Grand Commun Diviseur) de deux fractions
*
* <returns>Plus Grand Commun Diviseur</returns>
*/
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
*
* <returns>Valeur décimale de la fraction</returns>
*/
public decimal Result()
{
decimal result = (decimal)Numerateur / (decimal)Denominateur;

@ -10,17 +10,30 @@ namespace OrderStacks.model
public List<Player> players = new List<Player>();
public int NbPlayer { get; set; }
/**
* <param name="gameMode">Mode de jeu utilisé</param>
*
* Constructeur
*/
public Parametreur(GameMode gameMode)
{
GameMode = gameMode;
}
/**
* Fonction permettant de préparer le jeu
*/
public void Prepare()
{
NbPlayer = players.Count;
GameMode.load(NbPlayer, players);
}
/**
*<param name="player">Joueur à ajouter</param>
*
* 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
*
* <returns>Nombre de carte restante à jouer</returns>
*/
public string getScore()
{
int score = GameMode.getScore();

@ -12,12 +12,21 @@ namespace OrderStacks.model
private List<Card> cardList = new List<Card>();
public event EventHandler<HandCardChangedEventArgs> HandCardChanged;
/**
*<param name="pseudo">Pseudo du joueur</param>
*
* Constructeur
*/
public Player(string pseudo)
{
Pseudo = pseudo;
}
/**
* <param name="card">Carte pioché</param>
*
* 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));
}
/**
* <param name="card">Carte joué</param>
*
* 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
*
* <returns>Liste de cartes</returns>
*/
public List<Card> getCardList()
{
return cardList;
}
/**
* <param name="args">Argument de l'événement</param>
*
* Evénement permettant de notifier que la main a changé
*/
protected internal void OnCardDrawable(HandCardChangedEventArgs args)
{
HandCardChanged?.Invoke(this, args);

@ -5,6 +5,12 @@ namespace OrderStacks.model.deck
{
public class CentaineDeck : Deck
{
/**
* <param name="borneMin">Valeur minimale du deck</param>
* <param name="borneMax">Valeur maximale du deck</param>
* <param name="nbCard">Nombre de carte dans le deck</param>
* 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)));
}
}
}

@ -5,13 +5,19 @@ namespace OrderStacks.model.deck
{
public class ClassicDeck : Deck
{
/**
* <param name="borneMin">Valeur minimale du deck</param>
* <param name="borneMax">Valeur maximale du deck</param>
* <param name="nbCard">Nombre de carte dans le deck</param>
* 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));
}
}
}

@ -5,13 +5,19 @@ namespace OrderStacks.model.deck
{
public class Decimal1Deck : Deck
{
/**
* <param name="borneMin">Valeur minimale du deck</param>
* <param name="borneMax">Valeur maximale du deck</param>
* <param name="nbCard">Nombre de carte dans le deck</param>
* 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));
}
}
}

@ -5,13 +5,19 @@ namespace OrderStacks.model.deck
{
public class Decimal2Deck : Deck
{
/**
* <param name="borneMin">Valeur minimale du deck</param>
* <param name="borneMax">Valeur maximale du deck</param>
* <param name="nbCard">Nombre de carte dans le deck</param>
* 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));
}
}
}

@ -6,31 +6,53 @@ namespace OrderStacks.model.deck
{
public abstract class Deck
{
protected List<Card> deck = new List<Card>();
protected int nbCard;
/**
* <param name="nbCard">Nombre de carte dans le deck</param>
* Constructeur
*/
protected Deck(int nbCard)
{
this.nbCard = nbCard;
}
/**
* Fonction retournant le nombre de carte dans le deck
*/
public int size()
{
return deck.Count;
}
/**
* <param name="index">Index supprimé</param>
* Fonction permettant de retirer un index du deck
*/
public void removeAt(int index)
{
deck.RemoveAt(index);
}
/**
* <param name="index">Index de la carte chercher</param>
* Fonction retournant la carte contenu dans l'index
* <returns>Carte à la position chercher</returns>
*/
public Card getCard(int index)
{
return deck[index];
}
protected void InsertionDichotomique(List<Card> deck, int start, int end, Card card)
/**
* <param name="card">Carte que l'on souhaite insérer</param>
* <param name="start">Début de la plage de recherche</param>
* <param name="end">Fin de la plage de recherche</param>
* 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;
}
}

@ -5,6 +5,12 @@ namespace OrderStacks.model.deck
{
public class DizaineDeck : Deck
{
/**
* <param name="borneMin">Valeur minimale du deck</param>
* <param name="borneMax">Valeur maximale du deck</param>
* <param name="nbCard">Nombre de carte dans le deck</param>
* 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)));
}
}
}

@ -7,7 +7,10 @@ namespace OrderStacks.model.deck
{
/**
* Fonction permettant de créer un jeu de carte pour jouer avec les fractions
* <param name="borneMin">Valeur minimale du deck</param>
* <param name="borneMax">Valeur maximale du deck</param>
* <param name="nbCard">Nombre de carte dans le deck</param>
* 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)));
}
}
}

@ -5,6 +5,12 @@ namespace OrderStacks.model.deck
{
public class MilliemeDeck : Deck
{
/**
* <param name="borneMin">Valeur minimale du deck</param>
* <param name="borneMax">Valeur maximale du deck</param>
* <param name="nbCard">Nombre de carte dans le deck</param>
* 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)));
}
}
}

@ -5,13 +5,19 @@ namespace OrderStacks.model.deck
{
public class RelativeDeck : Deck
{
/**
* <param name="borneMin">Valeur minimale du deck</param>
* <param name="borneMax">Valeur maximale du deck</param>
* <param name="nbCard">Nombre de carte dans le deck</param>
* 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));
}
}
}

@ -9,6 +9,11 @@ namespace OrderStacks.model.@event
public Card NewCard { get; set; }
public int Position { get; set; }
/**
* <param name="newCard">Nouvelle carte ajouté dans la main</param>
* <param name="position">Position de la carte dans la main</param>
* Constructeur
*/
public HandCardChangedEventArgs(Card newCard, int position)
{
NewCard = newCard;

@ -7,9 +7,14 @@ namespace OrderStacks.model.@event
public class PlayerChangedEventArgs : EventArgs
{
public String Pseudo;
public string Pseudo;
public List<Card> NewCurrentHand;
/**
* <param name="newCurrentHand">Nouvelle liste de carte active</param>
* <param name="pseudo">Pseudo du nouvelle utilisateur actif</param>
* Constructeur
*/
public PlayerChangedEventArgs(List<Card> newCurrentHand, string pseudo)
{
NewCurrentHand = newCurrentHand;

@ -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)
/**
* <param name="numStackChanged">Index de la pile changé</param>
* <param name="newTopRangeCard">Nouvelle carte en haut de la pile</param>
* <param name="oldTopRangeCard">Ancienne carte en haut de la pile</param>
* Constructeur
*/
public TopRangeChangedEventArgs(int numStackChanged, Card newTopRangeCard, Card oldTopRangeCard)
{
NewTopRangeCard = newTopRangeCard;
OldTopRangeCard = oldTopRangeCard;

@ -8,6 +8,11 @@ namespace OrderStacks.model.gameActions.abstractRules
protected Piles ListOrderedStacks { get; set; }
public string ErrorMessage { get; set; } = "";
/**
* <param name="listOrderedStacks">Piles de jeu</param>
*
* Constructeur
*/
protected GameAction(Piles listOrderedStacks)
{
ListOrderedStacks = listOrderedStacks;

@ -33,7 +33,12 @@ namespace OrderStacks.model.gameActions.abstractRules
#endregion
/**
* <param name="deck">Deck de carte</param>
* <param name="piles">Piles du jeu</param>
*
* Constructeur
*/
protected GameMode(Piles piles, Deck deck)
{
gameActions = new List<GameAction>();
@ -41,6 +46,12 @@ namespace OrderStacks.model.gameActions.abstractRules
this.deck = deck;
}
/**
* <param name="nbPlayer">Nombre de joueur</param>
* <param name="players">Pseudo du/des joueur(s)</param>
*
* Fonction permettant de charger les paramètres de jeu
*/
public abstract void load(int nbPlayer, List<Player> players);
protected void defineNbMaxCard(int nbPlayer)
@ -62,6 +73,13 @@ namespace OrderStacks.model.gameActions.abstractRules
}
}
/**
* <param name="ar">Liste de carte</param>
* <param name="start">Index de départ</param>
* <param name="end">Index de fin</param>
*
* Fonction de tri
*/
protected void quickSort(List<Card> ar, int start, int end)
{
if (start < end)
@ -89,6 +107,11 @@ namespace OrderStacks.model.gameActions.abstractRules
}
}
/**
* <param name="players">Liste de joueur</param>
*
* Fonction permettant de distribuer les cartes en début de partie
*/
protected void distribueCard(List<Player> players)
{
players.ForEach(player =>
@ -104,14 +127,50 @@ namespace OrderStacks.model.gameActions.abstractRules
});
}
/**
* <param name="currentHand">Liste de carte du joueur actif</param>
* <param name="player">Joueur actif</param>
*
* Fonction permettant au joueur actif de piocher une carte
*/
public abstract void pioche(List<Card> currentHand, Player player);
/**
* <param name="player">Joueur actif</param>
* <param name="currentHand">Liste de carte du joeuur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
* <param name="orderedStackSelected">Pile séléctionnée</param>
* <param name="valueCard">Valeur de la carte en train d'être joué</param>
*
* Fonction permettant de tenter de jouer une carte
*
* <returns>Booléen de carte joué</returns>
*/
public abstract bool playCard(decimal valueCard, List<Card> currentHand, int orderedStackSelected, Player player, List<Card> CurrentCardPlayed);
/**
* <param name="currentHand">Liste de carte du joueur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
* <param name="player">Joueur actif</param>
*
* Fonction permettant de lancer la fin du tour et de vérifier la fin du jeu
*
* <returns>Booléen de fin de jeu</returns>
*/
public abstract bool endTurn(List<Card> currentHand, List<Card> CurrentCardPlayed, Player player);
/**
* <param name="currentHand">Liste de carte du joueur actif</param>
*
* Fonction permettant de vérifier si c'est la fin du jeu
*/
public abstract void TestEndGame(List<Card> currentHand);
/**
* Fonction permettant de retourner le nombre de carte du deck
*
* <returns>Nombre de carte dans le deck</returns>
*/
public int getScore()
{
return deck.size();

@ -9,12 +9,39 @@ namespace OrderStacks.model.gameActions.abstractRules
public Card OldCard { get; set; }
/**
* <param name="listOrderedStacks">Piles de jeu</param>
*
* Constructeur
*/
protected JouerUneCarte(Piles ListOrderedStacks) : base(ListOrderedStacks)
{
}
/**
* <param name="player">Joueur actif</param>
* <param name="currentHand">Liste de carte du joeuur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
* <param name="orderedStackSelected">Pile séléctionnée</param>
* <param name="valueCard">Valeur de la carte en train d'être joué</param>
*
* Fonction permettant de tenter de jouer une carte
*
* <returns>Booléen de carte joué</returns>
*/
public abstract bool play(decimal valueCard, List<Card> CurrentHand, int orderedStackSelected, Player player, List<Card> CurrentCardPlayed);
/**
* <param name="player">Joueur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
* <param name="bottomUp">Booléen d'ascendance</param>
* <param name="card">Carte joué</param>
* <param name="stack">Pile joué</param>
*
* Fonction permettant de tenter de jouer une carte
*
* <returns>Booléen de carte joué</returns>
*/
protected abstract bool Rule(Card card, Stack<Card> stack, bool bottomUp, Player player, List<Card> CurrentCardPlayed);
}
}

@ -7,10 +7,23 @@ namespace OrderStacks.model.gameActions.abstractRules
{
public abstract class Piocher : GameAction
{
/**
* <param name="listOrderedStacks">Piles de jeu</param>
*
* Constructeur
*/
public Piocher(Piles ListOrderedStacks) : base(ListOrderedStacks)
{
}
/**
* <param name="player">Joueur actif</param>
* <param name="CurrentHand">Liste de carte du joeuur actif</param>
* <param name="deck">Liste de carte non découverte</param>
* <param name="nbMaxCard">Nombre maximum de carte dans la main pour le joueur actif</param>
*
* Fonction permettant de faire piocher un joueur
*/
public abstract void pioche(List<Card> CurrentHand, Deck deck, Player player, int nbMaxCard);
}
}

@ -6,12 +6,32 @@ namespace OrderStacks.model.gameActions.abstractRules
{
public abstract class TerminerSonTour : GameAction
{
/**
* <param name="listOrderedStacks">Piles de jeu</param>
*
* Constructeur
*/
protected TerminerSonTour(Piles ListOrderedStacks) : base(ListOrderedStacks)
{
}
/**
* <param name="CurrentHand">Liste de carte du joeuur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
*
* Fonction permettant de terminer son tour
*
* <returns>Booléen indiquant si le changement de joueur peut se passer</returns>
*/
public abstract bool end(List<Card> CurrentHand, List<Card> CurrentCardPlayed);
/**
* <param name="CurrentHand">Liste de carte du joueur actif</param>
*
* Fonction permettant de gérer le test de fin du jeu
*
* <returns>Booléen de fin du jeu</returns>
*/
public bool Test(List<Card> CurrentHand)
{
if (CurrentHand.Count != 0)
@ -23,8 +43,19 @@ namespace OrderStacks.model.gameActions.abstractRules
return false;
}
/**
* <param name="CurrentHand">Liste de carte du joueur actif</param>
* <param name="playableCard">Liste des cartes jouables</param>
*
* Fonction permettant de chercher les cartes pouvants être jouées et les ajoutes à la liste des cartes jouables
*/
protected abstract void tryToFindSoluce(List<Card> playableCard, List<Card> CurrentHand);
/**
* <param name="playableCard">Liste des cartes jouables</param>
*
* Fonction vérifiant que les règles de fin de jeu ne sont pas arrivé
*/
protected abstract bool testEndGame(List<Card> playableCard);
}
}

@ -9,11 +9,22 @@ namespace OrderStacks.model.gameActions.classic
{
public class GameModeClassic : GameMode
{
/**
* <param name="deck">Deck de carte</param>
* <param name="piles">Piles du jeu</param>
*
* Constructeur
*/
public GameModeClassic(Piles piles, Deck deck) : base(piles, deck)
{
}
/**
* <param name="nbPlayer">Nombre de joueur</param>
* <param name="players">Pseudo du/des joueur(s)</param>
*
* Fonction permettant de charger les paramètres de jeu
*/
override public void load(int nbPlayer, List<Player> players)
{
gameActions.Add(new PiocherClassic(Piles));
@ -24,6 +35,12 @@ namespace OrderStacks.model.gameActions.classic
distribueCard(players);
}
/**
* <param name="currentHand">Liste de carte du joueur actif</param>
* <param name="player">Joueur actif</param>
*
* Fonction permettant au joueur actif de piocher une carte
*/
override public void pioche(List<Card> currentHand, Player player)
{
Message = "";
@ -31,6 +48,17 @@ namespace OrderStacks.model.gameActions.classic
quickSort(currentHand, 0, currentHand.Count - 1);
}
/**
* <param name="player">Joueur actif</param>
* <param name="currentHand">Liste de carte du joeuur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
* <param name="orderedStackSelected">Pile séléctionnée</param>
* <param name="valueCard">Valeur de la carte en train d'être joué</param>
*
* Fonction permettant de tenter de jouer une carte
*
* <returns>Booléen de carte joué</returns>
*/
override public bool playCard(decimal valueCard, List<Card> currentHand, int orderedStackSelected, Player player, List<Card> CurrentCardPlayed)
{
Message = "";
@ -48,6 +76,15 @@ namespace OrderStacks.model.gameActions.classic
}
}
/**
* <param name="currentHand">Liste de carte du joueur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
* <param name="player">Joueur actif</param>
*
* Fonction permettant de lancer la fin du tour et de vérifier la fin du jeu
*
* <returns>Booléen de fin de jeu</returns>
*/
override public bool endTurn(List<Card> currentHand, List<Card> CurrentCardPlayed, Player player)
{
Message = "";
@ -65,6 +102,11 @@ namespace OrderStacks.model.gameActions.classic
}
}
/**
* <param name="currentHand">Liste de carte du joueur actif</param>
*
* Fonction permettant de vérifier si c'est la fin du jeu
*/
override public void TestEndGame(List<Card> currentHand)
{
if (((TerminerSonTourClassic)gameActions[2]).Test(currentHand))

@ -8,11 +8,26 @@ namespace OrderStacks.model.gameActions.classic
{
public class JouerUneCarteClassic : JouerUneCarte
{
/**
* <param name="listOrderedStacks">Piles de jeu</param>
*
* Constructeur
*/
public JouerUneCarteClassic(Piles ListOrderedStacks) : base(ListOrderedStacks)
{
}
/**
* <param name="player">Joueur actif</param>
* <param name="currentHand">Liste de carte du joeuur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
* <param name="orderedStackSelected">Pile séléctionnée</param>
* <param name="valueCard">Valeur de la carte en train d'être joué</param>
*
* Fonction permettant de tenter de jouer une carte
*
* <returns>Booléen de carte joué</returns>
*/
override public bool play(decimal valueCard, List<Card> CurrentHand, int orderedStackSelected, Player player, List<Card> CurrentCardPlayed)
{
foreach (Card card in CurrentHand)
@ -48,6 +63,17 @@ namespace OrderStacks.model.gameActions.classic
return false;
}
/**
* <param name="player">Joueur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
* <param name="bottomUp">Booléen d'ascendance</param>
* <param name="card">Carte joué</param>
* <param name="stack">Pile joué</param>
*
* Fonction permettant de tenter de jouer une carte
*
* <returns>Booléen de carte joué</returns>
*/
override protected bool Rule(Card card, Stack<Card> stack, bool bottomUp, Player player, List<Card> CurrentCardPlayed)
{
if ((bottomUp && card.Value.CompareTo(stack.Peek().Value) > 0) || (!bottomUp && card.Value.CompareTo(stack.Peek().Value) < 0) || card.Value.CompareTo(stack.Peek().Value - 10) == 0 || card.Value.CompareTo(stack.Peek().Value + 10) == 0)

@ -9,11 +9,23 @@ namespace OrderStacks.model.gameActions.classic
{
public class PiocherClassic : Piocher
{
/**
* <param name="listOrderedStacks">Piles de jeu</param>
*
* Constructeur
*/
public PiocherClassic(Piles ListOrderedStacks) : base(ListOrderedStacks)
{
}
/**
* <param name="player">Joueur actif</param>
* <param name="CurrentHand">Liste de carte du joeuur actif</param>
* <param name="deck">Liste de carte non découverte</param>
* <param name="nbMaxCard">Nombre maximum de carte dans la main pour le joueur actif</param>
*
* Fonction permettant de faire piocher un joueur
*/
override public void pioche(List<Card> CurrentHand, Deck deck, Player player, int nbMaxCard)
{
int nbPickedCard = nbMaxCard - CurrentHand.Count;

@ -8,11 +8,23 @@ namespace OrderStacks.model.gameActions.classic
{
public class TerminerSonTourClassic : TerminerSonTour
{
/**
* <param name="listOrderedStacks">Piles de jeu</param>
*
* Constructeur
*/
public TerminerSonTourClassic(Piles ListOrderedStacks) : base(ListOrderedStacks)
{
}
/**
* <param name="CurrentHand">Liste de carte du joeuur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
*
* Fonction permettant de terminer son tour
*
* <returns>Booléen indiquant si le changement de joueur peut se passer</returns>
*/
override public bool end(List<Card> CurrentHand, List<Card> CurrentCardPlayed)
{
if (CurrentHand.Count == 0 || CurrentCardPlayed.Count >= 2)
@ -27,6 +39,12 @@ namespace OrderStacks.model.gameActions.classic
}
/**
* <param name="CurrentHand">Liste de carte du joueur actif</param>
* <param name="playableCard">Liste des cartes jouables</param>
*
* Fonction permettant de chercher les cartes pouvants être jouées et les ajoutes à la liste des cartes jouables
*/
override protected void tryToFindSoluce(List<Card> playableCard, List<Card> CurrentHand)
{
int findDownCard = 0;
@ -152,19 +170,13 @@ namespace OrderStacks.model.gameActions.classic
});
}
/**
* <param name="playableCard">Liste des cartes jouables</param>
*
* Fonction vérifiant que les règles de fin de jeu ne sont pas arrivé
*/
override protected bool testEndGame(List<Card> playableCard)
{
//if (playableCard.Count == 2)
//{
// foreach (Card c in playableCard)
// {
// if (Equals(c.getName(), ThreeCard.CARD_THREE))
// {
// return false;
// }
// }
//}
//else
if (playableCard.Count < 2)
{
return false;

@ -10,10 +10,22 @@ namespace OrderStacks.model.gameActions.decimals
{
public class GameModeDecimal : GameMode
{
/**
* <param name="deck">Deck de carte</param>
* <param name="piles">Piles du jeu</param>
*
* Constructeur
*/
public GameModeDecimal(Piles piles, Deck deck) : base(piles, deck)
{
}
/**
* <param name="nbPlayer">Nombre de joueur</param>
* <param name="players">Pseudo du/des joueur(s)</param>
*
* Fonction permettant de charger les paramètres de jeu
*/
override public void load(int nbPlayer, List<Player> players)
{
gameActions.Add(new PiocherClassic(Piles));
@ -24,6 +36,12 @@ namespace OrderStacks.model.gameActions.decimals
distribueCard(players);
}
/**
* <param name="currentHand">Liste de carte du joueur actif</param>
* <param name="player">Joueur actif</param>
*
* Fonction permettant au joueur actif de piocher une carte
*/
override public void pioche(List<Card> currentHand, Player player)
{
Message = "";
@ -31,6 +49,17 @@ namespace OrderStacks.model.gameActions.decimals
quickSort(currentHand, 0, currentHand.Count - 1);
}
/**
* <param name="player">Joueur actif</param>
* <param name="currentHand">Liste de carte du joeuur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
* <param name="orderedStackSelected">Pile séléctionnée</param>
* <param name="valueCard">Valeur de la carte en train d'être joué</param>
*
* Fonction permettant de tenter de jouer une carte
*
* <returns>Booléen de carte joué</returns>
*/
override public bool playCard(decimal valueCard, List<Card> currentHand, int orderedStackSelected, Player player, List<Card> CurrentCardPlayed)
{
Message = "";
@ -48,6 +77,15 @@ namespace OrderStacks.model.gameActions.decimals
}
}
/**
* <param name="currentHand">Liste de carte du joueur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
* <param name="player">Joueur actif</param>
*
* Fonction permettant de lancer la fin du tour et de vérifier la fin du jeu
*
* <returns>Booléen de fin de jeu</returns>
*/
override public bool endTurn(List<Card> currentHand, List<Card> CurrentCardPlayed, Player player)
{
Message = "";
@ -65,6 +103,11 @@ namespace OrderStacks.model.gameActions.decimals
}
}
/**
* <param name="currentHand">Liste de carte du joueur actif</param>
*
* Fonction permettant de vérifier si c'est la fin du jeu
*/
override public void TestEndGame(List<Card> currentHand)
{
if (((TerminerSonTourDecimal)gameActions[2]).Test(currentHand))

@ -8,10 +8,26 @@ namespace OrderStacks.model.gameActions.decimals
{
public class JouerUneCarteDecimal : JouerUneCarte
{
/**
* <param name="listOrderedStacks">Piles de jeu</param>
*
* Constructeur
*/
public JouerUneCarteDecimal(Piles ListOrderedStacks) : base(ListOrderedStacks)
{
}
/**
* <param name="player">Joueur actif</param>
* <param name="currentHand">Liste de carte du joeuur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
* <param name="orderedStackSelected">Pile séléctionnée</param>
* <param name="valueCard">Valeur de la carte en train d'être joué</param>
*
* Fonction permettant de tenter de jouer une carte
*
* <returns>Booléen de carte joué</returns>
*/
override public bool play(decimal valueCard, List<Card> CurrentHand, int orderedStackSelected, Player player, List<Card> CurrentCardPlayed)
{
foreach (Card card in CurrentHand)
@ -47,6 +63,17 @@ namespace OrderStacks.model.gameActions.decimals
return false;
}
/**
* <param name="player">Joueur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
* <param name="bottomUp">Booléen d'ascendance</param>
* <param name="card">Carte joué</param>
* <param name="stack">Pile joué</param>
*
* Fonction permettant de tenter de jouer une carte
*
* <returns>Booléen de carte joué</returns>
*/
override protected bool Rule(Card card, Stack<Card> stack, bool bottomUp, Player player, List<Card> CurrentCardPlayed)
{
if ((bottomUp && card.Value > stack.Peek().Value) || (!bottomUp && card.Value < stack.Peek().Value))

@ -8,10 +8,23 @@ namespace OrderStacks.model.gameActions.decimals
{
public class TerminerSonTourDecimal : TerminerSonTour
{
/**
* <param name="listOrderedStacks">Piles de jeu</param>
*
* Constructeur
*/
public TerminerSonTourDecimal(Piles ListOrderedStacks) : base(ListOrderedStacks)
{
}
/**
* <param name="CurrentHand">Liste de carte du joeuur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
*
* Fonction permettant de terminer son tour
*
* <returns>Booléen indiquant si le changement de joueur peut se passer</returns>
*/
override public bool end(List<Card> CurrentHand, List<Card> CurrentCardPlayed)
{
if (CurrentHand.Count == 0 || CurrentCardPlayed.Count >= 2)
@ -26,6 +39,12 @@ namespace OrderStacks.model.gameActions.decimals
}
/**
* <param name="CurrentHand">Liste de carte du joueur actif</param>
* <param name="playableCard">Liste des cartes jouables</param>
*
* Fonction permettant de chercher les cartes pouvants être jouées et les ajoutes à la liste des cartes jouables
*/
override protected void tryToFindSoluce(List<Card> playableCard, List<Card> CurrentHand)
{
int findDownCard = 0;
@ -151,6 +170,11 @@ namespace OrderStacks.model.gameActions.decimals
});
}
/**
* <param name="playableCard">Liste des cartes jouables</param>
*
* Fonction vérifiant que les règles de fin de jeu ne sont pas arrivé
*/
override protected bool testEndGame(List<Card> playableCard)
{
if (playableCard.Count < 2)

@ -10,10 +10,22 @@ namespace OrderStacks.model.gameActions.fraction
{
public class GameModeFraction : GameMode
{
/**
* <param name="deck">Deck de carte</param>
* <param name="piles">Piles du jeu</param>
*
* Constructeur
*/
public GameModeFraction(Piles piles, Deck deck) : base(piles, deck)
{
}
/**
* <param name="nbPlayer">Nombre de joueur</param>
* <param name="players">Pseudo du/des joueur(s)</param>
*
* Fonction permettant de charger les paramètres de jeu
*/
override public void load(int nbPlayer, List<Player> players)
{
gameActions.Add(new PiocherClassic(Piles));
@ -24,6 +36,12 @@ namespace OrderStacks.model.gameActions.fraction
distribueCard(players);
}
/**
* <param name="currentHand">Liste de carte du joueur actif</param>
* <param name="player">Joueur actif</param>
*
* Fonction permettant au joueur actif de piocher une carte
*/
override public void pioche(List<Card> currentHand, Player player)
{
Message = "";
@ -31,6 +49,17 @@ namespace OrderStacks.model.gameActions.fraction
quickSort(currentHand, 0, currentHand.Count - 1);
}
/**
* <param name="player">Joueur actif</param>
* <param name="currentHand">Liste de carte du joeuur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
* <param name="orderedStackSelected">Pile séléctionnée</param>
* <param name="valueCard">Valeur de la carte en train d'être joué</param>
*
* Fonction permettant de tenter de jouer une carte
*
* <returns>Booléen de carte joué</returns>
*/
override public bool playCard(decimal valueCard, List<Card> currentHand, int orderedStackSelected, Player player, List<Card> CurrentCardPlayed)
{
Message = "";
@ -48,6 +77,15 @@ namespace OrderStacks.model.gameActions.fraction
}
}
/**
* <param name="currentHand">Liste de carte du joueur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
* <param name="player">Joueur actif</param>
*
* Fonction permettant de lancer la fin du tour et de vérifier la fin du jeu
*
* <returns>Booléen de fin de jeu</returns>
*/
override public bool endTurn(List<Card> currentHand, List<Card> CurrentCardPlayed, Player player)
{
Message = "";
@ -65,6 +103,11 @@ namespace OrderStacks.model.gameActions.fraction
}
}
/**
* <param name="currentHand">Liste de carte du joueur actif</param>
*
* Fonction permettant de vérifier si c'est la fin du jeu
*/
override public void TestEndGame(List<Card> currentHand)
{
if (((TerminerSonTourFraction)gameActions[2]).Test(currentHand))

@ -9,10 +9,26 @@ namespace OrderStacks.model.gameActions.fraction
{
public class JouerUneCarteFraction : JouerUneCarte
{
/**
* <param name="listOrderedStacks">Piles de jeu</param>
*
* Constructeur
*/
public JouerUneCarteFraction(Piles ListOrderedStacks) : base(ListOrderedStacks)
{
}
/**
* <param name="player">Joueur actif</param>
* <param name="currentHand">Liste de carte du joeuur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
* <param name="orderedStackSelected">Pile séléctionnée</param>
* <param name="valueCard">Valeur de la carte en train d'être joué</param>
*
* Fonction permettant de tenter de jouer une carte
*
* <returns>Booléen de carte joué</returns>
*/
override public bool play(decimal valueCard, List<Card> CurrentHand, int orderedStackSelected, Player player, List<Card> CurrentCardPlayed)
{
foreach (Card card in CurrentHand)
@ -48,6 +64,17 @@ namespace OrderStacks.model.gameActions.fraction
return false;
}
/**
* <param name="player">Joueur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
* <param name="bottomUp">Booléen d'ascendance</param>
* <param name="card">Carte joué</param>
* <param name="stack">Pile joué</param>
*
* Fonction permettant de tenter de jouer une carte
*
* <returns>Booléen de carte joué</returns>
*/
override protected bool Rule(Card card, Stack<Card> stack, bool bottomUp, Player player, List<Card> CurrentCardPlayed)
{
if ((bottomUp && card.Value > stack.Peek().Value) || (!bottomUp && card.Value < stack.Peek().Value))

@ -9,10 +9,23 @@ namespace OrderStacks.model.gameActions.fraction
{
public class TerminerSonTourFraction : TerminerSonTour
{
/**
* <param name="listOrderedStacks">Piles de jeu</param>
*
* Constructeur
*/
public TerminerSonTourFraction(Piles ListOrderedStacks) : base(ListOrderedStacks)
{
}
/**
* <param name="CurrentHand">Liste de carte du joeuur actif</param>
* <param name="CurrentCardPlayed">Liste des cartes jouées durant le tour du joueur actif</param>
*
* Fonction permettant de terminer son tour
*
* <returns>Booléen indiquant si le changement de joueur peut se passer</returns>
*/
public override bool end(List<Card> CurrentHand, List<Card> CurrentCardPlayed)
{
if (CurrentHand.Count == 0 || CurrentCardPlayed.Count >= 2)
@ -27,6 +40,11 @@ namespace OrderStacks.model.gameActions.fraction
}
}
/**
* <param name="playableCard">Liste des cartes jouables</param>
*
* Fonction vérifiant que les règles de fin de jeu ne sont pas arrivé
*/
protected override bool testEndGame(List<Card> playableCard)
{
if (playableCard.Count < 2)
@ -36,6 +54,12 @@ namespace OrderStacks.model.gameActions.fraction
return true;
}
/**
* <param name="CurrentHand">Liste de carte du joueur actif</param>
* <param name="playableCard">Liste des cartes jouables</param>
*
* Fonction permettant de chercher les cartes pouvants être jouées et les ajoutes à la liste des cartes jouables
*/
protected override void tryToFindSoluce(List<Card> playableCard, List<Card> CurrentHand)
{
int findMultipleCard = 0;

@ -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<Card> CurrentCardPlayed = new List<Card>();
public string EndMessage { get; set; } = "";
@ -34,14 +32,29 @@ namespace OrderStacks.model.manager
public event EventHandler<EventArgs> EndGame;
public event EventHandler<PlayerChangedEventArgs> PlayerChanged;
public event PropertyChangedEventHandler PropertyChanged;
/**
* <param name="info">Nom de la propriété qui change</param>
* Evénement permettant de notifier qu'une propriété a changé
*/
public virtual void OnPropertyChanged(string info)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(info));
}
/**
* <param name="args">Argument(s) de l'événement</param>
* <param name="source">Source de l'événement</param>
* Evenement permettant de notifier la fin du jeu
*/
public void OnEndGame(object source, EventArgs args)
{
EndGame?.Invoke(source, args);
}
/**
* <param name="args">Argument(s) de l'événement</param>
* <param name="source">Source de l'événement</param>
* 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
/**
* <param name="parametreur">Parametreur de la partie</param>
* Constructeur
*/
protected GameManager(Parametreur parametreur)
{
this.parametreur = parametreur;
@ -92,7 +108,12 @@ namespace OrderStacks.model.manager
}
/**
* <param name="orderedStackSelected">Pile sélectionnée pour essayer de poser la carte</param>
*<param name="valueCard">Valeur de la carte séléctionnée</param>
* Fonction permettant de tenter de jouer une carte
* <return>Booléen de carte joué</return>
*/
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
* <returns>Booléen de fin de jeu</returns>
*/
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
* <returns>Piles du jeu</returns>
*/
public Piles getPiles()
{
return parametreur.GameMode.Piles;

@ -2,6 +2,10 @@
{
public abstract class MultiplayerGameManager : GameManager
{
/**
* <param name="parametreur">Parametreur de la partie</param>
* Constructeur
*/
protected MultiplayerGameManager(Parametreur parametreur) : base(parametreur)
{
}

@ -2,7 +2,10 @@ namespace OrderStacks.model.manager
{
public class SoloGameManager : GameManager
{
/**
* <param name="parametreur">Parametreur de la partie</param>
* Constructeur
*/
public SoloGameManager(Parametreur parametreur)
: base(parametreur)
{

@ -1,9 +0,0 @@
namespace OrderStacks.model.manager
{
public class LocalGameManager : MultiplayerGameManager
{
public LocalGameManager(Parametreur parametreur) : base(parametreur)
{
}
}
}

@ -2,6 +2,10 @@
{
public class RemoteGameManager : MultiplayerGameManager
{
/**
* <param name="parametreur">Parametreur de la partie</param>
* Constructeur
*/
public RemoteGameManager(Parametreur parametreur) : base(parametreur)
{
}

@ -4,7 +4,11 @@ namespace OrderStacks.model.piles
{
public class ClassicPiles : Piles
{
/**
* <param name="nbPile">Nombre de pile</param>
*
* Constructeur
*/
public ClassicPiles(int nbPile) : base(nbPile)
{
for (int i = 0; i < nbPile; i++)

@ -4,6 +4,11 @@ namespace OrderStacks.model.piles
{
public class FractionPiles : Piles
{
/**
* <param name="nbPile">Nombre de pile</param>
*
* Constructeur
*/
public FractionPiles(int nbPile) : base(nbPile)
{
for (int i = 0; i < nbPile; i++)

@ -9,6 +9,11 @@ namespace OrderStacks.model.piles
protected List<Stack<Card>> ListOrderedStacks { get; set; } = new List<Stack<Card>>();
public int Size { get; set; }
/**
* <param name="nbPile">Nombre de pile</param>
*
* Constructeur
*/
public Piles(int nbPile)
{
Size = nbPile;
@ -18,6 +23,13 @@ namespace OrderStacks.model.piles
}
}
/**
* <param name="i">Index de la pile</param>
*
* Fonction permettant de retourner une pile grâce à son index
*
* <returns>Pile de carte</returns>
*/
public Stack<Card> getStack(int i)
{
return ListOrderedStacks[i];

@ -4,6 +4,11 @@ namespace OrderStacks.model.piles
{
public class Piles0To1 : Piles
{
/**
* <param name="nbPile">Nombre de pile</param>
*
* Constructeur
*/
public Piles0To1(int nbPile) : base(nbPile)
{
for (int i = 0; i < nbPile; i++)

@ -4,6 +4,11 @@ namespace OrderStacks.model.piles
{
public class Piles0To10 : Piles
{
/**
* <param name="nbPile">Nombre de pile</param>
*
* Constructeur
*/
public Piles0To10(int nbPile) : base(nbPile)
{
for (int i = 0; i < nbPile; i++)

@ -4,6 +4,11 @@ namespace OrderStacks.model.piles
{
public class PilesMoins51To51 : Piles
{
/**
* <param name="nbPile">Nombre de pile</param>
*
* Constructeur
*/
public PilesMoins51To51(int nbPile) : base(nbPile)
{
for (int i = 0; i < nbPile; i++)

@ -4,7 +4,11 @@ namespace OrderStacks.model.piles
{
public class PilesMoins5To5 : Piles
{
/**
* <param name="nbPile">Nombre de pile</param>
*
* Constructeur
*/
public PilesMoins5To5(int nbPile) : base(nbPile)
{
for (int i = 0; i < nbPile; i++)

@ -33,7 +33,10 @@ namespace OrderStacks.view
/**
* <param name="playersNames">Liste des pseudos des joueurs</param>
* <param name="nbPile">Nombre de piles pour jouer</param>
* <param name="indexMode">Version du jeu joué</param>
* <param name="indexMode">Version du jeu pour jouer</param>
* <param name="nbCard">Nombre de cartes pour jouer</param>
*
* Constructeur
*/
public MainPage(List<string> 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
* <param name="sender">Instance qui envoi l'événement</param>
* <param name="args">Argument(s) de l'événement</param>
*
* 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
* <param name="sender">Instance qui envoi l'événement</param>
* <param name="args">Arguments de l'événement</param>
*
* 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.
* <param name="sender">Instance qui envoi l'événement</param>
* <param name="args">Arguments de l'événement</param>
*
* 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)
{
@ -177,7 +183,6 @@ namespace OrderStacks.view
case TouchActionType.Released:
case TouchActionType.Cancelled:
if (textDictionary.ContainsKey(args.Id))
{
@ -216,7 +221,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 +276,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 +319,10 @@ namespace OrderStacks.view
/**
* Evénement traitant la fin du jeu
* <param name="sender">Instance qui envoi l'événement</param>
* <param name="args">Argument(s) de l'événement</param>
*
* Evénement traitant la fin du jeu
*/
private void OnEndGame(object sender, EventArgs args)
{
@ -334,9 +340,11 @@ namespace OrderStacks.view
}
/**
* Fonction permettant de lancer le déplacement d'une carte sur une pile
* <param name="numStack">Index de la pile joué</param>
* <param name="value">Valeur de la carte joué</param>
*
* Fonction permettant de tenter de jouer une carte
*
* <returns>Booléen qui indique si la carte a pu être joué</returns>
*/
private bool Played(int numStack, decimal value)
@ -351,9 +359,10 @@ namespace OrderStacks.view
/**
* Evénement permettant de relancer le jeu avec les mêmes paramètres de jeu
* <param name="sender">Instance qui envoi l'événement</param>
* <param name="args">Argument de l'événement</param>
* <param name="args">Argument(s) de l'événement</param>
*
* Evénement permettant de relancer le jeu avec les mêmes paramètres
*/
private void Retry(object sender, EventArgs args)
{
@ -389,9 +398,10 @@ namespace OrderStacks.view
/**
* Evénement permettant de lancer la fin du tour d'un joueur
* <param name="sender">Instance qui envoi l'événement</param>
* <param name="args">Argument de l'événement</param>
* <param name="args">Argument(s) de l'événement</param>
*
* Evénement permettant de lancer la fin du tour d'un joueur
*/
private async void EndTurn(object sender, EventArgs args)
{
@ -413,9 +423,10 @@ namespace OrderStacks.view
/**
* Evénement permettant de naviguer entre les différentes pages de l'application
* <param name="sender">Instance qui envoi l'événement</param>
* <param name="args">Argument de l'événement</param>
* <param name="args">Argument(s) de l'événement</param>
*
* Evénement permettant de naviguer entre les différentes pages de l'application
*/
private async void PlayToHome(object sender, EventArgs args)
{

@ -25,8 +25,11 @@ namespace OrderStacks.view
/**
* <param name="textPaint">Objet dessiné</param>
* <param name="value">Carte qui est dessiné par le textPaint</param>
* <param name="textPaint">Objet à dessiner</param>
* <param name="value">Carte dessinée dans le textPaint</param>
* <param name="width">Taille de l'espace entre le centre de la carte et la bordure sur l'axe des x</param>
*
* 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
* <param name="canvas">Canvas où l'on souhaite dessiner l'objet contenu dans l'instance</param>
* <param name="color">Couleur qui sera prise par l'objet</param>
*
* 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
* <param name="color">Nouvelle couleur que l'on souhaite attribué à l'objet contenu dans l'instance</param>
*
* 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é
* <param name="location">Point que l'on souhaite tester</param>
*
* Fonction permettant de savoir si le point qu'on lui passe est dans la zone où l'objet est dessiné
*
* <returns>Booléen qui indique si le point donné est dans la zone où l'objet en instance est dessiné</returns>
*/
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
}
/**
* <param name="id">Index que l'on souhaite traiter</param>
* <param name="type">Type d'évenement lancé</param>
* <param name="location">Nouveau point</param>
*
* 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.
* <param name="id">Index de la position que l'on souhaite traiter</param>
* <param name="type">Type d'évenement lancé</param>
* <param name="location">Nouveau point que l'on souhaite traiter</param>
*/
public void ProcessTouchEvent(long id, TouchActionType type, SKPoint location)
{

@ -22,6 +22,7 @@ namespace OrderStacks.viewmodel
/**
* <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)
@ -31,6 +32,7 @@ namespace OrderStacks.viewmodel
/**
* <param name="view">Card représenté</param>
*
* Constructeur
*/
public CardVM(Card view)

@ -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
/**
* <param name="view">FractionCard représenté</param>
*
* 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.
*
* <returns>Nombre maximum de chiffre présent en numérateur et/ou dénominateur</returns>
*/
public string getDisplayMax()

@ -44,6 +44,7 @@ namespace OrderStacks.viewmodel
/**
* <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)
@ -69,6 +70,7 @@ namespace OrderStacks.viewmodel
* <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)
@ -149,6 +151,7 @@ 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()
@ -159,6 +162,7 @@ namespace OrderStacks.viewmodel
/**
* <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)
@ -182,6 +186,7 @@ namespace OrderStacks.viewmodel
/**
* <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)
@ -193,7 +198,9 @@ 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>
*
* 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)
@ -227,6 +234,7 @@ namespace OrderStacks.viewmodel
/**
* Fonction permettant de changer de joueur.
*
* <returns>Booléen de fin de jeu</returns>
*/
public bool endTurn()

@ -13,6 +13,7 @@ namespace OrderStacks.viewmodel
/**
* <param name="view">Player représenté</param>
*
* Constructeur
*/
public PlayerVM(Player view)
@ -28,6 +29,7 @@ namespace OrderStacks.viewmodel
/**
* <param name="args">Argument(s) de l'événement</param>
* <param name="sender">Source de l'événement</param>
*
* 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
/**
* <param name="card">Carte piocher</param>
*
* 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.
*
* <returns>Liste des cartes possédé par l'utilisateur</returns>
*/
public List<CardVM> getCardList()

Loading…
Cancel
Save