The repository was cloned at 19:10, Feb 19th 2023
General
Neither of the algorithms were familiar to me in advance. The application runs well, functions and classes have been logically split between distinct files and the overall project structure looks great. The unit-tests are thorough and all pass however currently the tests themselves are included in the coverage which is probably not intended
Functionality
The dungeon - and especially the biome generation look really appealing! On the dungeons on rare occasions I could generate rooms with 3 passages between each other (image), which I'm not sure is intended.

Something I noticed when launching the application is that the dungeon/maze wouldn't be drawn on the first click of the button. A possible fix would be to call the show()-method before attempting to draw it by inverting the rows in src/ui/ui.py
if self.generate_dungeon_button.collidepoint(pos):
self.show_dungeon() <-
self.draw_dungeon() <-
elif self.generate_biome_button.collidepoint(pos):
self.show_biome() <-
self.draw_biome() <-
I believe the current implementation to generate a new biome/dungeon and display the previous one instead of the newly created one upon clicking the button. Other than that the app functions great! No stuttering/crashing/freezing.
Docstring
As the algorithms themselves are new to me, I had some trouble trying to figure out what part of the app the different algorithms were for, for example the RandomWalk class, which I later found the purpose for from the project specification document. The methods within classes were well documented and easy to understand though!
Something very minor I just realized, there is an unused import randint in ui.py that the linter fails to notice, maybe the config could use some fine-tuning?
Final words
The project is in a great state, now only to introduce the user controls for more customization. Good luck !:)
The repository was cloned at 19:10, Feb 19th 2023
General
Neither of the algorithms were familiar to me in advance. The application runs well, functions and classes have been logically split between distinct files and the overall project structure looks great. The unit-tests are thorough and all pass however currently the tests themselves are included in the coverage which is probably not intended
Functionality
The dungeon - and especially the biome generation look really appealing! On the dungeons on rare occasions I could generate rooms with 3 passages between each other (image), which I'm not sure is intended.

Something I noticed when launching the application is that the dungeon/maze wouldn't be drawn on the first click of the button. A possible fix would be to call the
show()-method before attempting to draw it by inverting the rows insrc/ui/ui.pyI believe the current implementation to generate a new biome/dungeon and display the previous one instead of the newly created one upon clicking the button. Other than that the app functions great! No stuttering/crashing/freezing.
Docstring
As the algorithms themselves are new to me, I had some trouble trying to figure out what part of the app the different algorithms were for, for example the
RandomWalkclass, which I later found the purpose for from the project specification document. The methods within classes were well documented and easy to understand though!Something very minor I just realized, there is an unused import
randintinui.pythat the linter fails to notice, maybe the config could use some fine-tuning?Final words
The project is in a great state, now only to introduce the user controls for more customization. Good luck !:)