11# Aldous-Broder algorithm for maze generation.
22
33Here is algorithm implementation (with visualization) in Pascal language.
4- It could be compiled with Free Pascal and Turbo Pascal. Used only two
5- "non-standard" functions: ` Randomize ` and ` Random ` .
4+ It could be compiled with Free Pascal and Turbo Pascal. Used only three
5+ "non-standard" functions: ` Randomize ` , ` Random ` and ` FillChar ` (the same
6+ as ` memset ` in C).
67
78For visualization, used output
89[ ANSI-terminal escape codes] ( https://en.wikipedia.org/wiki/ANSI_escape_code ) ,
@@ -23,14 +24,16 @@ by visited cells).
2324
2425` abmaze4.pas ` as prev, +random step length
2526
27+ IMHO, start from ` abmaze2.pas ` was changed behavior and this is not equalent.
28+
2629Modifications ` abmaze3.pas ` and ` abmaze4.pas ` increase speed. So, make review
2730` abmaze.pas ` as clean implementation and then try ` abmaze3.pas ` and
2831` abmaze4.pas ` . IMHO, these modifications make it possible to use the
2932algorithm on computers of the IBM AT 286 class.
3033
3134## Screenshot
3235
33- Here is screenshot visualization:
36+ Here is visualization screenshot :
3437![ Screenshot: Maze generation] ( https://github.com/DosWorld/abmaze/blob/master/ABMAZE.PNG?raw=true )
3538
3639## Original algorithm description
@@ -55,14 +58,15 @@ to fix it in my modifications)
5558## Links
5659
5760https://weblog.jamisbuck.org/2011/1/17/maze-generation-aldous-broder-algorithm
61+ (article with good description, pictures and example in python)
5862
5963[ ![ Maze generation with Aldous-Broder algorithm] ( http://img.youtube.com/vi/-EZwuFdkJes/0.jpg )] ( http://www.youtube.com/watch?v=-EZwuFdkJes " Maze generation with Aldous-Broder algorithm ")
6064
61- https://github.com/DosWorld/abmaze/
65+ https://github.com/DosWorld/abmaze/ (this repository)
6266
63- https://en.wikipedia.org/wiki/Maze_generation_algorithm
67+ https://en.wikipedia.org/wiki/Maze_generation_algorithm (general overview)
6468
65- https://github.com/topics/aldous-broder
69+ https://github.com/topics/aldous-broder (other implementations)
6670
6771## License
6872
0 commit comments