U e5d• ã@s–dZddlmZmZmZmZddlmZddlm Z dd„Z dd„Z d d „Z dd d„Zdd„Zdd„Zdd„Zdd„Zdd„Zedkr’eƒeƒdS)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Ú colormodeÚtracerÚmainloop©Ú randrange)Ú perf_countercCst| |dƒS)Nér)Ún©r ú)/usr/lib64/python3.8/turtledemo/forest.pyÚ symRandomsr cs‡‡fdd„|DƒS)Ncs,g|]$\}}|tˆƒ|dtˆƒf‘qS)g)\�Âõ(ð?)r )Ú.0ÚangleÚ sizefactor©Ú angledistÚsizedistr r Ú sþ ÿzrandomize..r )Ú branchlistrrr rr Ú randomizes þrcCs2t|ƒD]$}| t|ƒ¡| d||¡qdS)Ngð?)ÚrangeÚleftr Zforward)ÚtZdistanceÚpartsrÚir r r Úrandomfds ré éccsò|dkrîg}g}tt||ƒƒD]¦\} } |  ||¡|  ddd|tdƒdd|tdƒd¡|  ¡t| |||ƒdV| D]<\} } |  | ¡| |   ¡¡| t | ||ƒ¡|   | ¡q†qt ||| |d||||ƒD] } dVqâdS)Nréÿé´é ér ) ÚlistÚzipZpensizeZpencolorr ÚpendownrrÚappendZclonerÚrightÚtree)ZtlistÚsizeÚlevelZ widthfactorZ branchlistsrrZlstZbrsrrrrÚxr r r r(s,þ  ÿr(cCsLtdƒ| ¡| d¡| ¡| d¡| ¡| ||¡| ¡dS)NrréZ)rÚresetZspeedÚ hideturtlerZpenupZsetposr%)rr+Úyr r r Ústart7s   r0cCs2| ¡t|ddƒt|gd|ddddggƒ}|S)Néi0ÿÿÿéPçš™™™™™¹?©é-g®Gázæ?)rçÍÌÌÌÌÌä?©éÓÿÿÿg¸…ëQ¸æ?©r.r0r(©r*Zpenrr r r Údoit1As r;cCs0| ¡t|ddƒt|gd|dddggƒ}|S)Niyÿÿÿi~ÿÿÿéxr3r4r7r9r:r r r Údoit2Gs r=cCs2| ¡t|ddƒt|gd|ddddggƒ}|S)Né¾i¦ÿÿÿédr3)r5gffffffæ?)rg ×£p= ç?)r8r6r9r:r r r Údoit3Ms r@cCs¬tƒ}| ¡tddƒtdtdd�ƒ}tdtdd�ƒ}tdtdd�ƒ}tƒ}d}|||fD]&}z | ¡Wq\|d7}Yq\Xq\|dkrNq�qNtdd ƒtƒ}d ||S) NéKrér )Zundobuffersizeérérzruntime: %.2f sec.)rZhtrr;r=r@ÚclockÚ__next__)ÚpÚuÚsrÚaZdoneÚbr r r ÚmainTs$   rLÚ__main__N)rr)Ú__doc__ZturtlerrrrZrandomrÚtimerrEr rrr(r0r;r=r@rLÚ__name__r r r r Ús