public void update() {
        int i;
        plateau.eraseCourante();
        boolean colision = plateau.descendre(vitesse);
        if (colision) {
            plateau.drawCourante();
            plateau.nouvellePiece();
            int[] lines = plateau.checkLines();
            plateau.deleteLines(lines);
            if (lines != null) {
                nbLignes+=lines.length;
                score +=Math.ceil(vitesseBase + 1)*lines.length ;
                vitesseBase = (float) Math.log(Math.log(score)+1)/4 + 0.4f;
                resetVitesse();
            }
            for (i = 0; i < plateau.getTailleY(); i++) {
                if (plateau.getPlateau()[plateau.limite][i] != 0) {
                    fin = true;
                    quitter();
                }
            }
        } else {
            plateau.updatePosition(0, 0);
        }
        plateau.drawCourante();
        updateObservers();

    }