Example #1
0
        /// <summary>
        /// Wpisuje do podanego(lub nowego) Paragraphu znaczek miana. Moze wypisać trefla,karo,kiera,pika lub "NT".
        /// Aby zmienić napis 'NT' trzeba to zrobić wewnątrz funkcji.
        /// </summary>
        /// <param name="odzywka">Enum suits</param>
        /// <param name="p">Parametr nieobowiązkowy. Podajemy paragraph w którym chcemy coś dopisać. Wartość domyślna spowoduje dodanie nowego parametru</param>
        /// <returns>Zedytowany lub nowy paragraph</returns>
        public static Paragraph WriteSuit(suits suit, Paragraph p = null)
        {
            if (p == null)
            {
                p = new Paragraph();
            }

            if (suit == suits.club)
            {
                p.AddFormattedText(cardSymbols[1].ToString(), znakiKart[1]);
            }
            if (suit == suits.diamond)
            {
                p.AddFormattedText(cardSymbols[2].ToString(), znakiKart[2]);
            }
            if (suit == suits.heart)
            {
                p.AddFormattedText(cardSymbols[3].ToString(), znakiKart[3]);
            }
            if (suit == suits.spade)
            {
                p.AddFormattedText(cardSymbols[4].ToString(), znakiKart[4]);
            }
            if (suit == suits.nt)
            {
                p.AddFormattedText("NT", znakiKart[4]);
            }

            return(p);
        }
Example #2
0
        /// <summary>
        /// Wstawia sam znaczek brydzowy
        /// </summary>
        /// <param name="p"></param>
        /// <param name="suit"></param>
        /// <returns></returns>
        public static Paragraph WriteSuit(Paragraph p, suits suit)
        {
            if (suit == suits.club)
            {
                p.AddFormattedText(symbols[1].ToString(), znaki_kart[1]);
            }
            if (suit == suits.diamond)
            {
                p.AddFormattedText(symbols[2].ToString(), znaki_kart[2]);
            }
            if (suit == suits.heart)
            {
                p.AddFormattedText(symbols[3].ToString(), znaki_kart[3]);
            }
            if (suit == suits.spade)
            {
                p.AddFormattedText(symbols[4].ToString(), znaki_kart[4]);
            }
            if (suit == suits.nt)
            {
                p.AddFormattedText("NT", znaki_kart[4]);
            }

            return(p);
        }
Example #3
0
        /// <summary>
        /// Ustawia wartosc zmiennej suit w strukturze Contract. Dokonuje konwersji z char to suits.
        /// </summary>
        /// <param name="input">Znak koloru (C,D,H,S,N). Musi to być wielka litera</param>
        /// <returns> Miano kontraktu</returns>
        public suits ConvertSuit(char input)
        {
            suits output = 0;

            if (input == 'C')
            {
                output = suits.club;
            }
            if (input == 'D')
            {
                output = suits.diamond;
            }
            if (input == 'H')
            {
                output = suits.heart;
            }
            if (input == 'S')
            {
                output = suits.spade;
            }
            if (input == 'N')
            {
                output = suits.nt;
            }


            return(output);
        }
Example #4
0
        /// <summary>
        /// Funkcja dodaje(lub domyslnie tworzy) do paragrafu karty z zadnego koloru.
        /// </summary>
        /// <param name="suit">Zadany znaczek do wstawienia przy kolorze</param>
        /// <param name="karty">Karty do wypisania</param>
        /// <param name="p">Ewentualny paragraf w ktorym ma byc dodany kolor</param>
        /// <returns></returns>
        protected static Paragraph WriteHandSuit(suits suit, string karty, Paragraph p = null)
        {
            if (p == null)
            {
                p = new Paragraph();
            }
            int idx = (int)suit;

            p.AddFormattedText(cardSymbols[idx].ToString(), znakiKart[idx]);
            p.AddText(" " + karty);

            return(p);
        }
Example #5
0
        /// <summary>
        /// Wypelnia strukturę kontrakt na podstawie stringu.
        /// </summary>
        /// <param name="input">Kontrakt w formie tekstowej np. 2HS=, 2HSx-1</param>
        public Contract(string input)
        {
            if (input == "P")
            {
                level        = 0;
                contract_str = "pass";
            }
            //jesli kontrakt inny niz 4 pasy
            else
            {
                level        = int.Parse(input[0].ToString());
                suit         = ConvertSuit(input[1]);
                declarer     = ConvertPosition(input[2]);
                contract_str = level.ToString() + suit.ToString().ToUpper()[0];

                // sprawdzenie kontr i rekontr
                int iter = 3;
                if (input[iter] == 'x')
                {
                    dbl           = true;
                    contract_str += "x";
                    iter++;
                    if (input[iter] == 'x')
                    {
                        rdbl          = true;
                        contract_str += "x";
                        iter++;
                    }
                }

                if (input[iter] == '-')
                {
                    tricks = -int.Parse(input[++iter].ToString());
                }
                else
                {
                    if (input[iter] != '=')
                    {
                        tricks = int.Parse(input[++iter].ToString());
                    }
                }
            }
        }
Example #6
0
    public static PlayingCard GetLeft(suits trump)
    {
        PlayingCard left = new PlayingCard(cardtypes.jack, suits.spade, true);

        if (trump == suits.spade)
        {
            left.suit = suits.club;
        }
        if (trump == suits.club)
        {
            left.suit = suits.spade;
        }
        if (trump == suits.heart)
        {
            left.suit = suits.diamond;
        }
        if (trump == suits.diamond)
        {
            left.suit = suits.heart;
        }
        return(left);
    }
Example #7
0
 public Card(suits suitValue, int rankValue)
 {
     this.Rank  = rankValue;
     this.Suite = suitValue;
 }
Example #8
0
        public MainWindow()
        {
            int playerOneScore;
            int playerTwoScore;

            string hand1;
            string hand2;
            string line;

            string[] hand1cards = new string[5];
            suits[]  hand1Suits = new suits[5];
            Face[]   hand1Face  = new Face[5];

            string[] hand2cards = new string[5];
            suits[]  hand2Suits = new suits[5];
            Face[]   hand2Face  = new Face[5];

            System.IO.StreamReader sr = new System.IO.StreamReader("test.txt");

            InitializeComponent();


            while (!sr.EndOfStream)
            {
                line  = sr.ReadLine().ToString();
                hand1 = line.Substring(0, 14);
                hand2 = line.Substring(15, 14);

                //MessageBox.Show(hand1);

                for (int j = 0; j < hand1cards.Length; j++)
                {
                    hand1cards[j] = hand1.Substring(j * 3, 2);
                    switch (hand1cards[j][1])
                    {
                    case 'D': hand1Suits[j] = suits.Diamonds; break;

                    case 'H': hand1Suits[j] = suits.Hearts; break;

                    case 'S': hand1Suits[j] = suits.Spades; break;

                    case 'C': hand1Suits[j] = suits.Clubs; break;
                    }

                    switch (hand1cards[j][0])
                    {
                    case 'A': hand1Face[j] = Face.Ace; break;

                    case '2': hand1Face[j] = Face.Two; break;

                    case '3': hand1Face[j] = Face.Three; break;

                    case '4': hand1Face[j] = Face.Four; break;

                    case '5': hand1Face[j] = Face.Five; break;

                    case '6': hand1Face[j] = Face.Six; break;

                    case '7': hand1Face[j] = Face.Seven; break;

                    case '8': hand1Face[j] = Face.Eight; break;

                    case '9': hand1Face[j] = Face.Nine; break;

                    case 'T': hand1Face[j] = Face.Ten; break;

                    case 'J': hand1Face[j] = Face.Jack; break;

                    case 'Q': hand1Face[j] = Face.Queen; break;

                    case 'K': hand1Face[j] = Face.King; break;
                    }
                    //MessageBox.Show(hand1Suits[j].ToString() + " " + hand1Face[j].ToString());
                }

                //MessageBox.Show(hand2);

                for (int j = 0; j < hand2cards.Length; j++)
                {
                    hand2cards[j] = hand2.Substring(j * 3, 2);
                    switch (hand2cards[j][1])
                    {
                    case 'D': hand2Suits[j] = suits.Diamonds; break;

                    case 'H': hand2Suits[j] = suits.Hearts; break;

                    case 'S': hand2Suits[j] = suits.Spades; break;

                    case 'C': hand2Suits[j] = suits.Clubs; break;
                    }

                    switch (hand2cards[j][0])
                    {
                    case 'A': hand2Face[j] = Face.Ace; break;

                    case '2': hand2Face[j] = Face.Two; break;

                    case '3': hand2Face[j] = Face.Three; break;

                    case '4': hand2Face[j] = Face.Four; break;

                    case '5': hand2Face[j] = Face.Five; break;

                    case '6': hand2Face[j] = Face.Six; break;

                    case '7': hand2Face[j] = Face.Seven; break;

                    case '8': hand2Face[j] = Face.Eight; break;

                    case '9': hand2Face[j] = Face.Nine; break;

                    case 'T': hand2Face[j] = Face.Ten; break;

                    case 'J': hand2Face[j] = Face.Jack; break;

                    case 'Q': hand2Face[j] = Face.Queen; break;

                    case 'K': hand2Face[j] = Face.King; break;
                    }
                    //MessageBox.Show(hand2Suits[j].ToString() + " " + hand2Face[j].ToString());
                }
                Array.Sort(hand1Face);
                Array.Sort(hand2Face);

                playerOneScore = 0;
                playerTwoScore = 0;

                //player One Royal Flush
                if (hand1Suits[0] == hand1Suits[1] && hand1Suits[0] == hand1Suits[2] && hand1Suits[0] == hand1Suits[3] && hand1Suits[0] == hand1Suits[4] && playerOneScore == 0)
                {
                    if (hand1Face[0] == Face.Ace)
                    {
                        if (hand1Face[0] - hand1Face[4] == -12 && hand1Face[1] - hand1Face[2] == -1 && hand1Face[2] - hand1Face[3] == -1 && hand1Face[3] - hand1Face[4] == -1)
                        {
                            playerOneScore += 10;//Royal Flush
                        }
                    }
                }
                //player One Stright Flush
                if (hand1Suits[0] == hand1Suits[1] && hand1Suits[0] == hand1Suits[2] && hand1Suits[0] == hand1Suits[3] && hand1Suits[0] == hand1Suits[4] && playerOneScore == 0)
                {
                    if (hand1Face[0] == Face.Ace)
                    {
                        if (hand1Face[0] - hand1Face[1] == -1 && hand1Face[1] - hand1Face[2] == -1 && hand1Face[2] - hand1Face[3] == -1 && hand1Face[3] - hand1Face[4] == -1)
                        {
                            playerOneScore += 9;//Straight Flush
                        }
                    }
                    if (hand1Face[0] != Face.Ace)
                    {
                        if (hand1Face[0] - hand1Face[1] == -1 && hand1Face[1] - hand1Face[2] == -1 && hand1Face[2] - hand1Face[3] == -1 && hand1Face[3] - hand1Face[4] == -1)
                        {
                            playerOneScore += 9;//Straight Flush
                        }
                    }
                }
                //Player One Four Of A Kind
                if (hand1Face[0] == hand1Face[1] && playerOneScore == 0)
                {
                    if (hand1Face[0] == hand1Face[2])
                    {
                        if (hand1Face[0] == hand1Face[3])
                        {
                            playerOneScore += 8;//Four of a Kind
                        }
                    }
                }
                if (hand1Face[1] == hand1Face[2] && playerOneScore == 0)
                {
                    if (hand1Face[1] == hand1Face[3])
                    {
                        if (hand1Face[1] == hand1Face[4])
                        {
                            playerOneScore += 8;//Four of a Kind
                        }
                    }
                }
                //Player One FullHouse
                if (hand1Face[0] == hand1Face[1] && playerOneScore == 0)
                {
                    if (hand1Face[0] == hand1Face[2])
                    {
                        if (hand1Face[3] == hand1Face[4])
                        {
                            playerOneScore += 7;//Full House
                        }
                    }
                }
                if (hand1Face[2] == hand1Face[3] && playerOneScore == 0)
                {
                    if (hand1Face[2] == hand1Face[4])
                    {
                        if (hand1Face[0] == hand1Face[1])
                        {
                            playerOneScore += 7;//Full House
                        }
                    }
                }
                //Player One Flush
                if (hand1Suits[0] == hand1Suits[1] && hand1Suits[0] == hand1Suits[2] && hand1Suits[0] == hand1Suits[3] && hand1Suits[0] == hand1Suits[4] && playerOneScore == 0)
                {
                    if (playerOneScore == 0)
                    {
                        playerOneScore += 6;//Flush
                    }
                }
                //Player one Straight
                if (hand1Face[0] - hand1Face[1] == -1 && hand1Face[1] - hand1Face[2] == -1 && hand1Face[2] - hand1Face[3] == -1 && hand1Face[3] - hand1Face[4] == -1 && playerOneScore == 0)
                {
                    playerOneScore += 5;//Straight
                }
                //Player One Three of a Kind
                if (hand1Face[0] == hand1Face[1] && playerOneScore == 0)
                {
                    if (hand1Face[0] == hand1Face[2])
                    {
                        playerOneScore += 4;//Three of a kind
                    }
                }
                if (hand1Face[1] == hand1Face[2] && playerOneScore == 0)
                {
                    if (hand1Face[1] == hand1Face[3])
                    {
                        playerOneScore += 4;//Three of a kind
                    }
                }
                if (hand1Face[2] == hand1Face[3] && playerOneScore == 0)
                {
                    if (hand1Face[2] == hand1Face[4])
                    {
                        playerOneScore += 4;//Three of a kind
                    }
                }
                //Player One Two Pair
                if (hand1Face[0] == hand1Face[1] && hand1Face[2] == hand1Face[3] && playerOneScore == 0)
                {
                    playerOneScore += 3;//Two Pair
                }
                if (hand1Face[0] == hand1Face[1] && hand1Face[3] == hand1Face[4] && playerOneScore == 0)
                {
                    playerOneScore += 3;//Two Pair
                }
                if (hand1Face[1] == hand1Face[2] && hand1Face[3] == hand1Face[4] && playerOneScore == 0)
                {
                    playerOneScore += 3;//Two Pair
                }
                //Player One one pair
                if (hand1Face[0] == hand1Face[1] && playerOneScore == 0)
                {
                    playerOneScore += 2;//One Pair
                }
                if (hand1Face[1] == hand1Face[2] && playerOneScore == 0)
                {
                    playerOneScore += 2;//One Pair
                }
                if (hand1Face[2] == hand1Face[3] && playerOneScore == 0)
                {
                    playerOneScore += 2;//One Pair
                }
                if (hand1Face[3] == hand1Face[4] && playerOneScore == 0)
                {
                    playerOneScore += 2;//One Pair
                }
                //Player One High Card
                if (hand1Face[0] < hand1Face[4] && playerOneScore == 0)
                {
                    playerOneScore += 1;//High Card
                }

                //MessageBox.Show(playerOneScore.ToString());



                //Player Two
                //player Two Royal Flush
                if (hand2Suits[0] == hand2Suits[1] && hand2Suits[0] == hand2Suits[2] && hand2Suits[0] == hand2Suits[3] && hand2Suits[0] == hand2Suits[4] && playerOneScore == 0)
                {
                    if (hand2Face[0] == Face.Ace)
                    {
                        if (hand2Face[0] - hand2Face[4] == -12 && hand2Face[1] - hand2Face[2] == -1 && hand2Face[2] - hand2Face[3] == -1 && hand2Face[3] - hand2Face[4] == -1)
                        {
                            playerTwoScore += 10;//Royal Flush
                        }
                    }
                }
                //player Two Stright Flush
                if (hand2Suits[0] == hand2Suits[1] && hand2Suits[0] == hand2Suits[2] && hand2Suits[0] == hand2Suits[3] && hand2Suits[0] == hand2Suits[4] && playerTwoScore == 0)
                {
                    if (hand2Face[0] == Face.Ace)
                    {
                        if (hand2Face[0] - hand2Face[1] == -1 && hand2Face[1] - hand2Face[2] == -1 && hand2Face[2] - hand2Face[3] == -1 && hand2Face[3] - hand2Face[4] == -1)
                        {
                            playerTwoScore += 9;//Straight Flush
                        }
                    }
                    if (hand2Face[0] != Face.Ace)
                    {
                        if (hand2Face[0] - hand2Face[1] == -1 && hand2Face[1] - hand2Face[2] == -1 && hand2Face[2] - hand2Face[3] == -1 && hand2Face[3] - hand2Face[4] == -1)
                        {
                            playerTwoScore += 9;//Straight Flush
                        }
                    }
                }
                //Player Two Four Of A Kind
                if (hand2Face[0] == hand2Face[1] && playerTwoScore == 0)
                {
                    if (hand2Face[0] == hand2Face[2])
                    {
                        if (hand2Face[0] == hand2Face[3])
                        {
                            playerTwoScore += 8;//Four of a Kind
                        }
                    }
                }
                if (hand2Face[1] == hand2Face[2] && playerTwoScore == 0)
                {
                    if (hand2Face[1] == hand2Face[3])
                    {
                        if (hand2Face[1] == hand2Face[4])
                        {
                            playerTwoScore += 8;//Four of a Kind
                        }
                    }
                }
                //Player Two FullHouse
                if (hand2Face[0] == hand2Face[1] && playerTwoScore == 0)
                {
                    if (hand2Face[0] == hand2Face[2])
                    {
                        if (hand2Face[3] == hand2Face[4])
                        {
                            playerTwoScore += 7;//Full House
                        }
                    }
                }
                if (hand2Face[2] == hand2Face[3] && playerTwoScore == 0)
                {
                    if (hand2Face[2] == hand2Face[4])
                    {
                        if (hand2Face[0] == hand2Face[1])
                        {
                            playerTwoScore += 7;//Full House
                        }
                    }
                }
                //Player Two Flush
                if (hand2Suits[0] == hand2Suits[1] && hand2Suits[0] == hand2Suits[2] && hand2Suits[0] == hand2Suits[3] && hand2Suits[0] == hand2Suits[4] && playerTwoScore == 0)
                {
                    if (playerTwoScore == 0)
                    {
                        playerTwoScore += 6;//Flush
                    }
                }
                //Player Two Straight
                if (hand2Face[0] - hand2Face[1] == -1 && hand2Face[1] - hand2Face[2] == -1 && hand2Face[2] - hand2Face[3] == -1 && hand2Face[3] - hand2Face[4] == -1 && playerTwoScore == 0)
                {
                    playerTwoScore += 5;//Straight
                }
                //Player Two Three of a Kind
                if (hand2Face[0] == hand2Face[1] && playerTwoScore == 0)
                {
                    if (hand2Face[0] == hand2Face[2])
                    {
                        playerTwoScore += 4;//Three of a kind
                    }
                }
                if (hand2Face[1] == hand2Face[2] && playerTwoScore == 0)
                {
                    if (hand2Face[1] == hand2Face[3])
                    {
                        playerTwoScore += 4;//Three of a kind
                    }
                }
                if (hand2Face[2] == hand2Face[3] && playerTwoScore == 0)
                {
                    if (hand2Face[2] == hand2Face[4])
                    {
                        playerTwoScore += 4;//Three of a kind
                    }
                }
                //Player Two Two Pair
                if (hand2Face[0] == hand2Face[1] && hand2Face[2] == hand2Face[3] && playerTwoScore == 0)
                {
                    playerTwoScore += 3;//Two Pair
                }
                if (hand2Face[0] == hand2Face[1] && hand2Face[3] == hand2Face[4] && playerTwoScore == 0)
                {
                    playerTwoScore += 3;//Two Pair
                }
                if (hand2Face[1] == hand2Face[2] && hand2Face[3] == hand2Face[4] && playerTwoScore == 0)
                {
                    playerTwoScore += 3;//Two Pair
                }
                //Player Two one pair
                if (hand2Face[0] == hand2Face[1] && playerTwoScore == 0)
                {
                    playerTwoScore += 2;//One Pair
                }
                if (hand2Face[1] == hand2Face[2] && playerTwoScore == 0)
                {
                    playerTwoScore += 2;//One Pair
                }
                if (hand2Face[2] == hand2Face[3] && playerTwoScore == 0)
                {
                    playerTwoScore += 2;//One Pair
                }
                if (hand2Face[3] == hand2Face[4] && playerTwoScore == 0)
                {
                    playerTwoScore += 2;//One Pair
                }
                //Player Two High Card
                if (hand2Face[0] < hand2Face[4] && playerTwoScore == 0)
                {
                    playerTwoScore += 1;//High Card
                }
                //Check for Tie
                if (playerOneScore == playerTwoScore)
                {
                    if (hand1Face[4] > hand2Face[4])
                    {
                        PlayerOneWin += 1;
                    }
                }
                //Check who wins
                else if (playerOneScore > playerTwoScore)
                {
                    PlayerOneWin += 1;
                }
                //MessageBox.Show(PlayerOneWin.ToString());
                lblOutput.Content = (PlayerOneWin);
            }
        }
Example #9
0
 public card(suits s, cardRank v)
 {
     cardSuit = s;
     cardValue = v;
 }
Example #10
0
        public static void wyliczMinimkaksTeoretyczny10(int[,] lewy, vulnerabilties vul)
        {
            int      maxNS         = 0;
            Contract maxNSContract = new Contract();

            int[] tmpgracz = { 3, 1, 4, 2 };

            // minimaks dodatni dla NS
            for (int gracz = 0; gracz < 2; gracz++)
            {
                for (int i = 4; i >= 0; i--)
                {
                    Contract c      = new Contract();
                    bool     partia = false;
                    if ((vul == vulnerabilties.ns) || (vul == vulnerabilties.both))
                    {
                        partia = true;
                    }
                    c.level    = lewy[gracz, i] - 6;
                    c.suit     = (suits)(i + 1);
                    c.declarer = (positions)(tmpgracz[gracz]);
                    int score = c.CalculateScore(partia);
                    if (score > maxNS)
                    {
                        maxNS         = score;
                        maxNSContract = c;
                    }
                }
            }

            // minimaks dodatni dla EW
            int      maxEW         = 0;
            Contract maxEWContract = new Contract();

            for (int gracz = 2; gracz < 4; gracz++)
            {
                for (int i = 4; i >= 0; i--)
                {
                    Contract c      = new Contract();
                    bool     partia = false;
                    if ((vul == vulnerabilties.we) || (vul == vulnerabilties.both))
                    {
                        partia = true;
                    }
                    c.level    = lewy[gracz, i] - 6;
                    c.suit     = (suits)(i + 1);
                    c.declarer = (positions)(tmpgracz[gracz]);
                    int score = c.CalculateScore(partia);
                    if (score > maxEW)
                    {
                        maxEW         = score;
                        maxEWContract = c;
                    }
                }
            }
            bool  atakNS;
            int   obronaScore = -maxNS;
            suits Superobrona = suits.diamond;

            if (maxNSContract > maxEWContract)
            {
                atakNS = true;
                Contract obrona = maxNSContract;
                bool     partia = false;
                if ((vul == vulnerabilties.we) || (vul == vulnerabilties.both))
                {
                    partia = true;
                }
                // sprawdzam czy na EW jest obrona
                for (int i = 0; i < 5; i++)
                {
                    obrona++;
                    obrona.declarer = positions.W;
                    obrona.tricks   = -obrona.level - 6 + lewy[3, ((int)obrona.suit - 1)];
                    obrona.dbl      = true;
                    int s = obrona.CalculateScore(partia);
                    if (s > obronaScore)
                    {
                        Superobrona = obrona.suit;
                        obronaScore = s;
                    }
                    obrona.declarer = positions.E;
                    obrona.tricks   = -obrona.level - 6 + lewy[2, ((int)obrona.suit - 1)];
                    obrona.dbl      = true;
                    s = obrona.CalculateScore(partia);
                    if (s > obronaScore)
                    {
                        obronaScore = s;
                        Superobrona = obrona.suit;
                    }
                }
            }

            else
            {
                atakNS = false;
            }
        }
Example #11
0
 public Card(suits suits, numerical numerical)
 {
     this.suits     = suits.ToString();
     this.numerical = numerical.ToString();
 }
        public MainWindow()
        {
            InitializeComponent();

            //temp = sr.ToString();
            //temp1 = temp.Split(' ').ToString();
            //MessageBox.Show(temp1);
            //for(int i= 1; i<1001; i++)
            while (!srt.EndOfStream)
            {
                line  = srt.ReadLine().ToString();
                hand1 = line.Substring(0, 14);
                hand2 = line.Substring(15, 14);



                string[] Hand1Cards  = new string[5];
                suits[]  Hand1Suites = new suits[5];
                face[]   Hand1Face   = new face[5];
                string[] Hand2Cards  = new string[5];
                suits[]  Hand2Suites = new suits[5];
                face[]   Hand2Face   = new face[5];
                for (int j = 0; j < Hand1Cards.Length; j++)
                {
                    Hand1Cards[j] = hand1.Substring(j * 3, 2);
                    switch (Hand1Cards[j][0])
                    {
                    case 'A': Hand1Face[j] = face.Ace; break;

                    case '2': Hand1Face[j] = face.Two; break;

                    case '3': Hand1Face[j] = face.Three; break;

                    case '4': Hand1Face[j] = face.Four; break;

                    case '5': Hand1Face[j] = face.Five; break;

                    case '6': Hand1Face[j] = face.Six; break;

                    case '7': Hand1Face[j] = face.Seven; break;

                    case '8': Hand1Face[j] = face.Eight; break;

                    case '9': Hand1Face[j] = face.Nine; break;

                    case 'T': Hand1Face[j] = face.Ten; break;

                    case 'J': Hand1Face[j] = face.Jack; break;

                    case 'Q': Hand1Face[j] = face.Queen; break;

                    case 'K': Hand1Face[j] = face.King; break;
                    }
                    switch (Hand1Cards[j][1])
                    {
                    case 'D': Hand1Suites[j] = suits.Diamonds; break;

                    case 'H': Hand1Suites[j] = suits.Heart; break;

                    case 'C': Hand1Suites[j] = suits.Clubs; break;

                    case 'S': Hand1Suites[j] = suits.Spades; break;
                    }


                    //     MessageBox.Show(Hand1Face[j].ToString() + Hand1Suites[j].ToString());
                }
                for (int j = 0; j < Hand2Cards.Length; j++)
                {
                    Hand2Cards[j] = hand2.Substring(j * 3, 2);
                    switch (Hand2Cards[j][0])
                    {
                    case 'A': Hand2Face[j] = face.Ace; break;

                    case '2': Hand2Face[j] = face.Two; break;

                    case '3': Hand2Face[j] = face.Three; break;

                    case '4': Hand2Face[j] = face.Four; break;

                    case '5': Hand2Face[j] = face.Five; break;

                    case '6': Hand2Face[j] = face.Six; break;

                    case '7': Hand2Face[j] = face.Seven; break;

                    case '8': Hand2Face[j] = face.Eight; break;

                    case '9': Hand2Face[j] = face.Nine; break;

                    case 'T': Hand2Face[j] = face.Ten; break;

                    case 'J': Hand2Face[j] = face.Jack; break;

                    case 'Q': Hand2Face[j] = face.Queen; break;

                    case 'K': Hand2Face[j] = face.King; break;
                    }
                    switch (Hand2Cards[j][1])
                    {
                    case 'D': Hand2Suites[j] = suits.Diamonds; break;

                    case 'H': Hand2Suites[j] = suits.Heart; break;

                    case 'C': Hand2Suites[j] = suits.Clubs; break;

                    case 'S': Hand2Suites[j] = suits.Spades; break;
                    }


                    //     MessageBox.Show(Hand2Face[j].ToString() + Hand1Suites[j].ToString());
                }

                Array.Sort(Hand1Face);
                string output = "";
                for (int i = 0; i < Hand1Face.Length; i++)
                {
                    output += Hand1Face[i];
                }
                MessageBox.Show(output);
                //MessageBox.Show((face.Ace - face.King).ToString());
                ScoreP1 = 0;
                ScoreP2 = 0;
                if (Hand1Suites[0] == Hand1Suites[1] && Hand1Suites[0] == Hand1Suites[2] && Hand1Suites[0] == Hand1Suites[3] && Hand1Suites[0] == Hand1Suites[4])
                {
                    if (Hand1Face[0] == face.Ace)
                    {
                        CheckForFlushes(Hand1Face);
                    }
                    if (Hand1Face[0] != face.Ace)
                    {
                        CheckForStraightFlush(Hand1Face);
                    }
                    if (ScoreP1 == 0)
                    {
                        ScoreP1 = 6;
                    }
                }
                if (Hand1Face[0] == Hand1Face[1])
                {
                    if (Hand1Face[0] == Hand1Face[2])
                    {
                        if (Hand1Face[3] == Hand1Face[4])
                        {
                            ScoreP1 = 7;
                        }
                    }
                }
                if (Hand1Face[2] == Hand1Face[3])
                {
                    if (Hand1Face[2] == Hand1Face[4])
                    {
                        if (Hand1Face[0] == Hand1Face[1])
                        {
                            ScoreP1 = 7;
                        }
                    }
                }

                if (Hand1Face[0] == Hand1Face[1])
                {
                    if (Hand1Face[0] == Hand1Face[2])
                    {
                        if (Hand1Face[0] == Hand1Face[3])
                        {
                            ScoreP1 = 8;
                        }
                        else
                        {
                            ScoreP1 = 4;
                        }
                    }
                    else
                    {
                        if (ScoreP1 == 3)
                        {
                            break;
                        }
                        else
                        {
                            ScoreP1 = 2;
                        }
                    }
                }
                if (Hand1Face[1] == Hand1Face[2])
                {
                    if (Hand1Face[1] == Hand1Face[3])
                    {
                        if (Hand1Face[1] == Hand1Face[4])
                        {
                            ScoreP1 = 8;
                        }
                        else
                        {
                            ScoreP1 = 4;
                        }
                    }
                    else
                    {
                        if (ScoreP1 == 3)
                        {
                            break;
                        }
                        else
                        {
                            ScoreP1 = 2;
                        }
                    }
                }
                if (Hand1Face[0] == Hand1Face[1] && Hand1Face[2] == Hand1Face[3])
                {
                    ScoreP1 = 3;
                }
                if (Hand1Face[1] == Hand1Face[2] && Hand1Face[3] == Hand1Face[4])
                {
                    ScoreP1 = 3;
                }
                if (Hand1Face[0] == Hand1Face[1] && Hand1Face[3] == Hand1Face[4])
                {
                    ScoreP1 = 3;
                }
                if (Hand1Face[2] == Hand1Face[3])
                {
                    if (Hand1Face[2] == Hand1Face[4])
                    {
                        ScoreP1 = 4;
                    }
                }
                else
                {
                    if (ScoreP1 == 3)
                    {
                        break;
                    }
                    else
                    {
                        ScoreP1 = 2;
                    }
                }
                if (Hand1Face[3] == Hand1Face[4])
                {
                    if (ScoreP1 == 3)
                    {
                        break;
                    }
                    else
                    {
                        ScoreP1 = 2;
                    }
                }
                if (Hand1Face[0] - Hand1Face[1] == -1 && Hand1Face[1] - Hand1Face[2] == -1 && Hand1Face[2] - Hand1Face[3] == -1 && Hand1Face[3] - Hand1Face[4] == -1)
                {
                    ScoreP1 = 5;
                }
                else
                {
                    ScoreP1 = 1;
                }



                Array.Sort(Hand2Face);
                string output2 = "";
                for (int i = 0; i < Hand2Face.Length; i++)
                {
                    output2 += Hand2Face[i];
                }
                MessageBox.Show(output2 + "P2");
                //MessageBox.Show((face.Ace - face.King).ToString());
                ScoreP1 = 0;
                if (Hand1Suites[0] == Hand1Suites[1] && Hand1Suites[0] == Hand1Suites[2] && Hand1Suites[0] == Hand1Suites[3] && Hand1Suites[0] == Hand1Suites[4])
                {
                    if (Hand2Face[0] == face.Ace)
                    {
                        //check if Ace, two,...five
                        if (Hand2Face[0] - Hand2Face[1] == -1 && Hand2Face[1] - Hand2Face[2] == -1 && Hand2Face[2] - Hand2Face[3] == -1 && Hand2Face[3] - Hand2Face[4] == -1)
                        {
                            ScoreP1 = 9;
                        }
                        else if (Hand2Face[0] - Hand2Face[4] == -12 && Hand2Face[1] - Hand2Face[2] == -1 && Hand2Face[2] - Hand2Face[3] == -1 && Hand2Face[3] - Hand2Face[4] == -1)
                        {
                            ScoreP1 = 10;
                        }
                    }
                    if (Hand2Face[0] != face.Ace)
                    {
                        if (Hand2Face[0] - Hand2Face[1] == -1 && Hand2Face[1] - Hand2Face[2] == -1 && Hand2Face[2] - Hand2Face[3] == -1 && Hand2Face[3] - Hand2Face[4] == -1)
                        {
                            ScoreP1 = 9;
                        }
                    }
                    if (ScoreP1 == 0)
                    {
                        ScoreP1 = 6;
                    }
                }
                if (Hand2Face[0] == Hand2Face[1])
                {
                    if (Hand2Face[0] == Hand2Face[2])
                    {
                        if (Hand2Face[3] == Hand2Face[4])
                        {
                            ScoreP1 = 7;
                        }
                    }
                }
                if (Hand2Face[2] == Hand2Face[3])
                {
                    if (Hand2Face[2] == Hand2Face[4])
                    {
                        if (Hand2Face[0] == Hand2Face[1])
                        {
                            ScoreP1 = 7;
                        }
                    }
                }

                if (Hand2Face[0] == Hand2Face[1])
                {
                    if (Hand2Face[0] == Hand2Face[2])
                    {
                        if (Hand2Face[0] == Hand2Face[3])
                        {
                            ScoreP1 = 8;
                        }
                        else
                        {
                            ScoreP1 = 4;
                        }
                    }
                    else
                    {
                        if (ScoreP1 == 3)
                        {
                            break;
                        }
                        else
                        {
                            ScoreP1 = 2;
                        }
                    }
                }
                if (Hand2Face[1] == Hand2Face[2])
                {
                    if (Hand2Face[1] == Hand2Face[3])
                    {
                        if (Hand2Face[1] == Hand2Face[4])
                        {
                            ScoreP1 = 8;
                        }
                        else
                        {
                            ScoreP1 = 4;
                        }
                    }
                    else
                    {
                        if (ScoreP1 == 3)
                        {
                            break;
                        }
                        else
                        {
                            ScoreP1 = 2;
                        }
                    }
                }
                if (Hand2Face[0] == Hand2Face[1] && Hand2Face[2] == Hand2Face[3])
                {
                    ScoreP1 = 3;
                }
                if (Hand2Face[1] == Hand2Face[2] && Hand2Face[3] == Hand2Face[4])
                {
                    ScoreP1 = 3;
                }
                if (Hand2Face[0] == Hand2Face[1] && Hand2Face[3] == Hand2Face[4])
                {
                    ScoreP1 = 3;
                }
                if (Hand2Face[2] == Hand2Face[3])
                {
                    if (Hand2Face[2] == Hand2Face[4])
                    {
                        ScoreP1 = 4;
                    }
                }
                else
                {
                    if (ScoreP1 == 3)
                    {
                        break;
                    }
                    else
                    {
                        ScoreP1 = 2;
                    }
                }
                if (Hand2Face[3] == Hand2Face[4])
                {
                    if (ScoreP1 == 3)
                    {
                        break;
                    }
                    else
                    {
                        ScoreP1 = 2;
                    }
                }
                if (Hand2Face[0] - Hand2Face[1] == -1 && Hand2Face[1] - Hand2Face[2] == -1 && Hand2Face[2] - Hand2Face[3] == -1 && Hand2Face[3] - Hand2Face[4] == -1)
                {
                    ScoreP1 = 5;
                }
                else
                {
                    ScoreP1 = 1;
                }

                /*MessageBox.Show("works");
                 * for (int didntusethisi = 0; didntusethisi < Hand1Suites.Length; didntusethisi++)
                 * {
                 *  newOutput += ((face)Hand1Face[didntusethisi]).ToString() + "\n";
                 * }
                 * MessageBox.Show(newOutput);
                 *
                 * Array.Sort(Hand1Face);
                 * newOutput = "";
                 * for (int didntusethisi = 0; didntusethisi < Hand1Suites.Length; didntusethisi++)
                 * {
                 *  newOutput += ((face)Hand1Face[didntusethisi]).ToString() + "\n";
                 * }
                 * MessageBox.Show(newOutput);
                 *
                 * MessageBox.Show(((int)(Hand1Face[0] - Hand1Face[1])).ToString());*/
                MessageBox.Show(ScoreP1.ToString() + " " + ScoreP2.ToString());
            }
            WinnerLabel.Content = "Player 1 wins This many times: " + Player1Count;
        }
Example #13
0
 public PlayingCard(cardtypes type, suits suit, bool notfake)
 {
     this.type    = type;
     this.suit    = suit;
     this.notfake = notfake;
 }