public void paintGameObjects(Graphics2D g) {
        if(instructions) {
            g.setColor(Color.WHITE);
            g.setFont( displayFont );
            g.drawString("Player One Uses Arrow Keys.", 20, SCREEN_HEIGHT/4);
            g.drawString("Player Two Uses WASD.", 20, SCREEN_HEIGHT/2);
            g.drawString("Press 1 for one player, 2 for two.", 20, 3*SCREEN_HEIGHT/4);
            return;
        }
        
        a.paint(g);
        if(twoPlayer) {
            b.paint(g);
        }
        
        synchronized(objects) {
            for(GameObject object : objects) {
                object.paint(g);
            }
        }
        
        if(!game) {
            g.setColor(Color.WHITE);
            g.setFont( displayFont );
            g.drawString("GAME OVER", SCREEN_WIDTH/4, SCREEN_HEIGHT/4);
            
            if(twoPlayer) {
                String winner = a.y < b.y ? "Player One wins." : "Player Two wins.";
                if(a.y == b.y) winner = "Tie.";
                g.drawString(winner, SCREEN_WIDTH/4, SCREEN_HEIGHT/2);
            }
            else {
                g.drawString("Score: " + (height*10), SCREEN_WIDTH/4, SCREEN_HEIGHT/2);
            }
            g.drawString("Press r to restart.", SCREEN_WIDTH/4, 3*SCREEN_HEIGHT/4);
        }
    }