function buffonplot(m)
    close all
    hold on
    axis equal
    for h = 0 : 10                                              % Grafische Darstellung der parallelen Geraden
        ptsa = [h -0.5];                                        % durch Definition der Endpunkte
        ptsb = [h 10.5];
        gerade(ptsa, ptsb, [0 1 0.1], 'b');    
    end
    
   axis([-1,11,-1,11])
   hit = 0;
   ps = 0.1;
   for l = 0 : (m-1)
       mp = (rand * 10) + i * (rand * 10);                      % Position des Mittelpunkts und Winkel der Nadel in komplexer Darstellung
       phi = (rand * pi) - pi / 2;                              % (C wird mit R^2 identifiziert)
       
       ptsd = 1/2 * exp(i * phi) + mp;                          % rechter Endpunkt der Nadel
       xd = real(ptsd);                                         % Umrechnung in kartesische Koordinaten
       yd = imag(ptsd);
       
       ptse = 1/2 * exp(i * (phi + pi)) + mp;                   % linker Endpunkt der Nadel
       xe = real(ptse);                                         % Umrechnung in kartesische Koordinaten
       ye = imag(ptse);
                    
       up = ceil(real(mp));                                     % Bestimmung der beiden Geraden, zwischen denen der Mittelpunkt liegt
       down = floor(real(mp));
       if xd >= up
           hit = hit + 1;                                       % Z�hler f�r Ber�hren der rechten Gerade
           plot([xd xe], [yd ye], ['-','g']);                   % Aufblinken der gerade gefallenen Nadel    (gr�n)
           plot([up up], [-0.5 10.5], ['-','g']);               % Aufblinken der getroffenen Gerade         (gr�n)
           pause(ps)
           plot([xd xe], [yd ye], ['-','r']);                   % Nadeln, die treffen werden in cyan dargestellt
       elseif xe <= down
           hit = hit + 1;                                       % Z�hler f�r Ber�hren der linken Gerade
           plot([xd xe], [yd ye], ['-','g']);                   % Aufblinken der gerade gefallenen Nadel    (gr�n)
           plot([down down], [-0.5 10.5], ['-','g']);           % Aufblinken der getroffenen Gerade         (gr�n)
           pause(ps)
           plot([xd xe], [yd ye], ['-','r']);                   % Nadeln, die treffen werden in rot dargestellt
       else
           plot([xd xe], [yd ye], ['-','g']);                   % Aufblinken der gerade gefallenen Nadel    (gr�n)
           pause(ps)
           plot([xd xe], [yd ye], ['-','k']);                   % Nadeln, die nicht treffen werden in schwarz dargestellt
       end
       
       plot([up up], [-0.5 10.5], ['-','b']);                   % Zur�cksetzen der getroffenen Geraden in blaue Farbe
       plot([down down], [-0.5 10.5], ['-','b']);
   end
   hit
   miss = m - hit
   piapprox = m / hit * 2                                       % Ann�herung f�r Pi