@Override
    public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException {
        world.render(0, 0);
        
        for (GameObject item : items) {
            item.render(gc, sbg, g);
        }
        
        player.render(gc, sbg, g);
        cm.render(gc, sbg, g);

        
        if(gameOverPopupOpened){
            gameOver_popup.draw(0, 0);
        } else if (gameWonPopupOpened){
            gameWon_popup.draw(0, 0);
            font1.drawString(500, 195, player.starsQuant + "");
            font1.drawString(500, 238, Universal.currentVariables.size() + "");
            font2.drawString(500, 270, (40 + (player.starsQuant * 20)) - (Universal.currentVariables.size() * 2) + "");
        } else if(premioPopupOpened){
            premio_popup.draw(0, 0);
        }
        
        // HUD
        if(hudIsVisible){
            switch (player.starsQuant) {
                case 0:
                    esferas_0.draw(coord_esferasIndicator.x, coord_esferasIndicator.y);
                    break;
                case 1:
                    esferas_1.draw(coord_esferasIndicator.x, coord_esferasIndicator.y);
                    break;
                case 2:
                    esferas_2.draw(coord_esferasIndicator.x, coord_esferasIndicator.y);
                    break;
                case 3:
                    esferas_3.draw(coord_esferasIndicator.x, coord_esferasIndicator.y);
                    break;    
                
            }
            
            stopButton.draw(coord_stopButton.x, coord_stopButton.y);
            
        }
        
    }