This is my implementation of Jamis Buck's amazing book Mazes for programmers using C#.
Enjoy the demo here: MazesForProgrammers.
- Implement the book as a C# console application.
- Implement the book as a Blazor WebAssembly PWA application.
- Share as much code as possible between the C# console application and the Blazor WebAssembly application.
- Host the Blazor WebAssembly in GitHub Pages: MazesForProgrammers.
The source code is in the src
folder, and the demo, MazesForProgrammers, is in the docs
folder as required by GitHub Pages.
The solution, as described above, is in the src
folder, and it contains the following important items:
Mazes
project: It is the most important piece of code as it implements the data structures and algorithms described in the book. It is shared between the C# console applications and Blazor WebAssembly application.Demos
folder: Contains several projects implementing the demos described in the book as C# console applications. These demos make use of theMazes
project.Mazes.Blazor
Project: It is the Blazor WebAssembly implementation of some of the most important parts of the book. It makes use of theMazes
project.Mazes.Services
Project: It implements some services and helper methods used by other projects.Mazes.Services.Test
: It is a C# console applications used as a container of all the demos. It allows us to select and execute any demo.
It has been an awesome experience to share code between the C# the console applications and the Blazor WebAssembly application, making it very straightforward to convert to a web application the implementation of the book with very little effort.
Please, feel free to send issues or pull requests. Any feedback is always welcome!