Level Creation File
The file dgnLevel.py creates a faux matrix, (it is really just a list), tunnels with random places designated as rooms, inserts the rooms, then places the matrix into the dungeon.

The first order of business in this module is to create a class, Matrix.

Image not available

Next, I have a bounds checker function, that makes sure any operation is legal within the matrix. This is really only looking for violations on the x-axis, as the y-axis is prevented from overrunning by limiting the random values to (second row, (len(matrix) - row width)).

No image available


The following procedure tunnels through the matrix. It may look large to you, but half of it is just initializations. This procedure also leaves markers every so often to designate room locations.

Image not available

We now have a function setRoomMarkerInArrayIfWithin_WxH_Bounds . . . . That's a long name, but, I consider it important that descriptions are thorough, because if you have to go back over the code later, you have at least a beggar's chance of being able to understand what you are doing. The said function just makes sure that rooms are not to close to the edge. The last function copyRoomIntoMatrix, does exactly what it says. It has a function to prevent overlap, but I have not tested it, so it is commented out, use it at your own risk.

Image not available

This last function is strictly for testing purposes, this draws the matrix in the console, but heed the warning!

Image not available


Image not available