this may not be the right board, but i didn't know what was... where should general programming topics go? anyway...

i started working on a pong game in allegro (i just needed a semi simple project, so i would actually finish something i started ) and started wondering if maybe global variables were okay sometimes.. for example:
i have a struct for a paddle (containing coordinates, score, height and width...), a struct for a ball (coordinates, speed, etc), and a buffer to draw things to.. these all get used in many functions (drawing, moving, collission detection, etc...).
so, wouldn't it be easier to just make them all global, rather than passing them around to all the different functions? i fail to see the advantage of making them local to main, and passing them around...
it seems like it could even improve readability in some places... for example, i have a ballHit function, which checks if the ball has hit a wall, a paddle, or gotten past a paddle... if everything is local to main, i have to pass that function the ball, and two paddles... it seems like it would be better with global variables... anyone have any insights?