Skip to content

Latest commit

 

History

History
24 lines (18 loc) · 1.46 KB

README.md

File metadata and controls

24 lines (18 loc) · 1.46 KB

Mazes for Programmers

This book is a Go implementation for the book Mazes for Programmers by James Buck.

It will be used mainly as a tool to learn Go, this book was chosen for several reasons:

  • It is very well written and provides fun challenges, thus keeping the reader interested
  • The mazes are implemented using classic algorithms and data structures, thus making you think
  • It delves into graphically representing the mazes, hence a graphics library is needed. This is always fun
  • Code samples are written in Ruby, being the high-level language that it is, Ruby provides a lot of "magic" built-in that Go simply hasn't got. Thus, it forces us to find the most idiomatic way in Go of implementing these features; this provides a very hands-on way of getting to know the language.

Code samples will be implemented pure Go, whereas for the graphics the Go bindings of raylib will be used. Raylib is a simple library written in C (so it's written in a imperative way) that wraps the OpenGL API, it's made mainly to teach game development; thus its API is very simplified while at the same time providing everything that is necessary for a 2D (and even 3D) application.

This module is structure like this (work in progress):

  • mfp contains all the logic for the mazes, abstracted from graphic representation where possible
  • main contains the application that calls the code defined in the above package