
    .hh                         S r SSKJrJrJrJr  SSKJr  SSKJ	r
  S rS rS rSS jrS	 rS
 rS rS rS r\S:X  a  \" 5         \" 5         gg)a/  turtlegraphics-example-suite:

             tdemo_forest.py

Displays a 'forest' of 3 breadth-first-trees
similar to the one in tree.
For further remarks see tree.py

This example is a 'breadth-first'-rewrite of
a Logo program written by Erich Neuwirth. See
http://homepage.univie.ac.at/erich.neuwirth/
    )Turtle	colormodetracermainloop	randrange)perf_counterc                 "    [        U * U S-   5      $ )N   r   )ns    :/opt/python-3.13.8/usr/lib/python3.13/turtledemo/forest.py	symRandomr      s    aR!    c           
      v    U  VVs/ s H$  u  p4U[        U5      -   US[        U5      -  -  4PM&     snn$ s  snnf )Ng)\(?)r   )
branchlist	angledistsizedistangle
sizefactors        r   	randomizer      sM     /9;.8* Ii((y2224.8; ; ;s   +5c                     [        U5       H4  nU R                  [        U5      5        U R                  SU-  U-  5        M6     g )Ng      ?)rangeleftr   forward)tdistancepartsr   is        r   randomfdr      s6    5\	y#$			C(NE)+ r   c           	   #   D  #    US:  Ga  / n/ n[        [        X5      5       H  u  pU	R                  X-  5        U	R                  SSSU-  -
  [	        S5      -   -
  SSU-  -
  [	        S5      -   S5        U	R                  5         [        XX%5        Sv   U
 Ha  u  pU	R                  U5        UR                  U	R                  5       5        UR                  [        XU5      5        U	R                  U5        Mc     M     [        XqW-  US-
  X8XV5       H  nS v   M	     g g 7f)Nr               r   )listzippensizepencolorr   pendownr   r   appendcloner   righttree)tlistsizelevelwidthfactorbranchlistsr   r   lstbrsr   r   r   r   xs                 r   r-   r-      s     qy!#e"89MAIIt)+JJsR%Z/)B-?@b5j(9R=8 IIKQe0G%/!u

1779%

9ZHEF	 &0 : c
?E!G[+AJ+! s   DD c                     [        S5        U R                  5         U R                  S5        U R                  5         U R	                  S5        U R                  5         U R                  X5        U R                  5         g )Nr!   r   Z   )r   resetspeed
hideturtler   penupsetposr)   )r   r5   ys      r   startr>   7   sN    cNGGIGGAJLLNFF2JGGIHHQMIIKr   c                 f    UR                  5         [        USS5        [        U/SU S/ SQ/5      nU$ )N   i0P   皙?)-   gGz?)r   ?gQ?r:   r>   r-   r0   penr   s      r   doit1rK   A   s5    NN	#r4seR&I%JLAHr   c                 f    UR                  5         [        USS5        [        U/SU SSS//5      nU$ )Niyi~x   rB   rC   rF   rH   rI   s      r   doit2rN   G   s9    NN	#tTseS%J'@&ACAHr   c                 f    UR                  5         [        USS5        [        U/SU S/ SQ/5      nU$ )N   id   rB   ))rD   gffffff?)r   g
ףp=
?)rG   rE   rH   rI   s      r   doit3rR   M   s5    NN	#sCseS%'I&JLAHr   c                  x   [        5       n U R                  5         [        SS5        [        S[        SS95      n[	        S[        SS95      n[        S[        SS95      n[        5       n SnXU4 H  n UR                  5         M     US:X  a  OM'  [        SS	5        [        5       nS
Xd-
  -  $ !   US-  n MH  = f)NK   r      r   )undobuffersize         
   zruntime: %.2f sec.)r   htr   rK   rN   rR   clock__next__)pusr   adonebs          r   mainrd   T   s    ADDF
2aLaq)*Aaq)*Aaq)*AA
QA

 
 19  1RLA13''	s   5B//B9__main__N)rZ   rX   )__doc__turtler   r   r   r   randomr   timer	   r\   r   r   r   r-   r>   rK   rN   rR   rd   __name__ r   r   <module>rl      s^    7 6  &;
,
0(, zFJ r   