private bool IsValid(GridCoordinateEntity validGridCoordinateEntity) { var isValid = !(validGridCoordinateEntity.XCoordinate > 7) && !(validGridCoordinateEntity.XCoordinate < 0) && !(validGridCoordinateEntity.YCoordinate > 7) && !(validGridCoordinateEntity.YCoordinate < 0); return(isValid); }
private List <ChessCoordinatesEntity> GetValidGridMoveCoordinatesList(string chessPiece, GridCoordinateEntity startGridCoordinate) { var gridCoordinateEntityList = GetGridCoordinatesFromInstructions(GetChessPieceEntityByName(chessPiece), startGridCoordinate); var validCoordinateEntityList = GetChessCoordinateListFromGridList(gridCoordinateEntityList); return(validCoordinateEntityList); }
private ChessCoordinatesEntity GetChessCoordinateFromGridCoordinate(GridCoordinateEntity gridCoordinate) { var x = gridCoordinate.XCoordinate; var y = gridCoordinate.YCoordinate; var chessY = (y + 1).ToString(); var chessX = (char)(x + 97); var chessCoordinate = new ChessCoordinatesEntity($"{chessX}{chessY}"); return(chessCoordinate); }
private GridCoordinateEntity GetGridCoordinateFromChessCoordinate(string startingChessCoordinate) { //Note, we are not checking the coordinate to validate that it's incorrect. We can add handling in this later. var chessX = startingChessCoordinate.Substring(0, 1); var chessY = startingChessCoordinate.Substring(1, 1); var x = Convert.ToInt16(chessY) - 1; var y = Convert.ToChar(chessX.ToLower()) - 97; var coordinate = new GridCoordinateEntity { YCoordinate = x, XCoordinate = y }; return(coordinate); }
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); }