1 option
Mazes for programmers : code your own twisty little passages / Jamis Buck ; edited by Jacquelyn Carter.
- Format:
- Book
- Author/Creator:
- Buck, Jamis, author.
- 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.