U e5d @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)Nr)nr )/usr/lib64/python3.8/turtledemo/forest.py symRandomsr csfdd|DS)Ncs,g|]$\}}|t|dtfqS)g)\(?)r ).0angle sizefactor angledistsizedistr r s zrandomize..r ) branchlistrrr rr randomizes rcCs2t|D]$}|t||d||qdS)Ng?)rangeleftr Zforward)tZdistancepartsrir r r randomfds r ccs|dkrg}g}tt||D]\} } | ||| ddd|tddd|tdd| t| |||dV| D]<\} } | | || |t | ||| | qqt ||| |d||||D] } dVqdS)Nr r ) listzipZpensizeZpencolorr pendownrrappendZclonerrighttree)ZtlistsizelevelZ widthfactorZ branchlistsrrZlstZbrsrrrrxr r r r(s,  r(cCsLtd||d||d|||||dS)NrrZ)rresetZspeed hideturtlerZpenupZsetposr%)rr+yr r r start7s   r0cCs2|t|ddt|gd|ddddgg}|S)Ni0P皙?-gGz?)r?gQ?r.r0r(r*Zpenrr r r doit1As r;cCs0|t|ddt|gd|dddgg}|S)Niyi~xr3r4r7r9r:r r r doit2Gs r=cCs2|t|ddt|gd|ddddgg}|S)Nidr3)r5gffffff?)rg ףp= ?)r8r6r9r:r r r doit3Ms r@cCst}|tddtdtdd}tdtdd}tdtdd}t}d}|||fD]&}z |Wq\|d7}Yq\Xq\|dkrNqqNtdd t}d ||S) NKrr )Zundobuffersizerrzruntime: %.2f sec.)rZhtrr;r=r@clock__next__)pusraZdonebr r r mainTs$   rL__main__N)rr)__doc__ZturtlerrrrZrandomrtimerrEr rrr(r0r;r=r@rL__name__r r r r s