Mazes for Programmers: Code Your Own Twisty Little Passages

Mazes for Programmers: Code Your Own Twisty Little Passages
Author: Jamis Buck (Author)
Publisher finelybook 出版社:‏ Pragmatic Bookshelf
Edition 版本:‏ 1st
Publication Date 出版日期:‏ 2015-08-18
Language 语言: English
Print Length 页数: 288 pages
ISBN-10: 1680500554
ISBN-13: 9781680500554

Book Description


Unlock the secrets to creating random mazes! Whether you’re a game developer, an algorithm connoisseur, or simply in search of a new puzzle, you’re about to level up. Learn algorithms to randomly generate mazes in a variety of shapes, sizes, and dimensions. Bend them into Moebius strips, fold them into cubes, and wrap them around spheres. Stretch them into other dimensions, squeeze them into arbitrary outlines, and tile them in a dizzying variety of ways. From twelve little algorithms, you’ll discover a vast reservoir of ideas and inspiration.

From video games to movies, mazes are ubiquitous. Explore a dozen algorithms for generating these puzzles randomly, from Binary Tree to Eller’s, each copiously illustrated and accompanied by working implementations in Ruby. You’ll learn their pros and cons, and how to choose the right one for the job.

You’ll start by learning six maze algorithms and transition from making mazes on paper to writing programs that generate and draw them. You’ll be introduced to Dijkstra’s algorithm and see how it can help solve, analyze, and visualize mazes. Part 2 shows you how to constrain your mazes to different shapes and outlines, such as text, circles, hex and triangle grids, and more. You’ll learn techniques for culling dead-ends, and for making your passages weave over and under each other. Part 3 looks at six more algorithms, taking it all to the next level. You’ll learn how to build your mazes in multiple dimensions, and even on curved surfaces.

Through it all, you’ll discover yourself brimming with ideas, the best medicine for programmer’s block, burn-out, and the grayest of days. By the time you’re done, you’ll be energized and full of maze-related possibilities!

What You Need:

The example code requires version 2 of the Ruby programming language. Some examples depend on the ChunkyPNG library to generate PNG images, and one chapter uses POV-Ray version 3.7 to render 3D graphics.

About the Author

Jamis Buck is an alumnus of the Ruby on Rails core team, and has worked at Basecamp (formerly 37signals). He’s been active in open source for years, and has a deep passion for learning. Some years ago he began researching and writing about maze algorithms, and the bug never left him. He’s probably lost in a maze somewhere, right now.

Amazon page

相关文件下载地址

PDF, EPUB, AZW3 | 9 MB
下载地址 Download解决验证以访问链接!
打赏
未经允许不得转载:finelybook » Mazes for Programmers: Code Your Own Twisty Little Passages

评论 抢沙发

觉得文章有用就打赏一下

您的打赏,我们将继续给力更多优质内容

支付宝扫一扫

微信扫一扫