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); }
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>(); }