public void paint(Graphics g) {
        try {
            background.paint(g);
            world.paint(g);
            hud.paint(g);

            if (gameState != PLAY_STATE) {
                Image notificationImage = (gameState == WIN_STATE)? winImage : loseImage;
                g.drawImage(notificationImage, g.getClipWidth() / 2, g.getClipHeight() / 2, Graphics.HCENTER | Graphics.VCENTER);
                berlin.paintString(g, Integer.toString(hud.getScore()), 150, 110, Graphics.LEFT | Graphics.TOP);
                berlin.paintString(g, Integer.toString(world.getComboObj().getHighestCombo()), 150, 130, Graphics.LEFT | Graphics.TOP);
                if (gameState == WIN_STATE) {
                   int life = hud.getLife();
                    if (life >= 1) {
                        g.drawImage(hud.getAnimal1(), 150, 150, 0);
                    }
                    if (life >= 2) {
                        g.drawImage(hud.getAnimal2(), 170, 150, 0);
                    }
                    if (life >= 3) {
                        g.drawImage(hud.getAnimal3(), 190, 150, 0);
                    }
                }
            }
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }