Пример #1
0
        private void UpdateField(Button clickedField)
        {
            int[] coords = BoardUtils.FieldToCoordinates(clickedField.Name);

            if (BoardUtils.hasQueenInField(clickedField))
            {
                // Clear field
                clickedField.Content        = "";
                Board[coords[0], coords[1]] = false;
            }
            else
            {
                // Add Queen
                BoardUtils.PlaceQueenInField(clickedField);
                Board[coords[0], coords[1]] = true;
            }
        }
Пример #2
0
        private void UpdateFieldColors()
        {
            IEnumerator iterator = CheckerBoard.Children.GetEnumerator();

            while (iterator.MoveNext())
            {
                Button field = (Button)iterator.Current;

                if (field.Name != "" && field.Content != null)
                {
                    int[] coords = BoardUtils.FieldToCoordinates(field.Name);

                    if (!IsSafe(coords[0], coords[1]) && BoardUtils.hasQueenInField(field))
                    {
                        field.Background = Brushes.Red;
                    }
                    else
                    {
                        ColorField(coords[0], coords[1], field);
                    }
                }
            }
        }