=== Maniacal Maze === Contributors: maniacalv Tags: maze, game Requires at least: 3 Tested up to: 4.9.8 Requires PHP: 5 Stable tag: trunk License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html A random maze generator. == Description == A place to practice my code by developing a maze generation program. I hope to revisit a 16 year old project I made by starting fresh with a CSS framework, and as a WordPress plugin. Version 3 changes the frontend so that you make square mazes. These mazes are now solvable via mouse click, arrow keys or touch on phone. Version 2 draws the entire maze as a single image which can be downloaded. The maze should look good across multiple devices, depending on the theme. I added a that and end color so you can actually print and solve these! Version 1 creates a random maze, and using divs, should display well on most-sized screens, including phones. Next I am considering ways to add interactivity! I'd like to add more options, too! == Installation == Just install like any other plugin. Put a [maniacal_maze] on an empty page or post to start the fun! == Frequently Asked Questions == == Screenshots == == Changelog == = 3.0 = * Overhauled the code so most of the data is in javascript * Created handlers for touch and keyboard * Created logic to check for allowed moves * The maze is now solvable and should work with mouse, touch or arrow keys, on phone, tablet and PC. = 2.2 = * FIxed the shortcode so it returns, not echos. = 2.1 = * Tweaked the display. Not 100% satisfied but it works well enough for now. = 2.0 = * We have attained version 2, a fully printable, solveable, random maze! * I rethought the display code to make sure it fits your display as least somewhat. * I added a green and red tile as a start and end point. = 1.1 = * I replaced the current display code with one that creates a canvas image. * I originally had it draw walls, except for the exit walls. This caused a problem with edges midding chunks. * I finally had it draw a black background, then cut our the floor. * It then cut out the walls it needed to making things look better. * The ground toggles between 2 grays. = 1.0 = * After many changes and optimizations to how I was doing things, I made so that it * Marks itself used. Increments the total counter. * Looks for walls that are not bedrock or in use already. * Randomly picks a wall, marks that bit, then in the new room, marks the opposite wall bit * It then moves to the new room. * If it can't find an exit, it moves back one in the history and repeats until it finds a new room * What REALLY REALLY helps is when you map height to h and width to w in the history instead of the other way around. = 0.3 = * Changed how I enqueueued the css framework. Hopefully this doesn't mess up any themes. If so I'll have to compile a css file with w3 under #maniacal_maze_mazer * Moved the maze creating code over to a function. * Renamed the variable $doors to $walls since it does the exact opposite of what I named it. * Started working on the function for starting the process with the first two steps in the loop, manually in a for(). * Took out my test code for error checking and resubmitting to WP Repository! = 0.1 = * First release to submit to Wordpress for inclusion into the repository. * Maze width and height page with error checking finished. * Link is created and page refreshed to the new link. * Links can be entered by hand and easy to change. * Links are error checked. * Array of cells created with empty value for doors. * Array of bitwise "bedrock" created to make it easier when finding valid walls. * CSS done using W3.CSS. * Created jQuery and javascript to handle buttons turning red as well as sizing cell to fit your display and to update this if your viewport size changes.