コード例 #1
0
        //Method DistoSuit(num).
        //This method moves the Ace card from the Discard pile to the Suit Piles.
        public static bool DisToSuit(int num)
        {
            num--;
            // if discard not null
            if (discardPile.GetCount() == 0)
            {
                return(false);
            }
            //if ace
            if (checkvalue(discardPile.GetLastCardInPile()) == 1 &&
                suitPiles[num].GetCount() == 0
                )
            {
                suitPiles[num].Add(discardPile.DealLastOneCard());

                return(true);
            }
            //if not ace
            else
            {
                // if suit is null
                if (suitPiles[num].GetCount() == 0)
                {
                    return(false);
                }
                //if facevalue is the same and value difference is 1
                if (Check_Position(suitPiles[num].GetLastCardInPile(), discardPile.GetLastCardInPile()) &&
                    suitPiles[num].GetLastCardInPile().GetSuit().Equals(discardPile.GetLastCardInPile().GetSuit())
                    )
                {
                    suitPiles[num].Add(discardPile.DealLastOneCard());
                    return(true);
                }
                return(false);
            }
        }