maze C++ MFC Visual Studio Hexadecagon
Yesterday I had an idea for a new maze. So I decided to code it. And share my experience in a Journal.
At first, I wasn't sure what kind of maze it is going to be. I just had a vague concept that the cells will consist of a mixture of hexagons, squares, and triangles. So I took out a pen and a notebook and did a sketch (1).
After looking at (1), it seemed implementable, but too ordinary, so I did another sketch (2). This also looked implementable, but rather too simple, so I did a third sketch (3). This looked sufficiently complex, but didn't seem implementable. Specifically, the outer-most triangles encircling the left ring didn't seem repeatable in the right ring. Doable or not, this was becoming too complicated to continue by hand. So I started up a CAD program and started drawing (3). After making several adjustments to (3), I came up with (4).
This looks implementable. But I didn't like the fact that (4) contains right triangles in some of its cells. So I went back to design # (2) and drew it as (5) in CAD. After taking a good look at (5), it seemed to me that (5) is more aesthetically pleasing than (4) and less work to implement. So I decided to proceed with design # (2). As the next step, I found "the basic unit of repetition" (macro tile) and assigned ID numbers from 0 to 19 to every cell. This is shown in CAD drawing (6).
The next step was to print out (6) on paper and write down the vertex coordinates I obtained from the CAD program. Then I started up Visual Studio and wrote a quick and dirty program that plots on the screen the content of an array of line segments stored as a pair of coordinates (x1,y1)-(x2,y2). This was useful for visually checking for entry errors. Diagram (7) is a screen capture of a couple of tiles drawn by the C++ program. The lines show where the walls of the maze are going to be placed. So far so good.
But I need a name. The rings look like 16-sided polygons. Looked up Internet. They call it Hexadecagon. Try “Hexadecagon Maze” Not taken. Good. It's mine Next task: Construct the maze.