def drawBoard(board, message): DISPLAYSURF.fill(BGCOLOR) if message: textSurf, textRect = makeText(message, MESSAGECOLOR, BGCOLOR, 5, 5) DISPLAYSURF.blit(textSurf, textRect) for tilex in range(len(board)): for tiley in range(len(board)): if board[tilex][tiley]: drawTile(tilex, tiley, board[tilex][tiley]) left, top = getLeftTopOfTile(0, 0) width = BOARDWIDTH * TILESIZE height = BOARDHEIGHT * TILESIZE pygame.draw.rect(DISPLAYSURF, BORDERCOLOR, (left - 5, top - 5, width + 11, height + 11), 4)
Lines 12  to 15  draw a border around the tiles. The top left corner of the boarder will be 5 pixels to the left and 5 pixels above the top left corner of the tile at board coordinates (0, 0). The width and height of the border are calculated from the number of tiles wide and high the board is (stored in the
BOARDHEIGHT constants) multiplied by the size of the tiles (stored in the
The rectangle we draw on line 15  will have a thickness of 4 pixels, so we will move the boarder 5 pixels to the left and above where the
left variables point so the thickness of the line won’t overlap the tiles. We will also add
11 to the width and length (5 of those 11 pixels are to compensate for moving the rectangle to the left and up).