
    #ey                     n    d Z ddlmZmZ ddlmZ d Zd Zd Z	e
dk(  r e	       Z ee        e        yy)	a        turtle-example-suite:

             tdemo_tree.py

Displays a 'breadth-first-tree' - in contrast
to the classical Logo tree drawing programs,
which use a depth-first-algorithm.

Uses:
(1) a tree-generator, where the drawing is
quasi the side-effect, whereas the generator
always yields None.
(2) Turtle-cloning: At each branching point
the current pen is cloned. So in the end
there are 1024 turtles.
    )Turtlemainloop)perf_counterc              #   (  K   |dkD  rg }| D ]g  }|j                  |       |j                         }|j                  |       |j                  |       |j	                  |       |j	                  |       i t        |||z  ||      D ]  }d  yyw)z plist is list of pens
    l is length of branch
    a is half of the angle between 2 branches
    f is factor by which branch is shortened
    from level to level.   N)forwardcloneleftrightappendtree)plistlaflstpqxs           !lib/python3.12/turtledemo/tree.pyr   r      s      	1u 	AIIaL	AFF1IGGAJJJqMJJqM	 c1Q31% 	AJ	 s   BBc                  l   t               } | j                  d        | j                          | j                  d       | j	                         j                  dd       | j                  d       | j                          | j                  d       | j                          t        | gddd      }|D ]  } y )Nr      Z   i.   A   gffffff?)r   setundobuffer
hideturtlespeed	getscreentracerr
   penupr   pendownr   )r   tr   s      r   maketreer$   '   s    AOODLLNGGAJKKMAFF2JGGIIIdOIIKaS#r6"A     c                  N    t               } t                t               }d|| z
  z  S )Nzdone: %.2f sec.)clockr$   )r   bs     r   mainr)   5   s$    gAJgA!$$r%   __main__N)__doc__turtler   r   timer   r'   r   r$   r)   __name__msgprint r%   r   <module>r2      sC     $ &$% z
&C	#JJ r%   