private ChessPiecesEntity GetQueen() { var directionTypeList = new List <DirectionTypeEntity> { new DirectionTypeEntity { Direction = DirectionsEnum.Horizontal.ToString() }, new DirectionTypeEntity { Direction = DirectionsEnum.Vertical.ToString() }, new DirectionTypeEntity { Direction = DirectionsEnum.Diagonal.ToString() } }; var chessPiece = new ChessPiecesEntity { PieceName = ChessPieceNamesEnum.Queen.ToString(), MaxMoves = 7, DirectionTypeList = directionTypeList }; List <GridCoordinateEntity> gridCoordinateInstructionList = GetGridCoordinateInstructionList(chessPiece); chessPiece.GridCoordinateInstructionList = gridCoordinateInstructionList; return(chessPiece); }
public void CanSetPieceName() { var chessPieceEntity = new ChessPiecesEntity(); chessPieceEntity.PieceName = "King"; chessPieceEntity.MaxMoves = 99; var chessPieceName = chessPieceEntity.PieceName; var chessPieceMaxMoves = chessPieceEntity.MaxMoves; Assert.Equal("King", chessPieceName); Assert.Equal(99, chessPieceMaxMoves); }
private ChessPiecesEntity GetChessPieceEntityByName(string chessPiece) { var chessPieceEntity = new ChessPiecesEntity(); foreach (var item in _board.ChessPieceList.Where(item => chessPiece == item.PieceName)) { chessPieceEntity = item; break; } return(chessPieceEntity); }
private List <GridCoordinateEntity> GetCoordinateInstructionListForVertical(ChessPiecesEntity chessPiece, List <GridCoordinateEntity> coordinateList) { //For Vertical var x = 0; var y = -(chessPiece.MaxMoves); for (var i = -(chessPiece.MaxMoves); i <= chessPiece.MaxMoves; i++) { if (!(x == 0 && y == 0)) { coordinateList.Add(new GridCoordinateEntity { XCoordinate = x, YCoordinate = y }); } y++; } return(coordinateList); }
private ChessPiecesEntity GetBishop() { var directionTypeList = new List <DirectionTypeEntity> { new DirectionTypeEntity { Direction = DirectionsEnum.Diagonal.ToString() } }; var chessPiece = new ChessPiecesEntity { PieceName = ChessPieceNamesEnum.Bishop.ToString(), MaxMoves = 7, DirectionTypeList = directionTypeList, GridCoordinateInstructionList = null }; List <GridCoordinateEntity> gridCoordinateInstructionList = GetGridCoordinateInstructionList(chessPiece); chessPiece.GridCoordinateInstructionList = gridCoordinateInstructionList; return(chessPiece); }
private List <GridCoordinateEntity> GetGridCoordinateInstructionList(ChessPiecesEntity chessPiece) { List <GridCoordinateEntity> coordinateList = new List <GridCoordinateEntity>(); foreach (var directionType in chessPiece.DirectionTypeList) { if (directionType.Direction == DirectionsEnum.Horizontal.ToString()) { coordinateList = GetCoordinateInstructionListForHorizontal(chessPiece, coordinateList); } if (directionType.Direction == DirectionsEnum.Vertical.ToString()) { coordinateList = GetCoordinateInstructionListForVertical(chessPiece, coordinateList); } if (directionType.Direction == DirectionsEnum.Diagonal.ToString()) { coordinateList = GetCoordinateInstructionListForDiagonal(chessPiece, coordinateList); } } return(coordinateList); }
private IEnumerable <GridCoordinateEntity> GetGridCoordinatesFromInstructions(ChessPiecesEntity chessPiecesEntity, GridCoordinateEntity startGridCoordinate) { var gridCoordinateEntityList = new List <GridCoordinateEntity>(); foreach (var gridCoordinateEntity in chessPiecesEntity.GridCoordinateInstructionList) { var validGridCoordinateEntity = new GridCoordinateEntity { XCoordinate = gridCoordinateEntity.XCoordinate + startGridCoordinate.XCoordinate, YCoordinate = gridCoordinateEntity.YCoordinate + startGridCoordinate.YCoordinate }; if (IsValid(validGridCoordinateEntity)) { gridCoordinateEntityList.Add(validGridCoordinateEntity); } } return(gridCoordinateEntityList); }