public override bool CanMoveToAnotherPile(int whichOne)
        {
            if (Discards !.HasCard(whichOne) == false)
            {
                throw new BasicBlankException($"Must have at least one card on {whichOne}");
            }
            var oldCard = Discards.GetLastCard(whichOne);
            var newCard = Discards.GetLastCard(PreviousSelected);

            return((int)oldCard.Value + newCard.Value == EnumCardValueList.Jack);
        }
        public override bool CanAddSingleCard(int whichOne, SolitaireCard thisCard)
        {
            if (Discards !.HasCard(whichOne) == false)
            {
                return(true);
            }
            var oldCard = Discards.GetLastCard(whichOne);

            if (thisCard.Suit != oldCard.Suit)
            {
                return(false);
            }
            return(oldCard.Value - 1 == thisCard.Value);
        }
Exemple #3
0
        public override bool CanAddSingleCard(int whichOne, SolitaireCard thisCard)
        {
            if (Discards !.HasCard(whichOne) == false)
            {
                return(true);
            }
            if (whichOne == 2)
            {
                return(false);
            }
            var oldCard = Discards.GetLastCard(whichOne);

            if (oldCard.Value - 1 == thisCard.Value)
            {
                return(true);
            }
            return(oldCard.Value == EnumCardValueList.LowAce && thisCard.Value == EnumCardValueList.King); //because round corner.
        }
        public override bool CanMoveToAnotherPile(int whichOne)
        {
            if (PreviousSelected == -1)
            {
                throw new BasicBlankException("There is no pile even selected");
            }
            if (Discards !.HasCard(whichOne) == false)
            {
                return(false); //can only fill an empty spot with a card from the deck
            }
            var oldCard = Discards.GetLastCard(whichOne);
            var newCard = Discards.GetLastCard(PreviousSelected);

            if (newCard.Suit != oldCard.Suit)
            {
                return(false);
            }
            return(oldCard.Value - 1 == newCard.Value);
        }
Exemple #5
0
        public override bool CanMoveToAnotherPile(int whichOne)
        {
            if (whichOne == 2)
            {
                return(false);
            }
            if (Discards !.HasCard(whichOne) == false)
            {
                return(PreviousSelected == 2);
            }
            if (PreviousSelected == 2)
            {
                return(false);
            }
            var oldCard = Discards.GetLastCard(whichOne);
            var newCard = Discards.GetLastCard(PreviousSelected);

            if (oldCard.Value - 1 == newCard.Value)
            {
                return(true);
            }
            return(oldCard.Value == EnumCardValueList.LowAce && newCard.Value == EnumCardValueList.King); //because round corner.
        }