コード例 #1
0
        public static Card[] RetrieveCommunityCards()
        {
            Bitmap currentCommunityCards = CaptureCommunityCardsImage();

            int foundCount = 0;
            int cardsToSearch;
            Card[] hand;

            //Check to see how many cards you need to find, if no cards are on the table return null.
            if (BitmapHandler.SearchBitmap(currentCommunityCards, RetrieveBitmap("3cards")))
            {
                cardsToSearch = 3;
                hand = new Card[3];
            }
            else if (BitmapHandler.SearchBitmap(currentCommunityCards, RetrieveBitmap("4cards")))
            {
                cardsToSearch = 4;
                hand = new Card[4];
            }
            else if (BitmapHandler.SearchBitmap(currentCommunityCards, RetrieveBitmap("5cards")))
            {
                cardsToSearch = 5;
                hand = new Card[5];
            }
            else
            {
                return null;
            }

            foreach (NamedBitmap cardImage in cardPics)
            {
                if (BitmapHandler.SearchBitmap(currentCommunityCards, cardImage.bitmap))
                {
                    //Split the Bitmap filenames up into two seperate strings. EX) filename == S7, then stringSuit = "S", and stringRank = "7"
                    string stringSuit = cardImage.name.Substring(0, 1);
                    string stringRank = cardImage.name.Substring(1);

                    //Get the Bitmap filenames into Suit and Rank Enums. EX) filename == S7, then cardSuit = Suit.Spades, and cardRank = Rank.Seven
                    Card.Suit cardSuit = ConvertStringToSuit(stringSuit);
                    Card.Rank cardRank = ConvertStringToRank(stringRank);

                    hand[foundCount] = new Card(cardSuit, cardRank);
                    foundCount++;

                    //If you found all the cards, stop searching
                    if (foundCount == cardsToSearch)
                    {
                        break;
                    }
                }
            }
            return hand;
        }
コード例 #2
0
        public static Card[] RetrieveYourHand()
        {
            Bitmap currentHand = CaptureYourHandImage();

            //First check to see if there are no cards in your hand to avoid unnessicary searching.
            if (BitmapHandler.SearchBitmap(currentHand, RetrieveBitmap("NoHand")))
            {
                return null;
            }
            else
            {
                int foundCount = 0;
                int cardsToSearch = 2;
                Card[] hand = new Card[2];

                foreach (NamedBitmap cardImage in cardPics)
                {
                    if (BitmapHandler.SearchBitmap(currentHand, cardImage.bitmap))
                    {
                        //Split the Bitmap filenames up into two seperate strings. EX) filename == S7, then stringSuit = "S", and stringRank = "7"
                        string stringSuit = cardImage.name.Substring(0, 1);
                        string stringRank = cardImage.name.Substring(1);

                        //Get the Bitmap filenames into Suit and Rank Enums. EX) filename == S7, then cardSuit = Suit.Spades, and cardRank = Rank.Seven
                        Card.Suit cardSuit = ConvertStringToSuit(stringSuit);
                        Card.Rank cardRank = ConvertStringToRank(stringRank);

                        hand[foundCount] = new Card(cardSuit, cardRank);
                        foundCount++;

                        //If you found all the cards, stop searching
                        if (foundCount == cardsToSearch)
                        {
                            break;
                        }
                    }
                }
                return hand;
            }
        }