private void addRandomBoulders(IceMap map) {
		int attempts = 0;
		int maximumAttempts = 500;
		
		int randomBoulders = (map.getWidth() * map.getHeight()) / 15;
		
		while(randomBoulders > 0 && attempts < maximumAttempts){
			
			int x = random.nextInt(map.getWidth());
			int y = random.nextInt(map.getHeight());
			
			if(map.getTileType(x, y) != IceMap.Tile.SOLID && !map.isStart(x, y) && !map.isEnd(x, y)){
				
				boolean noAdjacentBoulders = true;
				for(int i = x - 1; i <= x + 1; i++){
					for(int j = y - 1; j <= y + 1; j++){
						if(map.getTileType(i, j) != IceMap.Tile.ICE){
							noAdjacentBoulders = false;
						}
					}	
				}
				
				if(noAdjacentBoulders){
					map.setTileType(x, y, IceMap.Tile.SOLID);
					randomBoulders--;
				}
				
			}
			
			attempts++;
		}
	}