int charheight = g.getFontMetrics().getHeight();
g.setColor(new Color(levelManager.backgroundColour));
g.fillRect(offx, offy + (blocksizey / 2) - g.getFontMetrics().getHeight(), (levelManager.getWidth() * blocksizex) + 20, (levelManager.getHeight() * blocksizey) + charheight - 5);
for (Map.Entry<Position, String> ents : levelManager.tiles.entrySet()) {
Tile tile = levelManager.blockMapping.get(ents.getValue());
g.setColor(Color.BLACK);
g.drawString(Character.toString(tile.getSymbol()), offx + (ents.getKey().x * blocksizex) + 1, offy + (ents.getKey().y * blocksizey) + 1);
g.setColor(new Color(tile.getColour()));
g.drawString(Character.toString(tile.getSymbol()), offx + (ents.getKey().x * blocksizex), offy + (ents.getKey().y * blocksizey));
}
for (Map.Entry<Position, Integer> ents : levelManager.squareColours.entrySet()) {
g.setColor(new Color(ents.getValue()));
g.fillRect(offx + (ents.getKey().x * blocksizex), offy + (ents.getKey().y * blocksizey), blocksizex, blocksizey);