public void run() {
        while (true) {
           
           
            try {
                maj("B");
               
                if (pieceCourante.isBloque()) {
                    if( score-niveau*500>0 && pause-100>0)
                    {
                        niveau++;
                        notifyObserverNiveau(niveau);
                        pause=pause-100;
                    }
                    
                    
                    pieceSuivante.setPositionX((int) (Math.random() * 7));
                    pieceSuivante.setPositionY(0);
                    if (grille.verifierEmplacement(pieceSuivante)) {
                        pieceCourante = pieceSuivante;
                        pieceCourante.setBloque(false);
                        pieceSuivante=genererPiece();
                        notifyObserverSuivant(pieceSuivante);
                        
                        grille.dessinerPiece(pieceCourante);
                         notifyObserver(grille);
                        
                    } else {
                        perdu=true;
                       
                        notifyPerdu();
                        synchronized (this) {
                        wait();
                    }
                     
                        //Thread.currentThread().sleep(10000);
                    }
                }
                Thread.currentThread().sleep(pause);
                if (mep) {
                    synchronized (this) {
                        wait();
                    }
                }
            } catch (InterruptedException ex) {
                Logger.getLogger(Jeu.class.getName()).log(Level.SEVERE, null, ex);
            }
           
        }
    }