Exemple #1
0
 private MainPoker ConstructeurMainPoker(string nomJoueur, CartePoker carte1, CartePoker carte2, CartePoker[] board)
 {
     return(new MainPoker(new Joueur(nomJoueur)
     {
         Carte1 = carte1, Carte2 = carte2
     }, board));
 }
Exemple #2
0
 private MainPoker ConstructeurMainPoker(CartePoker carte1, CartePoker carte2, CartePoker carte3, CartePoker carte4, CartePoker carte5, CartePoker carte6, CartePoker carte7)
 {
     return(new MainPoker(new Joueur("Joueur")
     {
         Carte1 = carte1, Carte2 = carte2
     }, new CartePoker[] { carte3, carte4, carte5, carte6, carte7 }));
 }
Exemple #3
0
        /// <summary>
        /// Recherche d'une quinte parmi des cartes "triées"
        /// </summary>
        /// <param name="cartes"></param>
        /// <returns></returns>
        private Combinaison ChercherQuinte(List <CartePoker> cartes)
        {
            CartePoker        cartePrec    = null;
            int               taille       = 0;
            List <CartePoker> mainGagnante = new List <CartePoker>();

            foreach (CartePoker carte in cartes)
            {
                if (taille == 0)
                {
                    taille = 1;
                    mainGagnante.Add(carte);
                    cartePrec = carte;
                }
                else
                {
                    if (carte.Hauteur != cartePrec.Hauteur)
                    {
                        if (StrictementInferieur(carte, cartePrec))
                        {
                            taille++;
                            mainGagnante.Add(carte);
                            cartePrec = carte;
                            if (taille == 5)
                            {
                                break;
                            }
                        }
                        else
                        {
                            mainGagnante.Clear();
                            mainGagnante.Add(carte);
                            cartePrec = carte;
                            taille    = 1;
                        }
                    }
                }
            }
            // Cas particulier de la quinte ou l'As vaut 1
            if (taille == 4 && cartePrec.Hauteur == HauteurCarte.Deux)
            {
                if (cartes[0].Hauteur == HauteurCarte.As)
                {
                    // On a une quinte qui finit en 1 !
                    mainGagnante.Add(cartes[0]);
                    taille++;
                }
            }

            if (taille == 5)
            {
                return(new Combinaison(TypeCombinaison.Quinte, mainGagnante));
            }
            else
            {
                return(null);
            }
        }
Exemple #4
0
 /// <summary>
 /// Renvoie le libellé de la carte (idem traduction francaise)
 /// </summary>
 /// <param name="carte"></param>
 /// <returns></returns>
 public static string LibelleCarte(this CartePoker carte)
 {
     if (carte == null)
     {
         return("-");
     }
     else
     {
         return(NomHauteur(carte) + " de " + NomCouleur(carte));
     }
 }
Exemple #5
0
        public void EqualsTest2()
        {
            Joueur j = new Joueur("Joueur");

            j.Carte1 = JeuPoker.Cartes.AsCoeur;
            j.Carte2 = JeuPoker.Cartes.AsCarreau;
            var       board  = new CartePoker[] { JeuPoker.Cartes.AsTrefle, JeuPoker.Cartes.AsPique, JeuPoker.Cartes.DeuxCarreau, JeuPoker.Cartes.DeuxCoeur, JeuPoker.Cartes.DeuxTrefle };
            MainPoker target = new MainPoker(j, board);
            object    obj    = new MainPoker(j, board);

            Assert.IsTrue(target.Equals(obj));
        }
Exemple #6
0
        /// <summary>
        /// Récupération d'une image de carte en fonction de son état et de la valeur de la carte
        /// </summary>
        /// <param name="carte">La carte</param>
        /// <param name="main">L'état de la main</param>
        /// <param name="carteMontree">Le carte doit elle être montrée</param>
        /// <param name="cacherLesCartes">Les cartes sont elles tout le temps cachées ?</param>
        /// <returns></returns>
        private BitmapSource RecupererImageSelonEtat(CartePoker carte)
        {
            BitmapSource bi = null;

            switch (_etatDeLaMain)
            {
            // Affichage de la main d'un autre joueur
            case EtatMain.Concurrente:
                bi = GestionCartes.RecupererImageCarteCachee();
                break;

            // Affichage de carte jetée
            case EtatMain.JeteePersonnelle:
            case EtatMain.JeteeConcurrente:
                if (_carteMontree)
                {
                    bi = GestionCartes.RecupererImageSelonCarte(carte);
                }
                else
                {
                    bi = GestionCartes.RecupererImageCarteJetee();
                }
                break;

            // Affichage de carte montrées
            case EtatMain.Montree:
                bi = GestionCartes.RecupererImageSelonCarte(carte);
                break;

            // Affichage de son propre jeu
            case EtatMain.Personnelle:
                if (_carteMontree || !_cacherLesCartes)
                {
                    bi = GestionCartes.RecupererImageSelonCarte(carte);
                }
                else
                {
                    bi = GestionCartes.RecupererImageCarteCachee();
                }
                break;

            // Affichage d'une carte regardée
            case EtatMain.Regardee:
                bi = GestionCartes.RecupererImageCarteRegardee();
                break;

            // On ne renvoie rien
            case EtatMain.PasDeCartes:
                break;
            }

            return(bi);
        }
Exemple #7
0
        public void EqualsTest4()
        {
            Joueur j = new Joueur("Joueur");

            j.Carte1 = JeuPoker.Cartes.AsCoeur;
            j.Carte2 = JeuPoker.Cartes.AsCarreau;
            var       board1 = new CartePoker[] { JeuPoker.Cartes.AsTrefle, JeuPoker.Cartes.AsPique, JeuPoker.Cartes.DeuxCarreau, JeuPoker.Cartes.DeuxCoeur, JeuPoker.Cartes.DeuxTrefle };
            var       board2 = new CartePoker[] { JeuPoker.Cartes.RoiTrefle, JeuPoker.Cartes.RoiPique, JeuPoker.Cartes.RoiCarreau, JeuPoker.Cartes.RoiCoeur, JeuPoker.Cartes.DameTrefle };
            MainPoker target = new MainPoker(j, board1);
            object    obj    = new MainPoker(j, board2);

            Assert.IsFalse(target.Equals(obj));
        }
Exemple #8
0
 /// <summary>
 /// Enregistrer River
 /// </summary>
 /// <param name="carte"></param>
 /// <param name="pot"></param>
 internal void EnregistrerRiver(CartePoker carte, int pot)
 {
     try
     {
         River enregRiver = new River();
         enregRiver.Carte = carte;
         enregRiver.Pot   = pot;
         foreach (IStatistiques stat in _statistiques)
         {
             stat.Enregistrer(enregRiver);
         }
     }
     catch (Exception ex)
     {
         logServeur.Debug("Erreur lors d'EnregistrerRiver : " + ex.Message);
     }
 }
Exemple #9
0
 /// <summary>
 /// Enregistrer Turn
 /// </summary>
 /// <param name="carte"></param>
 /// <param name="pot"></param>
 internal void EnregistrerTurn(CartePoker carte, int pot)
 {
     try
     {
         Turn enregTurn = new Turn();
         enregTurn.Carte = carte;
         enregTurn.Pot   = pot;
         foreach (IStatistiques stat in _statistiques)
         {
             stat.Enregistrer(enregTurn);
         }
     }
     catch (Exception ex)
     {
         logServeur.Debug("Erreur lors d'EnregistrerTurn : " + ex.Message);
     }
 }
Exemple #10
0
        /// <summary>
        /// Porte dérobée pour tirer les cartes souhaitées : ne marche qu'en debug
        /// Les cartes sont dans le fichier %temp%\Pokercartes.txt et chaque ligne représente un tirage
        /// </summary>
        /// <returns>La carte choisie null si problème</returns>
        private static CartePoker TricherPourTirage()
        {
            CartePoker res = null;

            try
            {
                string pathCheat = System.IO.Path.Combine(Environment.GetEnvironmentVariable("TEMP"), NOM_FICHIER_TRICHE);
                if (System.IO.File.Exists(pathCheat) && new System.IO.FileInfo(pathCheat).Length > 0)
                {
                    string[] lines             = System.IO.File.ReadAllLines(pathCheat);
                    bool     ligneLue          = false;
                    System.IO.StreamWriter wrt = new System.IO.StreamWriter(pathCheat);
                    foreach (string line in lines)
                    {
                        if (ligneLue)
                        {
                            wrt.WriteLine(line);
                        }
                        if (!ligneLue && line.Length != 0)
                        {
                            string[] hauteurcouleur = line.Split(' ');
                            if (hauteurcouleur.Length >= 2)
                            {
                                ligneLue = true;
                                try
                                {
                                    res = new CartePoker((HauteurCarte)Enum.Parse(typeof(HauteurCarte), hauteurcouleur[0]), (CouleurCarte)Enum.Parse(typeof(CouleurCarte), hauteurcouleur[1]));
                                }
                                catch (Exception ex)
                                {
                                    logServeur.Debug("    Warning : Problème 1 lors de la lecture des cartes à choisir : " + ex.Message);
                                }
                            }
                        }
                    }
                    wrt.Close();
                }
            }
            catch (Exception ex)
            {
                logServeur.Debug("    Warning : Problème 2 lors de la lecture des cartes à choisir : " + ex.Message);
            }

            return(res);
        }
Exemple #11
0
 /// <summary>
 /// Enregistrement du flop
 /// </summary>
 /// <param name="carte1"></param>
 /// <param name="carte2"></param>
 /// <param name="carte3"></param>
 /// <param name="pot"></param>
 internal void EnregistrerFlop(CartePoker carte1, CartePoker carte2, CartePoker carte3, int pot)
 {
     try
     {
         Flop enregFlop = new Flop();
         enregFlop.Carte1 = carte1;
         enregFlop.Carte2 = carte2;
         enregFlop.Carte3 = carte3;
         enregFlop.Pot    = pot;
         foreach (IStatistiques stat in _statistiques)
         {
             stat.Enregistrer(enregFlop);
         }
     }
     catch (Exception ex)
     {
         logServeur.Debug("Erreur lors d'EnregistrerFlop : " + ex.Message);
     }
 }
Exemple #12
0
 /// <summary>
 /// Modification des infos d'un joueur + les cartes + le pot
 /// </summary>
 /// <param name="joueurAChanger"></param>
 /// <param name="carte1"></param>
 /// <param name="carte2"></param>
 /// <param name="pot"></param>
 public void ChangerJoueur(Joueur joueurAChanger, EtatMain etatDeLaMain, CartePoker carte1, CartePoker carte2, int?pot)
 {
     logClient.Debug("Methode 'ChangerJoueur'");
     logClient.Debug("   Joueur   = " + joueurAChanger.Nom);
     logClient.Debug("   DerniereAction = " + joueurAChanger.DerniereAction.ToString());
     logClient.Debug("   Tapis = " + joueurAChanger.TapisJoueur.ToString());
     logClient.Debug("   JeterCartes = " + joueurAChanger.JeterCartes.ToString());
     logClient.Debug("   TourDeJeu = " + joueurAChanger.TourDeJeu.ToString());
     logClient.Debug("   EtatMain = " + etatDeLaMain);
     logClient.Debug("   Bouton = " + joueurAChanger.Bouton.ToString());
     logClient.Debug("   Carte1   = " + carte1);
     logClient.Debug("   Carte2   = " + carte2);
     if (pot.HasValue)
     {
         logClient.Debug("   Pot      = " + pot.Value.ToString());
     }
     if (ChangementInfosJoueur != null)
     {
         ChangementInfosJoueur(joueurAChanger, etatDeLaMain, carte1, carte2, pot);
     }
 }
Exemple #13
0
        private static string NomHauteur(CartePoker carte)
        {
            string nom = string.Empty;

            switch (carte.Hauteur)
            {
            case HauteurCarte.As:
                nom = "As";
                break;

            case HauteurCarte.Roi:
                nom = "Roi";
                break;

            case HauteurCarte.Dame:
                nom = "Dame";
                break;

            case HauteurCarte.Valet:
                nom = "Valet";
                break;

            case HauteurCarte.Dix:
            case HauteurCarte.Neuf:
            case HauteurCarte.Huit:
            case HauteurCarte.Sept:
            case HauteurCarte.Six:
            case HauteurCarte.Cinq:
            case HauteurCarte.Quatre:
            case HauteurCarte.Trois:
            case HauteurCarte.Deux:
                nom = ((int)carte.Hauteur).ToString();
                break;
            }

            return(nom);
        }
Exemple #14
0
        protected override void EnregistrerNouvelleDonne(NouvelleDonne evt)
        {
            _dealer                 = evt.Dealer;
            _petiteBlind            = evt.PetiteBlind;
            _grosseBlind            = evt.GrosseBlind;
            _montantGrosseBlind     = evt.InfosBlind.MontantGrosseBlind;
            _montantPetiteBlind     = evt.InfosBlind.MontantPetiteBlind;
            _listeJoueursDebutDonne = evt.ListeJoueurs;
            _numDonne               = evt.NumeroDonne;

            EcrireDetailPartie(
                evt.DateEvenement,
                _numDonne,
                "NouvelleDonne",
                string.Format("{0},{1},{2}", evt.Dealer, evt.PetiteBlind, evt.GrosseBlind),
                string.Format("{0},{1}", evt.InfosBlind.MontantPetiteBlind, evt.InfosBlind.MontantGrosseBlind),
                string.Format("{0},{1}", evt.InfosBlind.MontantProchainePetiteBlind, evt.InfosBlind.MontantProchaineGrosseBlind)
                );

            // Résumé partie
            _flop  = new CartePoker[3];
            _turn  = null;
            _river = null;
        }
Exemple #15
0
        /// <summary>
        /// Nom de la couleur
        /// </summary>
        /// <param name="carte"></param>
        /// <returns></returns>
        private string ColorName(CartePoker card)
        {
            string nom = string.Empty;

            switch (card.Couleur)
            {
            case CouleurCarte.Coeur:
                nom = "heart";
                break;

            case CouleurCarte.Pique:
                nom = "spade";
                break;

            case CouleurCarte.Trefle:
                nom = "club";
                break;

            case CouleurCarte.Carreau:
                nom = "diamond";
                break;
            }
            return(nom);
        }
Exemple #16
0
        /// <summary>
        /// Nom de la couleur
        /// </summary>
        /// <param name="carte"></param>
        /// <returns></returns>
        private string NomCouleur(CartePoker carte)
        {
            string nom = string.Empty;

            switch (carte.Couleur)
            {
            case CouleurCarte.Coeur:
                nom = "coeur";
                break;

            case CouleurCarte.Pique:
                nom = "pique";
                break;

            case CouleurCarte.Trefle:
                nom = "trèfle";
                break;

            case CouleurCarte.Carreau:
                nom = "carreau";
                break;
            }
            return(nom);
        }
Exemple #17
0
        /// <summary>
        /// Renvoie une carte de poker
        /// </summary>
        /// <returns>La carte tirée. Si aucune carte n'est disponible, renvoie une exception</returns>
        internal static CartePoker TirerUneCarteAuHasard()
        {
            bool       tirageOk = false;
            CartePoker carte    = null;

#if DEBUG
            carte = TricherPourTirage();
            if (carte != null)
            {
                tirageOk = true;
            }
#endif

            if (!tirageOk)
            {
                if (_listeCartes.Count == 52)
                {
                    throw new ApplicationException("Plus de cartes disponibles");
                }

                Random       rd = new Random();
                HauteurCarte hauteur;
                CouleurCarte couleur;

                do
                {
                    hauteur = (HauteurCarte)_hauteursCartes.GetValue(rd.Next(_hauteursCartes.GetLength(0)));
                    couleur = (CouleurCarte)_couleursCartes.GetValue(rd.Next(_couleursCartes.GetLength(0)));
                    carte   = new CartePoker(hauteur, couleur);
                }while (_listeCartes.ContainsKey(carte) && _listeCartes[carte] == 1);

                _listeCartes[carte] = 1;
            }

            return(carte);
        }
Exemple #18
0
        /// <summary>
        /// Nom d'une carte : utilisé pour les combinaisons
        /// </summary>
        /// <param name="carte"></param>
        /// <param name="article"></param>
        /// <param name="possessif"></param>
        /// <param name="pluriel"></param>
        /// <returns></returns>
        private string CardName(CartePoker card, bool article, bool plural)
        {
            string name = string.Empty;
            string art  = "a ";
            string term = string.Empty;

            if (plural)
            {
                term = "s";
            }

            switch (card.Hauteur)
            {
            case HauteurCarte.As:
                art  = "an ";
                name = "Ace" + term;
                break;

            case HauteurCarte.Roi:
                name = "King" + term;
                break;

            case HauteurCarte.Dame:
                name = "Queen" + term;
                break;

            case HauteurCarte.Valet:
                name = "Jack" + term;
                break;

            case HauteurCarte.Dix:
                name = "Ten" + term;
                break;

            case HauteurCarte.Neuf:
                name = "Nine" + term;
                break;

            case HauteurCarte.Huit:
                name = "Eight" + term;
                break;

            case HauteurCarte.Sept:
                name = "Seven" + term;
                break;

            case HauteurCarte.Six:
                name = "Six" + term;
                break;

            case HauteurCarte.Cinq:
                name = "Five" + term;
                break;

            case HauteurCarte.Quatre:
                name = "Four" + term;
                break;

            case HauteurCarte.Trois:
                name = "Three" + term;
                break;

            case HauteurCarte.Deux:
                name = "Two" + term;
                break;
            }

            if (article)
            {
                name = art + name;
            }

            return(name);
        }
Exemple #19
0
 private void LancerEvtChangementInfosJoueur(string nom, EtatMain etatDeLaMain, CartePoker carte1, CartePoker carte2, int?pot)
 {
     if (ChangementInfosJoueur != null)
     {
         ChangementInfosJoueur(_listeJoueurs[nom], etatDeLaMain, carte1, carte2, pot);
     }
 }
Exemple #20
0
        /// <summary>
        /// Récupération d'une image de carte
        /// </summary>
        /// <param name="carte"></param>
        /// <returns></returns>
        private Bitmap RecupererImageSelonCarte(CartePoker carte)
        {
            Bitmap res = null;

            if (carte != null)
            {
                int hauteur   = (int)carte.Hauteur;
                int couleur   = (int)carte.Couleur;
                int jeuChoisi = 3;

                switch (carte.Hauteur)
                {
                case HauteurCarte.As:

                    if (carte.Couleur == CouleurCarte.Pique)
                    {
                        res = RecupererImageSelonColonneLigne(1, 8);
                    }
                    else
                    {
                        res = RecupererImageSelonColonneLigne(7 + 2 * couleur, 6);
                    }
                    break;

                case HauteurCarte.Deux:
                case HauteurCarte.Trois:
                case HauteurCarte.Quatre:
                case HauteurCarte.Cinq:
                case HauteurCarte.Six:
                case HauteurCarte.Sept:
                case HauteurCarte.Huit:
                case HauteurCarte.Neuf:
                case HauteurCarte.Dix:
                    // On n'est pas en "gros jeu"
                    if (carte.Couleur == CouleurCarte.Pique)
                    {
                        res = RecupererImageSelonColonneLigne(5 + (hauteur - 1) % 4, 8 + (hauteur - 1) / 4);
                    }
                    else
                    {
                        res = RecupererImageSelonColonneLigne(10 - hauteur % 2 + 2 * (couleur - 1), (hauteur - 1) / 2 + 1);
                    }
                    break;

                case HauteurCarte.Valet:
                case HauteurCarte.Dame:
                case HauteurCarte.Roi:
                    switch (carte.Couleur)
                    {
                    case CouleurCarte.Trefle:
                        res = RecupererImageSelonColonneLigne(2 * jeuChoisi - 1 + (hauteur - 11) % 2, (hauteur - 11) / 2 + 1);
                        break;

                    case CouleurCarte.Carreau:
                        res = RecupererImageSelonColonneLigne(2 * jeuChoisi - 1 + (hauteur - 10) % 2, (hauteur - 10) / 2 + 2);
                        break;

                    case CouleurCarte.Coeur:
                        res = RecupererImageSelonColonneLigne(2 * jeuChoisi - 1 + (hauteur - 10) % 2, (hauteur - 10) / 2 + 5);
                        break;

                    case CouleurCarte.Pique:
                        res = RecupererImageSelonColonneLigne(2 * jeuChoisi - 1 + (hauteur - 11) % 2, (hauteur - 11) / 2 + 4);
                        break;
                    }

                    break;
                }
            }
            else
            {
                throw new NotImplementedException();
            }

            return(res);
        }
Exemple #21
0
 /// <summary>
 /// Changement des infos d'un joueur
 /// </summary>
 /// <param name="joueurAChanger">Le joueur & ses infos</param>
 /// <param name="etatDeLaMain">L'etat de la main à afficher</param>
 /// <param name="carte1">Carte1 éventuellement</param>
 /// <param name="carte2">Carte2 éventuellement</param>
 /// <param name="pot">Le pot</param>
 public virtual void ChangerJoueur(Joueur joueurAChanger, EtatMain etatDeLaMain, CartePoker carte1, CartePoker carte2, int?pot)
 {
     if (joueurAChanger == _bot)
     {
         _bot.Carte1 = carte1;
         _bot.Carte2 = carte2;
     }
 }
Exemple #22
0
        /// <summary>
        /// Ajoute le libellé court de la carte dans "infos"
        /// </summary>
        /// <param name="c"></param>
        public static void AfficherLibelleCourtCarte(CartePoker c, TextPointer infos)
        {
            string ht = string.Empty;

            switch (c.Hauteur)
            {
            case HauteurCarte.As:
                ht = "A";
                break;

            case HauteurCarte.Deux:
            case HauteurCarte.Trois:
            case HauteurCarte.Quatre:
            case HauteurCarte.Cinq:
            case HauteurCarte.Six:
            case HauteurCarte.Sept:
            case HauteurCarte.Huit:
            case HauteurCarte.Neuf:
            case HauteurCarte.Dix:
                ht = ((int)c.Hauteur).ToString();
                break;

            case HauteurCarte.Valet:
                ht = "J";
                break;

            case HauteurCarte.Dame:
                ht = "Q";
                break;

            case HauteurCarte.Roi:
                ht = "K";
                break;
            }

            Run r = new Run(ht, infos);

            r.Foreground = Brushes.Black;

            char            res          = ' ';
            SolidColorBrush carteCouleur = Brushes.Black;

            switch (c.Couleur)
            {
            case CouleurCarte.Trefle:
                res = (char)9827;
                break;

            case CouleurCarte.Carreau:
                res          = (char)9830;
                carteCouleur = Brushes.Red;
                break;

            case CouleurCarte.Coeur:
                res          = (char)9829;
                carteCouleur = Brushes.Red;
                break;

            case CouleurCarte.Pique:
                res = (char)9824;
                break;
            }
            r            = new Run(res.ToString(), infos);
            r.FontFamily = new FontFamily("Courier New");
            r.Foreground = carteCouleur;
            r.FontSize   = 15;
        }
Exemple #23
0
        /// <summary>
        /// Récupération d'une image de carte
        /// </summary>
        /// <param name="carte"></param>
        /// <returns></returns>
        public static BitmapSource RecupererImageSelonCarte(CartePoker carte)
        {
            BitmapSource res = null;

            if (carte != null)
            {
                int hauteur   = (int)carte.Hauteur;
                int couleur   = (int)carte.Couleur;
                int jeuChoisi = (int)_jeuChoisi;

                switch (carte.Hauteur)
                {
                case HauteurCarte.As:

                    if (carte.Couleur == CouleurCarte.Pique)
                    {
                        res = RecupererImageSelonColonneLigne(1, 8);
                    }
                    else
                    {
                        res = RecupererImageSelonColonneLigne(7 + 2 * couleur, 6);
                    }
                    break;

                case HauteurCarte.Deux:
                case HauteurCarte.Trois:
                case HauteurCarte.Quatre:
                case HauteurCarte.Cinq:
                case HauteurCarte.Six:
                case HauteurCarte.Sept:
                case HauteurCarte.Huit:
                case HauteurCarte.Neuf:
                case HauteurCarte.Dix:
                    if (JeuChoisi != TypeJeuCarte.GrossesCartes)
                    {
                        // On n'est pas en "gros jeu"
                        if (carte.Couleur == CouleurCarte.Pique)
                        {
                            res = RecupererImageSelonColonneLigne(5 + (hauteur - 1) % 4, 8 + (hauteur - 1) / 4);
                        }
                        else
                        {
                            res = RecupererImageSelonColonneLigne(10 - hauteur % 2 + 2 * (couleur - 1), (hauteur - 1) / 2 + 1);
                        }
                    }
                    else
                    {
                        // On est en gros jeu
                        if (carte.Couleur == CouleurCarte.Pique)
                        {
                            res = RecupererImageSelonColonneLigne(5 + (hauteur - 1) % 4 - 4, 8 + (hauteur - 1) / 4);
                        }
                        else
                        {
                            res = RecupererImageSelonColonneLigne(10 - hauteur % 2 + 2 * (couleur - 1), (hauteur - 1) / 2 + 6);
                        }
                    }
                    break;

                case HauteurCarte.Valet:
                case HauteurCarte.Dame:
                case HauteurCarte.Roi:
                    switch (carte.Couleur)
                    {
                    case CouleurCarte.Trefle:
                        res = RecupererImageSelonColonneLigne(2 * jeuChoisi - 1 + (hauteur - 11) % 2, (hauteur - 11) / 2 + 1);
                        break;

                    case CouleurCarte.Carreau:
                        res = RecupererImageSelonColonneLigne(2 * jeuChoisi - 1 + (hauteur - 10) % 2, (hauteur - 10) / 2 + 2);
                        break;

                    case CouleurCarte.Coeur:
                        res = RecupererImageSelonColonneLigne(2 * jeuChoisi - 1 + (hauteur - 10) % 2, (hauteur - 10) / 2 + 5);
                        break;

                    case CouleurCarte.Pique:
                        res = RecupererImageSelonColonneLigne(2 * jeuChoisi - 1 + (hauteur - 11) % 2, (hauteur - 11) / 2 + 4);
                        break;
                    }

                    break;
                }
            }
            else
            {
                res = new BitmapImage();
            }

            return(res);
        }
Exemple #24
0
        protected override void EnregistrerRiver(River evt)
        {
            _river = evt.Carte;

            EcrireDetailPartie(evt.DateEvenement, _numDonne, "River", evt.Carte.LibelleCarte(), evt.Pot.ToString(), PAS_D_INFOS);
        }
Exemple #25
0
        /// <summary>
        /// Déclenche une vérification de carte
        /// </summary>
        /// <param name="carte"></param>
        /// <param name="carteAttendue"></param>
        private void VerifierCarte(CartePoker carteAttendue, MainPoker main, int indexCarte)
        {
            var carte = main.ResultatMain.MainGagnante[indexCarte];

            Assert.AreEqual(carte, carteAttendue, string.Format("{0} : carte n°{1}", main.ResultatMain.TypeCombinaison, indexCarte + 1));
        }
Exemple #26
0
 /// <summary>
 /// Les 2 cartes se suivent elles ?
 /// </summary>
 /// <param name="carte1"></param>
 /// <param name="carte2"></param>
 /// <returns></returns>
 private bool StrictementInferieur(CartePoker carte1, CartePoker carte2)
 {
     return(((int)carte2.Hauteur) == ((int)carte1.Hauteur) + 1);
 }
Exemple #27
0
        protected override void EnregistrerTurn(Turn evt)
        {
            _turn = evt.Carte;

            EcrireDetailPartie(evt.DateEvenement, _numDonne, "Turn", evt.Carte.LibelleCarte(), evt.Pot.ToString(), PAS_D_INFOS);
        }
Exemple #28
0
        /// <summary>
        /// Nom d'une carte : utilisé pour les combinaisons
        /// </summary>
        /// <param name="carte"></param>
        /// <param name="article"></param>
        /// <param name="possessif"></param>
        /// <param name="pluriel"></param>
        /// <returns></returns>
        private string NomCarte(CartePoker carte, bool article, bool possessif, bool pluriel)
        {
            string nom    = string.Empty;
            string art    = string.Empty;
            string pos    = string.Empty;
            string posart = string.Empty;
            string term   = string.Empty;

            if (pluriel)
            {
                term = "s";
            }

            switch (carte.Hauteur)
            {
            case HauteurCarte.As:
                art    = "un ";
                pos    = "d'";
                posart = "à l'";
                nom    = "As";
                break;

            case HauteurCarte.Roi:
                art    = "un ";
                pos    = "de ";
                posart = "au ";
                nom    = "Roi" + term;
                break;

            case HauteurCarte.Dame:
                art    = "une ";
                pos    = "de ";
                posart = "à la ";
                nom    = "Dame" + term;
                break;

            case HauteurCarte.Valet:
                art    = "un ";
                pos    = "de ";
                posart = "au ";
                nom    = "Valet" + term;
                break;

            case HauteurCarte.Dix:
            case HauteurCarte.Neuf:
            case HauteurCarte.Huit:
            case HauteurCarte.Sept:
            case HauteurCarte.Six:
            case HauteurCarte.Cinq:
            case HauteurCarte.Quatre:
            case HauteurCarte.Trois:
            case HauteurCarte.Deux:
                art    = "un ";
                pos    = "de ";
                posart = "au ";
                nom    = ((int)carte.Hauteur).ToString();
                break;
            }

            if (article && possessif)
            {
                nom = posart + nom;
            }
            else if (article)
            {
                nom = art + nom;
            }
            else if (possessif)
            {
                nom = pos + nom;
            }

            return(nom);
        }