public void Affichage(Graphics g) {
        
        Graphics2D g2 = (Graphics2D) g;
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                            RenderingHints.VALUE_ANTIALIAS_ON);
       
        // Dessin du serpent
        for (Case c : this.listeCasesSerpent) {
            
            int tailleX = c.getLargeur();
            int tailleY = c.getHauteur();
            
            if(c == this.listeCasesSerpent.getFirst()) {
                
                g2.setStroke(new BasicStroke(2.0f));
                g2.setColor(Color.BLACK);
                g2.drawOval(c.getX(), c.getY(), tailleX, tailleY);
                g2.setStroke(new BasicStroke(1.0f));
                g2.setColor(Color.RED);
                
                switch(this.directionActuelle) {
                    case VERS_LA_GAUCHE : {
                        
                        g2.drawOval((c.getX()+DIM_CASE/2-(tailleX/5)/2)-4, (c.getY()+DIM_CASE/2-(tailleX/5)/2)+4, tailleX/5, tailleY/5);
                        g2.drawOval((c.getX()+DIM_CASE/2-(tailleX/5)/2)-4, (c.getY()+DIM_CASE/2-(tailleX/5)/2)-4, tailleX/5, tailleY/5);
                    } break;
                        
                    case VERS_LA_DROITE : {

                        g2.drawOval((c.getX()+DIM_CASE/2-(tailleX/5)/2)+4, (c.getY()+DIM_CASE/2-(tailleX/5)/2)-4, tailleX/5, tailleY/5);
                        g2.drawOval((c.getX()+DIM_CASE/2-(tailleX/5)/2)+4, (c.getY()+DIM_CASE/2-(tailleX/5)/2)+4, tailleX/5, tailleY/5);
                    } break;
                        
                    case VERS_LE_BAS : {
                        
                        g2.drawOval((c.getX()+DIM_CASE/2-(tailleX/5)/2)+4, (c.getY()+DIM_CASE/2-(tailleX/5)/2)+4, tailleX/5, tailleY/5);
                        g2.drawOval((c.getX()+DIM_CASE/2-(tailleX/5)/2)-4, (c.getY()+DIM_CASE/2-(tailleX/5)/2)+4, tailleX/5, tailleY/5);
                    } break;
                        
                    case VERS_LE_HAUT : {
                        
                        g2.drawOval((c.getX()+DIM_CASE/2-(tailleX/5)/2)-4, (c.getY()+DIM_CASE/2-(tailleX/5)/2)-4, tailleX/5, tailleY/5);
                        g2.drawOval((c.getX()+DIM_CASE/2-(tailleX/5)/2)+4, (c.getY()+DIM_CASE/2-(tailleX/5)/2)-4, tailleX/5, tailleY/5);
                    } break;
    
                }
            }
            else {
                
                g2.setColor(Color.LIGHT_GRAY);
                g2.fill(new RoundRectangle2D.Double(c.getX()+2, c.getY()+2, tailleX-4, tailleY-4, 8, 8)); 
                g2.setStroke(new BasicStroke(2.0f));
                g2.setColor(Color.BLACK);
                g2.draw(new RoundRectangle2D.Double(c.getX()+2, c.getY()+2, tailleX-4, tailleY-4, 8, 8)); 
            }
        }
    }