コード例 #1
0
        private void ChainOfFour(List <GamePosition> List, List <FourChain> Chains, GamePosition NewPoint)
        {
            var Bool = Chains.Where(x => x.IsContituent(NewPoint)).Any();

            if (!Bool)
            {
                var Near = List.Where(point => !point.Equals(NewPoint) && Math.Abs(NewPoint.X - point.X) < 2 && Math.Abs(NewPoint.Y - point.Y) < 2).ToList();
                foreach (var p in Near)
                {
                    var c = new FourChain(NewPoint, p);
                    if (!Chains.Any(x => x.IsSame(c)))
                    {
                        Chains.Add(c);
                    }
                }
            }
        }
コード例 #2
0
 public bool IsSame(FourChain c)
 {
     return(c.Chain.All(x => Chain.Any(y => y.Equals(x))));
 }