For example:
instead of just drawing the board this way:
draw(imageToDraw, x, y);
I end up having to do this:
draw(game, draw, objects, x, y);
This wouldn't be an issue if it wasn't happening on so many methods of different functions and makes the code so much more complex looking and cumbersome. Another issue that makes it a little more challenging is that this game allows for multiple games at once. Basically split screen for an infinite amount of games. I do not want to drop this functionality.
So here are my basic classes:
Game - main loop
Draw - draws objects
Camera - tells Draw the location of objects to draw
Object - stores object xy velocity, characteristics...
Enemy Player Board - sets object characterists
Factory - object factory creates games objects
Move - moves objects
Collision - checks for crash
Record - records objects movement and plays back
Keyboard - game input
Here is my idea and I'd like some input on it. What do you think of combination like this ( where '->' means derived from):
game ->
camera -> draw
factory -> object -> enemy/player/board
move -> record -> collision -> keyboard
This is basically how I have it except I'm not inheriting from 'game' so I'm a lot of passing parameters. Would this be the better option and just inherit from 'game'?:
game->
camera
draw
factory
object -> enemy/player/board
move
record
collision
keyboard
I could use some ideas. I ask this because reworking this will take days. If I can get some ideas perhaps this will make things easier in the future.