func (b Board) addSeenTileIDs(x, y int, t tile.Tile, seenTileIds map[tile.ID]struct{}) {
	seenTileIds[t.ID] = struct{}{}
	for dx := -1; dx <= 1; dx++ { // check neighboring columns
		for dy := -1; dy <= 1; dy++ { // check neighboring rows
			if (dx != 0 || dy != 0) && dx*dy == 0 { // one delta is not zero, the other is
				b.addSurroundingSeenTileID(x+dx, y+dy, seenTileIds)
			}
		}
	}
}
// addSeenTileIds does a depth-first search for surrounding tiles, modifying the seenTileIds map.
addSeenTileIds does a depth-first search for surrounding tiles, modifying the seenTileIds map.
// addSeenTileIds does a depth - first search for surrounding tiles modifying the seenTileIds map .
func (b Board) addSeenTileIDs(x, y int, t tile.Tile, seenTileIds map[tile.ID]struct{}) {
	seenTileIds[t.ID] = struct{}{}
	for dx := -1; dx <= 1; dx++ { 
		for dy := -1; dy <= 1; dy++ { 
			if (dx != 0 || dy != 0) && dx*dy == 0 { 
				b.addSurroundingSeenTileID(x+dx, y+dy, seenTileIds)
			}
		}
	}
}
func ( b Board ) addSeenTileIDs ( x , y int , t tile . Tile , seenTileIds map [ tile . ID ] struct { } ) { seenTileIds [ t . ID ] = struct { } { } for dx := - 1 ; dx <= 1 ; dx ++ { for dy := - 1 ; dy <= 1 ; dy ++ { if ( dx != 0 || dy != 0 ) && dx * dy == 0 { b . addSurroundingSeenTileID ( x + dx , y + dy , seenTileIds ) } } } }
addSeenTileIds does a depth-first search for surrounding tiles, modifying the seenTileIds map.
addSeenTileIds does a depth - first search for surrounding tiles modifying the seenTileIds map .
// check neighboring columns // check neighboring rows // one delta is not zero, the other is