Skip to content
Snippets Groups Projects
generate_dungeon.c: generates a dungeon map or loads one from file, and
	optionally saves it to the file. Also generates and prints distance
	maps, one for tunneling and one for non-tunneling monsters.

Compile: `make`
Run: `./generate_dungeon [--load --save]`

Generates, loads, or saves a random dungeon as specified in assignment 1.02.
Also generates distance maps to the player. For the non-tunneling monster
distance map, any open spaces (corridors and hallways) from which it is
impossible to reach the player are rendered as 'X'. For the tunneling monster
distance map, the border cells (immutable) are rendered as 'X'.

I briefly played with implementing my own heap data structure, but I decided
to use Dr. Sheaffer's heap because it uses generics and is already tested.
I implemented Dijkstra's algorithm also based on Dr. Sheaffer's implementation
from past assignments.