func (b *Board) addSurroundingSeenTileID(x, y int, seenTileIds map[tile.ID]struct{}) {
	if yTiles, ok := b.UsedTileLocs[tile.X(x)]; ok { // x is valid
		if t2, ok := yTiles[tile.Y(y)]; ok { // y is valid
			if _, ok := seenTileIds[t2.ID]; !ok { // tile not yet seen
				b.addSeenTileIDs(x, y, t2, seenTileIds) // recursive call
			}
		}
	}
}
// addSurroundingSeenTileID calls addSeenTilesIds for the tile at the location, if it exists.
addSurroundingSeenTileID calls addSeenTilesIds for the tile at the location, if it exists.
// addSurroundingSeenTileID calls addSeenTilesIds for the tile at the location if it exists .
func (b *Board) addSurroundingSeenTileID(x, y int, seenTileIds map[tile.ID]struct{}) {
	if yTiles, ok := b.UsedTileLocs[tile.X(x)]; ok { 
		if t2, ok := yTiles[tile.Y(y)]; ok { 
			if _, ok := seenTileIds[t2.ID]; !ok { 
				b.addSeenTileIDs(x, y, t2, seenTileIds) 
			}
		}
	}
}
func ( b * Board ) addSurroundingSeenTileID ( x , y int , seenTileIds map [ tile . ID ] struct { } ) { if yTiles , ok := b . UsedTileLocs [ tile . X ( x ) ] ; ok { if t2 , ok := yTiles [ tile . Y ( y ) ] ; ok { if _ , ok := seenTileIds [ t2 . ID ] ; ! ok { b . addSeenTileIDs ( x , y , t2 , seenTileIds ) } } } }
addSurroundingSeenTileID calls addSeenTilesIds for the tile at the location, if it exists.
addSurroundingSeenTileID calls addSeenTilesIds for the tile at the location if it exists .
// x is valid // y is valid // tile not yet seen // recursive call