sraaphorst / spelunker

Maze generation and solving library
Other
11 stars 2 forks source link

T66: Major refactor and generalization #87

Closed sraaphorst closed 6 years ago

sraaphorst commented 6 years ago

The code was getting rather crufty from this starting off as a small-scale project that has expanded rapidly, so a major reorganization was in order.

New things in this PR include:

  1. Cleanup of the app CMakeLists.txt
  2. Major reorganization of the ~Attributes files, with classes factored out, and many functions moved in as they were found to be useful outside of the classes in which they were defined.
  3. Introduction of AbstractMaze and AbstractMazeGenerator to keep things organized and decrease code repetition.
  4. All enums finally changed to enum classes.
  5. Dimensions2D introduced to manage dimensions and their validity.

The code is looking much more organized and like a library now.