private bool CanTakePiece(GameModel game,
                                  IChessPiece target)
        {
            if (target is King)
            {
                return(false);
            }

            foreach (var chessPiece in game.MovingPlayer.Pieces)
            {
                if (gameValidationService.ValidateMove(game, new Move(chessPiece.Position, target.Position)) != null)
                {
                    return(true);
                }
            }

            return(false);
        }
示例#2
0
        public void IsMoveValid_DestinationIsOutsideTheBoard_ShouldReturnFalse(int x, int y)
        {
            // Arrange
            var movingPlayer  = new Player(PlayerColor.White);
            var waitingPlayer = new Player(PlayerColor.Black);
            var piece         = new WhitePawn(new Position(5, 5));
            var dest          = new Position(x, y);

            // Act
            var result = gameValidationService.ValidateMove(TODO, TODO);

            // Assert
            result.ShouldBe(false);
        }