public List<ChipChain> GetChains(SecurityColor beginningColor, List<Chip> chips)
        {
            List<ChipChain> chains = new List<ChipChain>();
            foreach (Chip validHeadChip in chips.Where(c => c.LeftColor == beginningColor))
            {
                List<Chip> proxyChips = new List<Chip>(chips);
                proxyChips.Remove(validHeadChip);

                chains.AddRange(BuildChains(validHeadChip, proxyChips));
            }
            return chains;
        }
        public List <ChipChain> GetChains(SecurityColor beginningColor, List <Chip> chips)
        {
            List <ChipChain> chains = new List <ChipChain>();

            foreach (Chip validHeadChip in chips.Where(c => c.LeftColor == beginningColor))
            {
                List <Chip> proxyChips = new List <Chip>(chips);
                proxyChips.Remove(validHeadChip);

                chains.AddRange(BuildChains(validHeadChip, proxyChips));
            }
            return(chains);
        }
示例#3
0
 public Chip(SecurityColor left, SecurityColor right)
 {
     LeftColor  = left;
     RightColor = right;
 }
示例#4
0
 public Chip(SecurityColor left, SecurityColor right)
 {
     LeftColor = left;
     RightColor = right;
 }
 public SecuritySystem(SecurityColor beginningMarkerColor, SecurityColor endMarkerColor)
 {
     _beginningMarkerColor = beginningMarkerColor;
     _endMarkerColor       = endMarkerColor;
     _chipChainBuilder     = ServiceContainer.Instance.GetService <IBuildChipChains>();
 }
 public SecuritySystem(SecurityColor beginningMarkerColor, SecurityColor endMarkerColor)
 {
     _beginningMarkerColor = beginningMarkerColor;
     _endMarkerColor = endMarkerColor;
     _chipChainBuilder = ServiceContainer.Instance.GetService<IBuildChipChains>();
 }