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:
Cleanup of the app CMakeLists.txt
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.
Introduction of AbstractMaze and AbstractMazeGenerator to keep things organized and decrease code repetition.
All enums finally changed to enum classes.
Dimensions2D introduced to manage dimensions and their validity.
The code is looking much more organized and like a library now.
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:
CMakeLists.txt
~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.AbstractMaze
andAbstractMazeGenerator
to keep things organized and decrease code repetition.enum
s finally changed toenum class
es.Dimensions2D
introduced to manage dimensions and their validity.The code is looking much more organized and like a library now.