using System.Runtime.Serialization; namespace CoreLibrary.Regles { /// /// Classe définissant les règles difficiles du jeu. /// [DataContract] public class ReglesDifficiles : IRegles { /// /// Obtient l'indice des règles difficiles. /// public int Indice => 2; /// /// Obtient le nom des règles difficiles. /// public string Nom => "Règles difficiles"; /// /// Obtient la description des règles difficiles. /// public string Description => "Le but du jeu est de découvrir la combinaison. On génère aléatoirement deux combinaisons de 6 couleurs (six couleurs au total : jaune, bleu, rouge, vert, blanc et noir), une combinaison pour chaque joueur. Deux joueurs se battent pour trouver la combinaison en premier, il y a douze tours. Le premier joueur à trouver la combinaison à gagner, chaque joueur a le même nombre de coups à réaliser. Donc si le joueur un à trouvé la solution au bout de huit coups, le joueur deux doit finir son huitième coup. Si le joueur deux trouve la combinaison, les deux joueurs sont à égalité. Sinon, le joueur un gagne. Pour trouver la combinaison, les joueurs disposent de quatre indicateurs. Ces indicateurs sont quatre ronds qui représentent les 6 couleurs sélectionnées par le joueur. Un rond noir signifie qu’une couleur est à la bonne place, un rond blanc correspond à une mauvaise place et s'il n’y a pas d’indicateur aucune des couleurs n’est présentent dans la combinaison."; /// /// Obtient le nombre de joueurs autorisé pour les règles difficiles. /// public int NbJoueurs => 2; /// /// Obtient le nombre de tours maximum pour les règles difficiles. /// public int NbTour => 12; /// /// Obtient la taille maximale du code pour les règles difficiles. /// public int TailleCode => 6; /// /// Détermine si les règles difficiles sont égales à un objet spécifié. /// /// L'objet à comparer avec les règles difficiles. /// True si les règles difficiles sont égales à l'objet spécifié, sinon false. public override bool Equals(object? obj) => obj is ReglesDifficiles; /// /// Obtient le code de hachage pour les règles difficiles. /// /// Le code de hachage des règles difficiles. public override int GetHashCode() => Nom.GetHashCode(); } }