//Зайвий return public void Move() { Random rnd = new Random(); if (_desk.CheckersHaveToBit(Color).Count != 0) { do { int r1 = rnd.Next(0, _desk.CheckersHaveToBit(Color).Count - 1); CheckerOnDesk ch1 = _desk.CheckersHaveToBit(Color)[r1]; int r2 = rnd.Next(0, _desk.IsToBit(ch1).Count - 1); Point p2 = _desk.IsToBit(ch1)[r2]; _desk.MoveCheking(ch1.Point, p2, out _isBeat, Color); _movingChecker = _desk.GetCheckerOnDesk(p2); FirstPoint = ch1.Point; SecondPoint = p2; }while (_desk.IsToBit(_movingChecker).Count > 0); } else { if (_desk.ChekersToMove(Color).Count != 0) { int r1 = rnd.Next(0, _desk.ChekersToMove(Color).Count - 1); CheckerOnDesk ch1 = _desk.ChekersToMove(Color)[r1]; int r2 = rnd.Next(0, _desk.IsToMove(ch1).Count - 1); Point p2 = _desk.IsToMove(ch1)[r2]; _desk.MoveCheking(ch1.Point, p2, out _isBeat, Color); FirstPoint = ch1.Point; SecondPoint = p2; } } return; }
//Можна створити змінну isBeat в конструкції else private void SecondClick(Point p, out bool isCangeChecker, out bool wasBeat) { _isCorrect = false; _endMove = false; bool isBeat = false; isCangeChecker = false; wasBeat = false; if (_moveStarted && !LightPoints.Contains(p)) { return; } if (!LightPoints.Contains(p)) { if (!_desk.IsEmpty(p) && _desk.GetCheckerOnDesk(p).Color == this.Color) { if (_desk.CheckersHaveToBit(this.Color).Count == 0) { _isCorrect = true; _endMove = false; isCangeChecker = true; } else { if (_desk.IsToBit(_desk.GetCheckerOnDesk(p)) != null) { _isCorrect = true; _endMove = false; isCangeChecker = true; } } } } else { _desk.MoveCheking(_movingChecker.Point, p, out isBeat, Color); _movingChecker = _desk.GetCheckerOnDesk(p); _isCorrect = true; _endMove = true; wasBeat = isBeat; LightPoints = null; if (isBeat) { _endMove = _desk.IsToBit(_movingChecker).Count == 0; _moveStarted = true; } } }