private void buildWalls() {
		Random random = new Random();

		int procentWalls = random.nextInt(19) + 2;
		while (getWallCoverage() < procentWalls && (procentWalls - getWallCoverage()) >= 2) {
			int directionInt = random.nextInt(2);

			int randomLength = 1;
			int randomX = 0;
			int randomY = 0;
			Direction dir;
			if (directionInt == 0) {
				randomLength = 2 + random.nextInt((grid.width / 2) - 2);
				int margin = grid.width - randomLength;
				randomX = random.nextInt(margin);
				randomY = random.nextInt(grid.height);
				dir = Direction.HORIZONTAL;
			} else {
				randomLength = 2 + random.nextInt((grid.height / 2) - 2);
				int margin = grid.height - randomLength;
				randomY = random.nextInt(margin);
				randomX = random.nextInt(grid.width);
				dir = Direction.VERTICAL;
			}

			Wall newW = new Wall(new Position(randomX, randomY), randomLength, dir);
			if (canHaveAsWall(newW) && getWallCoverage(randomLength) <= procentWalls) {
				grid.addElement(newW);
			}
		}
	}