Beispiel #1
0
        public void ClearBoard()
        {
            _selectedPeg    = null;
            _variantsOfMove = new List <Hole>();

            var g = Graphics.FromImage(Display);

            g.Clear(Color.Transparent);
            g.Dispose();
        }
Beispiel #2
0
        private void SelectNewPeg(Position pos)
        {
            ClearSelection();

            if (!(Board[pos.I, pos.J] is Peg))
            {
                return;
            }

            _selectedPeg    = (Peg)Board[pos.I, pos.J];
            _variantsOfMove = _selectedPeg.GetVariantsOfMove(this);

            DrawSelectedPegAndMove();
        }
Beispiel #3
0
        private void CheckVariantsOfMove(Position pos)
        {
            foreach (var variant in from variant in _variantsOfMove where variant.Position.Equals(pos) select variant)
            {
                CreateBoardObj(Images.peg, new Peg(), variant.Position);
                CreateBoardObj(Images.hole, new Hole(), _selectedPeg.Position);
                CreateBoardObj(Images.hole, new Hole(), new Position((_selectedPeg.Position.I + variant.Position.I) / 2,
                                                                     (_selectedPeg.Position.J + variant.Position.J) / 2));

                _selectedPeg = null;
                _variantsOfMove.Clear();
                return;
            }
        }