package main import ( "fmt" h "git.bullercodeworks.com/brian/adventofcode/helpers" ) type MazeMap map[h.Coordinate3d]bool type Maze struct { MazeMap Outer Square Inner Square Portals map[h.Coordinate3d]Portal Start h.Coordinate3d End h.Coordinate3d } func (m *Maze) Print(visited map[h.Coordinate3d]bool) { for y := m.Outer.Tl.Y - 1; y < m.Outer.Br.Y+1; y++ { for x := m.Outer.Tl.X - 1; x < m.Outer.Br.X+1; x++ { c := h.Coordinate3d{X: x, Y: y, Z: 0} if _, pok := m.Portals[c]; pok { fmt.Print("*") //} else if m.Inner.IsInBorder(c) { // fmt.Print("$") //} else if m.Inner.ContainsButNotBorder(c) { // fmt.Print(" ") } else if m.MazeMap[c] { if v, ok := visited[c]; ok && v { fmt.Print(h.FILL_CHAR) } else { fmt.Print(".") } } else { fmt.Print("#") } } fmt.Println() } }