コード例 #1
0
        private void EvaluateLine(string line)
        {
            FabricPlan fp = new FabricPlan(line);

            for (int i = fp.StartX; i < fp.StartX + fp.LengthX; i++)
            {
                for (int j = fp.StartY; j < fp.StartY + fp.LengthY; j++)
                {
                    Box[i][j]++;
                }
            }
        }
コード例 #2
0
        public int GetValidClaim()
        {
            foreach (var line in Lines)
            {
                FabricPlan fp = new FabricPlan(line);

                if (IsClaimValid(fp))
                {
                    return(fp.Index);
                }
            }

            return(1);
        }
コード例 #3
0
        private bool IsClaimValid(FabricPlan fp)
        {
            for (int i = fp.StartX; i < fp.StartX + fp.LengthX; i++)
            {
                for (int j = fp.StartY; j < fp.StartY + fp.LengthY; j++)
                {
                    if (Box[i][j] > 1)
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }