Mazes for programmers code your own twisty little passages
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, f...
Otros Autores: | , |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Dallas, Texas ; Raleigh, North Carolina :
The Pragmatic Bookshelf
2015.
|
Edición: | 1st edition |
Colección: | Pragmatic programmers.
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009629623606719 |
Tabla de Contenidos:
- 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.