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,
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)).
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.
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.
This last function is strictly for testing purposes, this draws the matrix in the console,
but heed the warning!