Original Post
I made a topic a while ago with a similar problem. I'm just finding the design of OO programming difficult (no globals, lower-level objects shouldn't depend on high-level objects, etc). Let's say i have three classes. Map, Zone and Player. Zone stores a list of all the players and entities within the zone and it also stores a reference to a "map" which stores backgrounds, tiles, walls, spawn points. Let's say the player presses the Left key on his keyboard. How do i make the player move? Like this:
zone->CharacterJump(player); or player->Jump(zone); //now player depends on the zone...:( What is the standard design that most people use for stuff like this?