package maze type Coordinates struct { X, Y int } type Node struct { Coords Coordinates Up, Down *Node Left, Right *Node } func NewNode(coords Coordinates) *Node { return &Node{ Coords: coords, Up: nil, Down: nil, Left: nil, Right: nil, } } type RawMaze struct { PathChar, WallChar byte Data []string } type Maze struct { Width, Height uint Nodes []*Node } type SolvedMaze struct { Maze Solution []*Node }