Exemple #1
0
        private double GetMaxPercentCell(ListСell cells)
        {
            var maxPercentCell = 0.0;

            foreach (Сell numberField in cells)
            {
                if (VisibleСell.IsPresent(numberField))
                {
                    var aroundCells = VisibleСell.GetAroundCellsNoTags(numberField, size);
                    var countFlags  = 0;

                    foreach (Сell aroundField in aroundCells)
                    {
                        if (MarkCell.IsPresent(aroundField))
                        {
                            countFlags++;
                        }
                    }

                    var countNoFlags = aroundCells.Count - countFlags;

                    var percentCell = 1.0 * (VisibleСell[numberField.Row, numberField.Column].Value - countFlags) / countNoFlags;

                    if (maxPercentCell < percentCell)
                    {
                        maxPercentCell = percentCell;
                    }
                }
            }

            return(maxPercentCell);
        }