Everything seems to need access to everything

Im trying to write a tile based rogue like. I currently have a tile map and a basic character that moves. When I try and write a function for the script that moves my player I need access to lots of different things in the tile map such as room locations and where the walls are. Thinking ahead it seems like most of my functions will need access to data from almost every class. There is probably a flaw in what classes I have chosen but I dont know what else to do. Any idea or tips would be appreciated.

The current classes I have are:
DataTileMap (ultimately creates array of tiles)
Nested - DataRoom (room class with width, height etc)
GraphicTileMap (creates a mesh and texture)
Mover (moves character)

Read all of this
And also this

What you’re struggling with is called class coupling and it is tackled with proper application of design patterns. That can only be achieved with lots of practice and even more reading. Take it slow, there’s nothing to be gained by trying to create everything at once. Only move on from your current task when you’re satisfied that it’s good, decoupled design, and you’ll get there eventually!