This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Maniacal Maze

Sharraxaad

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!

Rakibaad

Just install like any other plugin. Put a [maniacal_maze] on an empty page or post to start the fun!

SBI

Installation Instructions

Just install like any other plugin. Put a [maniacal_maze] on an empty page or post to start the fun!

Dibu-eegisyo

Ma jiraan wax dibu-eegis ah oo ku saabsan kaabahan.

Ka-qaybgalayaasha & Horumariyayaasha

“Maniacal Maze” waa softiweer il furan. Dadka soo socda ayaa wax ku biiriyay kaabahan.

Ka-qaybgalayaasha

Ku tarjun “Maniacal Maze” luqaddaada.

Ma xiisaynaysaa horumarinta?

Baadh koodka, fiiri bakhaarka SVN, ama iska qor diiwaanka horumarinta adigoo adeegsanaya RSS.

Isbeddellada

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.