# Maze Open SCAD Project- Ariana & Christina

## Initial Design Idea

We would like to create a maze game with a ball that will fit and be able to move around inside the maze. There will be three different levels of difficulty that we hope to add to the code. We have very little experience with coding, so we are still learning and figuring out how to use the program. We are still working to improve our coding skills.We have to learn how to create a maze using code and how to add different levels to the code that can be changed if the user wishes for a harder maze difficulty. This has already been a challenge for us, but we are using YouTube, google, and a few other resources for help in learning how to code.

## Design Iteration

The code pasted below is the code used for the first (beginner) maze. The block width and wall thickness always stay the same, but as the levels get harder the maze row and maze column numbers should be changed according to the instructions. The cube dimensions also have to be changed as the platform does not fit all levels. Each number that needs to be changed is clearly written in the instructions. The maze block section is describing the coordinates where each line are and the last number decides which direction the line goes ([x, y, wall type/direction]). As the levels get harder, more coordinates are added to the original maze to make it more complex. We originally did not have a platform for this maze, so we had to add one. I also had to add in the instructions on what dimensions of the maze needed to change for each level, as we did not realize that we needed to do that before. Above is a photo of us working on the hardest level of maze. The color also had to be changed so I could see the platform more easily when trying to change the dimensions.

Code:

color(“lightskyblue”) cube([12, 12, .5]);
block_width = 3;
wall_thickness = 1;
maze_rows = 3;
maze_columns = 3;
//If you would like to complete the easiest maze then use the following code and change the maze row to 3 and the maze column to 3. Also, the cube dimensions should be changed to 12, 12, .5.
// [x, y, wall_type]
maze_blocks =  [
[1, 4, 1], [2, 4, 1], [3, 4, 1], [4, 4, 1],
[1, 3, 2], [2, 3, 4], [3, 3, 1], [4, 3, 2],
[1, 2, 0], [2, 2, 2], [3, 2, 2], [4, 2, 2],
[1, 1, 1], [2, 1, 1], [3, 1, 2], [4, 1, ],

## First Draft Print

Overall, our print was a success. Through this basic print we learned how to make a simple maze and how to make a 2 dimensional design print 3 dimensionally by adding a linear extrude. In this draft, we didn’t know how to add a platform so we rafted it on the Lulzbot printer settings. However, we’ve now learnt how to make a cube in OpenSCAD the platform for our mazes.

## Thingiverse Customizer

The parameters that can be changed are listed below:

//Parameters
color(“lightskyblue”) cube([27, 30, .5]);
block_width = 3;
wall_thickness = 1;
maze_rows = 10;
maze_columns = 8;
Instructions for parameters that need to be changed for each level:
//If you would like to complete the easiest maze then use the following code and change the maze row to 3 and the maze column to 3. Also, the cube dimensions should be changed to 12, 12, .5.
//If you would like to complete a harder maze then add the following code and change the maze row to 7 and the maze column to 5. Also, the cube dimensions should be changed to 18, 24, .5.
//If you would like to complete the hardest maze then add the following code and change the maze row to 10 and the maze column to 8. Also, the cube dimensions should be changed to 27, 30, .5.

## Final Prints

The parameters for each maze are described below:
color(“lightskyblue”) cube([27, 30, .5]);
block_width = 3;
wall_thickness = 1;
maze_rows = 10;
maze_columns = 8;
//If you would like to complete the easiest maze then use the following code and change the maze row to 3 and the maze column to 3. Also, the cube dimensions should be changed to 12, 12, .5.
[1, 4, 1], [2, 4, 1], [3, 4, 1], [4, 4, 1],
[1, 3, 2], [2, 3, 4], [3, 3, 1], [4, 3, 2],
[1, 2, 0], [2, 2, 2], [3, 2, 2], [4, 2, 2],
[1, 1, 1], [2, 1, 1], [3, 1, 2], [4, 1, ],
//If you would like to complete a harder maze then add the following code and change the maze row to 7 and the maze column to 5. Also, the cube dimensions should be changed to 18, 24, .5.
[1, 5, 1], [2, 5, 1], [3, 5, 1], [4, 5, 2],
[1, 6, 2], [2, 6, 1], [3, 6, 1], [4, 6, 2],
[1, 7, 0], [2, 7, 0], [3, 7, 1], [4, 7, 1],
[2, 8, 1], [1, 8, 3], [3, 8, 1], [4, 2, 1],
[5, 8, 1], [1, 4, 1], [3, 4, 1], [2, 4, 1],
[2, 3, 0], [1, 2, 1], [3, 3, 2], [5, 3, 3],
[6, 1, 2], [6, 2, 2], [5, 2, 2], [6, 3, 0],
[6, 5, 3], [5, 6, 2], [6, 4, 3], [4, 7, 1],
[6, 6, 0], [6, 3, 2], [6, 7, 3], [6, 8, 3],
[6, 0, 1], [2, 8, 1], [0, 8, 2],
//If you would like to complete the hardest maze then add the following code and change the maze row to 10 and the maze column to 8. Also, the cube dimensions should be changed to 27, 30, .5.
[7, 7, 3], [8, 7, 2], [9, 7, 2], [9, 6, 2],
[7, 8, 1], [8, 8, 1], [9, 8, 1], [9, 4, 3],
[7, 9, 2], [8, 9, 4], [9, 9, 1], [1, 10, 3],
[7, 10, 0],[8, 10, 2], [9, 10, 2],[2, 10, 3],
[3, 10, 3],[4, 10, 1], [5, 10, 3], [6, 10, 1],
[7, 10, 2], [8, 10, 1], [9, 10, 3], [9, 9, 3], [9, 8, 3],
[8, 7, 1],[9, 5, 1],[9, 6, 2], [9, 3, 3], [9, 2, 2], [8, 2, 3],
[8, 3, 3], [3, 9, 1], [4, 9, 1], [9, 5, 3], [7, 3, 2], [7, 5, 3],
[9, 0, 1], [9, 1, 2],

The different levels of mazes ended up printing very well! We printed four different mazes. The light grey maze is the first one that was printed and it is the most simple maze that someone can complete. The white maze is the second maze that was printed and that is medium difficulty. The hardest maze is the navy one which was printed in a smaller size as well as a larger size. All of the mazes printed without a problem and we were very happy with the outcome! Not pictured is a ball that we printed that you can put in the maze to complete the game.