o =?h @sdZddlmZmZmZmZddlmZddlm Z ddZ ddZ d d Z dd dZddZddZddZddZddZedkrKeedSdS)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 8/opt/alt/python310/lib64/python3.10/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|dkrxg}g}tt||D]S\} } | ||| ddd|tddd|tdd| t| |||dV| D]\} } | | || |t | ||| | qDqt ||| |d||||D]} dVqrdSdS)Nr r ) listzipZpensizeZpencolorr pendownrrappendZclonerrighttree)ZtlistsizelevelZ widthfactorZ branchlistsrrZlstZbrsrrrrxr r r r(s2   r(cCsLtd||d||d|||||dS)NrrZ)rresetZspeed hideturtlerZpenupZsetposr%)rr+yr r r start7s    r0cC0|t|ddt|gd|dgdg}|S)Ni0P皙?)-gGz?)r?gQ?r.r0r(r*Zpenrr r r doit1A r<cCs0|t|ddt|gd|dddgg}|S)Niyi~xr4r5r8r:r;r r r doit2Gr=r?cCr1)Nidr4))r6gffffff?)rg ףp= ?)r9r7r:r;r r r doit3Mr=rBcCst}|tddtdtdd}tdtdd}tdtdd}t} d}|||fD]}z|Wq/|d7}Yq/|d krFnq(tdd t}d ||S) NKrr )ZundobuffersizerTrzruntime: %.2f sec.)rZhtrr<r?rBclock__next__)pusraZdonebr r r mainTs(     rN__main__N)rr)__doc__ZturtlerrrrZrandomrtimerrGr rrr(r0r<r?rBrN__name__r r r r s"