My Account Log in

1 option

Mazes for programmers : code your own twisty little passages / Jamis Buck ; edited by Jacquelyn Carter.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Buck, Jamis, author.
Contributor:
Carter, Jacquelyn, editor.
Series:
Pragmatic programmers.
The Pragmatic Programmers
Language:
English
Subjects (All):
Computer programming.
Computer algorithms.
Maze puzzles--Data processing.
Maze puzzles.
Physical Description:
1 online resource (272 pages) : illustrations (some color).
Edition:
1st edition
Place of Publication:
Dallas, Texas ; Raleigh, North Carolina : The Pragmatic Bookshelf, 2015.
System Details:
text file
Summary:
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.
Contents:
Part I. The basics : Your first random mazes : Preparing the grid ; The binary tree algorithm ; The sidewinder algorithm
Automating and displaying your mazes : Introducing our basic grid ; Displaying a maze on a terminal ; Implementing the binary tree algorithm ; Rendering a maze as an image
Finding solutions : Dijkstra's algorithm ; Implementing Dijkstra's ; Finding the shortest path ; Making challenging mazes ; Coloring your mazes
Avoiding bias with random walks : Understanding biases ; The Aldous-Broder algorithm ; Implementing Aldous-Broder ; Wilson's algorithm ; Implementing Wilson's algorithm
Adding constraints to random walks : The hunt-and-kill algorithm ; Implementing hunt-and-kill ; Counting dead ends ; The recursive backtracker algorithm ; Implementing the recursive backtracker
Part II. New steps : Fitting mazes to shapes : Introducing masking ; Implementing a mask ; ASCII masks ; Image masks
Going in circles : Understanding polar grids ; Drawing polar grids ; Adaptively subdividing the grid ; Implementing a polar grid
Exploring other grids : Implementing a hex grid ; Displaying a hex grid ; Making hexagon (sigma) mazes ; Implementing a triangle grid ; Displaying a triangle grid ; Making triangle (delta) mazes
Braiding and weaving your mazes : Braiding mazes ; Cost versus distance ; Implementing a cost-aware Dikstra's algorithm ; Introducing weaves and insets ; Generating weave mazes
Part III. More algorithms : Improving your weaving : Kruskal's algorithm ; Implementing randomized Kruskal's algorithm ; Better weaving with Kruskal ; Implementing better weaving
Growing with Prim's : Introducing Prim's algorithm ; Simplified Prim's algorithm ; True Prim's algorithm ; The growing tree algorithm
Combining, dividing : Eller's algorithm ; Implementing Eller's algorithm ; Recursive division ; Implementing recursive division
Part IV. Extending mazes into hight dimensions : Understanding dimensions ; Introducing 3D mazes ; Adding a third dimension ; Displaying a 3D maze ; Representing four dimensions
Bending and folding your mazes ; Cylinder mazes ; Möbius mazes ; Cube mazes ; Sphere mazes
Summary of maze algorithms : Aldous-Broder ; Binary tree ; Eller's ; Growing tree ; Hunt-and-kill ; Kruskal's (randomized) ; Prim's (simplified) ; Prim's (true) ; Recursive backtracker ; Recursive division ; Sidewinder ; Wilson's
Comparison of maze algorithms : Dead ends ; Longest path ; Twistiness ; Directness ; Intersections.
Notes:
"Edited by Jacquelyn Carter"--Cover.
Includes bibliographical references and index.
Description based on print version record.
ISBN:
9781680501315
1680501313
9781680503968
1680503960
9781680503975
1680503979
9781680500554
1680500554
OCLC:
919086063

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Library Catalog Using Articles+ Library Account