{"id":90232,"date":"2018-08-21T13:30:53","date_gmt":"2018-08-21T13:30:53","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/maniacal-maze\/"},"modified":"2018-08-25T17:17:52","modified_gmt":"2018-08-25T17:17:52","slug":"maniacal-maze","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/maniacal-maze\/","author":9122139,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"3","stable_tag":"trunk","tested":"4.9.29","requires":"3","requires_php":"","requires_plugins":"","header_name":"Maniacal Maze","header_author":"Colin Tomele","header_description":"A maze generator","assets_banners_color":"d4d4d4","last_updated":"2018-08-25 17:17:52","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"http:\/\/maniacalventures.com","rating":0,"author_block_rating":0,"active_installs":20,"downloads":5732,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog","faq"],"tags":[],"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":"1928397","resolution":"128x128","location":"assets"},"icon-256x256.png":{"filename":"icon-256x256.png","revision":"1928397","resolution":"256x256","location":"assets"}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":"1928397","resolution":"1544x500","location":"assets"},"banner-772x250.png":{"filename":"banner-772x250.png","revision":"1928397","resolution":"772x250","location":"assets"}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.1","2.0","2.1","2.2","3.0"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[533,160800],"plugin_category":[37],"plugin_contributors":[91830],"plugin_business_model":[],"class_list":["post-90232","plugin","type-plugin","status-publish","hentry","plugin_tags-game","plugin_tags-maze","plugin_category-arts-and-entertainment","plugin_contributors-maniacalv","plugin_committers-maniacalv"],"banners":{"banner":"https:\/\/ps.w.org\/maniacal-maze\/assets\/banner-772x250.png?rev=1928397","banner_2x":"https:\/\/ps.w.org\/maniacal-maze\/assets\/banner-1544x500.png?rev=1928397","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/maniacal-maze\/assets\/icon-128x128.png?rev=1928397","icon_2x":"https:\/\/ps.w.org\/maniacal-maze\/assets\/icon-256x256.png?rev=1928397","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>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.<\/p>\n\n<p>Version 3 changes the frontend so that you make square mazes.\nThese mazes are now solvable via mouse click, arrow keys or touch on phone.<\/p>\n\n<p>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!<\/p>\n\n<p>Version 1 creates a random maze, and using divs, should display well on most-sized screens, including phones.<\/p>\n\n<p>Next I am considering ways to add interactivity!\nI'd like to add more options, too!<\/p>\n\n<!--section=installation-->\n<p>Just install like any other plugin. Put a [maniacal_maze] on an empty page or post to start the fun!<\/p>\n\n<!--section=changelog-->\n<h4>3.0<\/h4>\n\n<ul>\n<li>Overhauled the code so most of the data is in javascript<\/li>\n<li>Created handlers for touch and keyboard<\/li>\n<li>Created logic to check for allowed moves<\/li>\n<li>The maze is now solvable and should work with mouse, touch or arrow keys, on phone, tablet and PC.<\/li>\n<\/ul>\n\n<h4>2.2<\/h4>\n\n<ul>\n<li>FIxed the shortcode so it returns, not echos.<\/li>\n<\/ul>\n\n<h4>2.1<\/h4>\n\n<ul>\n<li>Tweaked the display. Not 100% satisfied but it works well enough for now.<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li>We have attained version 2, a fully printable, solveable, random maze!<\/li>\n<li>I rethought the display code to make sure it fits your display as least somewhat.<\/li>\n<li>I added a green and red tile as a start and end point.<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>I replaced the current display code with one that creates a canvas image.<\/li>\n<li>I originally had it draw walls, except for the exit walls. This caused a problem with edges midding chunks.<\/li>\n<li>I finally had it draw a black background, then cut our the floor.<\/li>\n<li>It then cut out the walls it needed to making things look better.<\/li>\n<li>The ground toggles between 2 grays.<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>After many changes and optimizations to how I was doing things, I made so that it<\/li>\n<li>Marks itself used. Increments the total counter.<\/li>\n<li>Looks for walls that are not bedrock or in use already.<\/li>\n<li>Randomly picks a wall, marks that bit, then in the new room, marks the opposite wall bit<\/li>\n<li>It then moves to the new room.<\/li>\n<li>If it can't find an exit, it moves back one in the history and repeats until it finds a new room<\/li>\n<li>What REALLY REALLY helps is when you map height to h and width to w in the history instead of the other way around.<\/li>\n<\/ul>\n\n<h4>0.3<\/h4>\n\n<ul>\n<li>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<\/li>\n<li>Moved the maze creating code over to a function.<\/li>\n<li>Renamed the variable $doors to $walls since it does the exact opposite of what I named it.<\/li>\n<li>Started working on the function for starting the process with the first two steps in the loop, manually in a for().<\/li>\n<li>Took out my test code for error checking and resubmitting to WP Repository!<\/li>\n<\/ul>\n\n<h4>0.1<\/h4>\n\n<ul>\n<li>First release to submit to Wordpress for inclusion into the repository.<\/li>\n<li>Maze width and height page with error checking finished.<\/li>\n<li>Link is created and page refreshed to the new link.<\/li>\n<li>Links can be entered by hand and easy to change.<\/li>\n<li>Links are error checked.<\/li>\n<li>Array of cells created with empty value for doors.<\/li>\n<li>Array of bitwise \"bedrock\" created to make it easier when finding valid walls.<\/li>\n<li>CSS done using W3.CSS.<\/li>\n<li>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.<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt>Installation Instructions<\/dt>\n<dd><p>Just install like any other plugin. Put a [maniacal_maze] on an empty page or post to start the fun!<\/p><\/dd>\n\n<\/dl>","raw_excerpt":"A random maze generator.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/90232","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=90232"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/maniacalv"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=90232"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=90232"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=90232"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=90232"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=90232"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=90232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}