#Today, we'll be generating a map for a rouge-like RPG! ##Example Map: ########## #### F# #### ## ## C#C# # ## # # C #E # #### # # # # #P # ########## `#` are walls, `P` is the player's starting location, `F` is the finish that must be reached, `C` are coins that can be collected, and `E` are enemies that can be fought. ##Map specifications: * Height and Width should both be between 10 and 39, inclusive. Height does not have to equal width. * The maps borders should be filled in with walls. * `P` should be placed in the bottom left corner. * `F` should be placed in the top right corner. * There should be between 1 and 3 enemies. * There should be between 2 and 4 coins. * There should be some amount of walls in the middle. There should be a path to get from `P` to Every `C`, `E`, and `F`, keeping in mind that the player cannot move diagonally. * Every possible combination should have an equal chance of occurring (You may assume your language's built in random number generator is uniformly random). ##Rules * Fewest byte program wins. * Your program should not take any input. * Your program may not exit with an error (non-fatal output is `STDERR` is ok, but we can't have our rouge-like crash after map generation!) * A single trailing newline is allowed and trailing space is allowed. * No other output is allowed.