Hi,
There are many questions as for simple explanation and also it depends on what maze you want to create. Simple maze isn't too complex, but if you want to add rooms etc. then it isn't as easy and need more time to prepare, but also is possible to do it in one weekend I guess (if you understand algorithm).
I prepared some sample project generating simple maze (with some visualization). You can check it and maybe you will figure out how to add other features you want. If not maybe I will explain more if I find some time.
Here is how attached project supposed to work: