public void CountScore(CL_player player)
        {
            // Console.WriteLine("player has: ");

            foreach (CL_cards card in player.hand)
            {
                // Console.Write(card.value + " of " + card.suit + " ");
                Value result = (Value)Enum.Parse(typeof(Value), card.value);
                player.points += (int)result;
            }
            // Console.WriteLine(" in his hand");

            if (player.IsBank)
            {
                if (player.hand[0].suit.Equals(player.hand[1].suit).Equals(player.hand[2].suit))
                {
                    // Console.WriteLine("Bonus for bank !!! (3 card of the same suit)");
                    player.points += 35;
                }
            }
            else
            {
                if (player.hand[0].suit.Equals(player.hand[1].suit))
                {
                    // Console.WriteLine("Bonus for player !!! (2 card of the same suit)");
                    player.points += 15;
                }
            }

            player.Score += player.points;

            // Console.WriteLine("His score is " + player.points + " !\n");
        }
        internal void GiveCards(CL_player player1, CL_player player2, CL_player bank)
        {
            // Console.WriteLine("Player 1 a reçu ses cartes");
            player1.GiveCard(deck[0]);
            player1.GiveCard(deck[1]);

            // Console.WriteLine("Player 2 a reçu ses cartes");
            player2.GiveCard(deck[2]);
            player2.GiveCard(deck[3]);

            // Console.WriteLine("La bank a reçu ses cartes");
            bank.GiveCard(deck[4]);
            bank.GiveCard(deck[5]);
            bank.GiveCard(deck[6]);
        }
        internal void DesignedWinner(CL_player player1, CL_player player2, CL_player bank)
        {
            List <CL_player> playerList = new List <CL_player> {
                player1, player2, bank
            };

            List <int> listPoints = new List <int>()
            {
                player1.points, player2.points, bank.points
            };

            listPoints.Sort();

            CL_player winner;

            if (bank.hand[0].value.Equals(bank.hand[1].value).Equals(bank.hand[2].value))
            {
                bank.Victory++;
                // Console.WriteLine("The bank win with 3 identicals cards \n3 " + bank.hand[0].value);
            }
            else
            {
                if (listPoints.FindAll(points => points == listPoints[listPoints.Count - 1]).Count == 1)
                {
                    winner = playerList.Find(player => player.points == listPoints[listPoints.Count - 1]);
                }
                else
                {
                    List <CL_player> playersWithWinnerScore = playerList.FindAll(player => player.points == listPoints[listPoints.Count - 1]);

                    CL_cards higherCard      = null;
                    int      higherCardValue = 0;

                    playersWithWinnerScore.ForEach(player => {
                        player.hand.ForEach(card =>
                        {
                            int cardValue = 0;

                            switch (card.value)
                            {
                            case "king":
                                cardValue = 13;
                                break;

                            case "queen":
                                cardValue = 12;
                                break;

                            case "jack":
                                cardValue = 11;
                                break;

                            default:
                                Value result = (Value)Enum.Parse(typeof(Value), card.value);
                                cardValue    = (int)result;
                                break;
                            }

                            if (cardValue > higherCardValue)
                            {
                                higherCard = card;
                            }
                        });
                    });

                    winner = playersWithWinnerScore.Find(player => player.hand.Contains(higherCard));
                }

                winner.Victory++;
                Console.WriteLine("Le gagnant avec un score de " + winner.points + " est " + winner.Name);
            }

            listPoints.Clear();
            playerList.Clear();
        }
 internal void CleanHands(CL_player player1, CL_player player2, CL_player bank)
 {
     player1.ResetHand();
     player2.ResetHand();
     bank.ResetHand();
 }