// public func BuildBorderSquares(squareWidth: Int, containingRectangle: SquareFillRect) public void BuildBorderSquares(int squareWidth, SquareFillRect containingRectangle) { BuildTopRowBorderSquares(squareWidth: squareWidth, containingRectangle: containingRectangle); BuildRightWallBorderSquares(squareWidth: squareWidth, containingRectangle: containingRectangle); BuildBottomRightBorderSquares(squareWidth: squareWidth, containingRectangle: containingRectangle); BuildBottomLeftBorderSquares(squareWidth: squareWidth, containingRectangle: containingRectangle); BuildLeftWallBorderSquares(squareWidth: squareWidth, containingRectangle: containingRectangle); }
// private func BuildBottomLeftBorderSquares(squareWidth: Int, containingRectangle: SquareFillRect) private void BuildBottomLeftBorderSquares(int squareWidth, SquareFillRect containingRectangle) { var bottomY = (containingRectangle.Y + containingRectangle.Height) / squareWidth; var leftWallX = (containingRectangle.X / squareWidth) - 1; BottomLeftBorderSquares.Add(SquareFillPoint(x: leftWallX, y: bottomY)); BottomLeftBorderSquares.Add(SquareFillPoint(x: leftWallX + 1, y: bottomY)); foreach (var element in BottomLeftBorderSquares) { _borderSquares.Add(element); } }
// private func BuildRightWallBorderSquares(squareWidth: Int, containingRectangle: SquareFillRect) private void BuildRightWallBorderSquares(int squareWidth, SquareFillRect containingRectangle) { var rightWallX = (containingRectangle.X + containingRectangle.Width) / squareWidth; var topY = (containingRectangle.Y / squareWidth) - 1; var start = 1; var end = containingRectangle.Height / squareWidth; for (int count = start; count <= end; count++) { RightWallBorderSquares.Add(SquareFillPoint(x: rightWallX, y: topY + count)); } foreach (var element in RightWallBorderSquares) { _borderSquares.Add(element); } }
// private func BuildTopRowBorderSquares(squareWidth: Int, containingRectangle: SquareFillRect) private void BuildTopRowBorderSquares(int squareWidth, SquareFillRect containingRectangle) { var topRowY = (containingRectangle.Y / squareWidth) - 1; var leftWallX = (containingRectangle.X / squareWidth) - 1; var start = 0; var end = (containingRectangle.Width / squareWidth) + 1; for (int count = start; count <= end; count++) { TopRowBorderSquares.Add(SquareFillPoint(x: leftWallX + count, y: topRowY)); } foreach (var element in TopRowBorderSquares) { _borderSquares.Add(element); } }