예제 #1
0
        public bool ContainsQuad()
        {
            var allGroups = TileGrouper.FindAllGroupsInTiles(UncalledTiles);

            return(allGroups.Any(group => group.IsQuad()) ||
                   (CalledSets.Any(group => group.IsTriplet() && UncalledTiles.Contains(group.First()))));
        }
예제 #2
0
        public void FindMostValuableWayToParseWinningHand()
        {
            if (BestWayToParseHand != null)
            {
                return;
            }

            var allWaysToParseWinningHand = FindAllWaysToParseWinningHand();

            if (allWaysToParseWinningHand.Count == 0)
            {
                if (BonusSets.Count > 6)
                {
                    BestWayToParseHand = CalledSets.Concat(BonusSets).ToList();
                }
                return;
            }

            CheckAndUpdateBestWayToParseWinningHand(allWaysToParseWinningHand);
        }