The in Construct2 way which would be easy in the sense you wouldn't need an array would be to--
Use groups--
Have global variables. Random1=0 R2=0 R3=0 (more if you need them)
In those groups--
Map out set of square sprites equally to a tile set or map.
S1, S2, S3, etc.
Then Load a tile map as a sprite sheet.
Pick Spawn Object--
When the player does something, this will add to the Global Variables. The Global Variables will effect the Spawn Sprites (s1,s2, etc). This should create random dungeons.
Also note-- you can set the collisions on the tile map sprite set.
In your event sheet. Set the conditions for each spawn point--
Examples
If R1<2 R2=4 R3>12, then load SpriteBackground to S3 at animation 43
If R1=10 R2=50 R3>40, then load SpriteBackground to S3 at animation 23
You can find a free tile set here, but give credit to whose you use--
http://opengameart.org/
This will also take hours to a day depending on how many tiles and how larger you map will be. The bigger the map, the more time.
I know because since I'm learning arrays, I've developed this method as an alternative for a game jam. I've gotten better at groups, but after this jam going to study arrays more.
I have only three Spawn Sprites and three Graphics. I would suggest making larger interchangeable set pieces and less of a Zelda with this method.
Cheers