B G3{?@sdZddlmZmZmZmZddlmZddlm Z ddZ ddZ d d Z dd dZddZddZddZddZddZedkreedS)a4 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 colormodetracermainloop) randrange) perf_countercCst| |dS)N)r)nr 6/opt/alt/python37/lib64/python3.7/turtledemo/forest.py symRandomsr csfdd|DS)Ncs,g|]$\}}|t|dtfqS)g)\(?)r ).0angle sizefactor) angledistsizedistr r szrandomize..r ) branchlistrrr )rrr randomizes rcCs6x0t|D]$}|t||d||q WdS)Ng?)rangeleftr Zforward)tZdistancepartsrir r r randomfdsr ccs|dkrg}g}xtt||D]\} } | ||| ddd|tddd|tdd| t| |||dVxD| D]<\} } | | || |t | ||| | qWq Wx*t ||| |d||||D] } dVqWdS)Nr r) listzipZpensizeZpencolorr pendownrrappendZclonerrighttree)ZtlistsizelevelZ widthfactorZ branchlistsrrZlstZbrsrrrrxr r r r&s&  r&cCsLtd||d||d|||||dS)NrrZ)rresetZspeed hideturtlerZpenupZsetposr#)rr)yr r r start7s   r.cCs2|t|ddt|gd|ddddgg}|S)Ni0Pg?)-gGz?)rg?)igQ?)r,r.r&)r(penrr r r doit1As r3cCs0|t|ddt|gd|dddgg}|S)Niyi~xg?)r1gGz?)igQ?)r,r.r&)r(r2rr r r doit2Gs r5cCs2|t|ddt|gd|ddddgg}|S)Nidg?)r1gffffff?)rg ףp= ?)ig?)r,r.r&)r(r2rr r r doit3Ms r8cCst}|tddtdtdd}tdtdd}tdtdd}t}xHd}x4|||fD]&}y |Wq`|d7}Yq`Xq`W|dkrPPqPWtdd t}d ||S) NKrr)Zundobuffersizerrzruntime: %.2f sec.)rZhtrr3r5r8clock__next__)pusraZdonebr r r mainTs&   rD__main__N)rr)__doc__ZturtlerrrrZrandomrZtimerr=r rrr&r.r3r5r8rD__name__r r r r  s