I thought I´d let you know how maps get drawn here:
-generate 50x50 map array.
-generate 10x10 zone array.
[The zone array was first created to work with pre-made blocks that would get created on an specific 5x5 array before getting plotted on the map but I ditched the idea since I thought that for my wanted output, this would be overkill.]
[Also, 1 zone on each side is more or less a dead one, I generate over it but you won´t be able to go into it on the final game, it is just done so that the map dosen´t have visual dead/empty boundaries , like when you get on the border things just don´t disappear, you have some 5 blocks of ´scenary´. The other reason was that I didn´t wanna bother with array limits while dealing the map, ye no out of bound calls. So the safe zone is actually 8x8]
-generate a start zone on the lower part of the safe zone skipping 1 extra zone each side.
-here comes a very strange algorithm to draw a path like a snake from the start zone, I avoid backtrack and diagonal movements.
-then I pick a random zone within this path and a random clear map zone and connect them, here diagonals are allowed.
-These ones are now called path zones, I RND some ground textures on the equivalent map.
-On the non-path zones, I RND some high density zones (the brow darker ones).
-I run trough the zone array checking for high density zones and draw mid density ones on each side if it is not a path zone.
-All other clear zones, non-path ones, becames low density zones...enough of zones

jump to map array.
-RND bricks according to density on the map array.
-Run 2x a 2x2 diagonal analyses on the map checking for diagonal bricks and changing the lower ones to broken bricks, here I´d like to avoid diagonal brick blocks.
-Run a cross check on each non-brick tile to kill single spaces enclosed by bricks. Double or more remains.
-Run horizontal check looking for bricks that are 1 to 5 empty tiles apart and draw metal fence, RND broken ones. I also check up and down so fences don´t get drawn stacked over each other.
-Generate graves, destroyed graves, lamps.
-RND trees all over.
-Run through the map growing each tree tile on its sides if empty, do that again.
-Run through the map growing leaves tiles around the tree tiles if empty, do that again.
-Voila, there is the map.

It may look a bit noisy but it fits the game needs as I want to depict an abandoned ancient graveyard.
I should upload a gif of it working, but it dosen´t show much, some steps are a bit invisible to showscreen.
I got inspired by this article here on Brogue on map generation, take a read:
http://www.rockpapershotgun.com/2015/07/28/how-do-roguelikes-generate-levels/#more-303483