B _h/<@sdZddlTddlmZmZddlmZmZdZ dededZ d d Z d d Z d dZ ddZd&ddZddZddZddZddZddeddfddZefd d!Zd"d#Zed$kreZed%S)'a xturtle-example-suite: xtx_kites_and_darts.py Constructs two aperiodic penrose-tilings, consisting of kites and darts, by the method of inflation in six steps. Starting points are the patterns "sun" consisting of five kites and "star" consisting of five darts. For more information see: http://en.wikipedia.org/wiki/Penrose_tiling ------------------------------------------- )*)cospi) perf_countersleepgP/7? cCsTt|}tdt|tdt|tdt|tdt|tddS)N$l)fltfdrt)lflr7/opt/alt/python37/lib64/python3.7/turtledemo/penrose.pykitesrcCsTt|}tdt|tdt|tdt|tdt|tddS)Nr r )r rrr)rrrrrdart%srcCs|dkrFt\}}ttt|dt|d}}}dt|||f<dSt|}tdt||dt|t dt ||dtdt|t t dt ||dtdt|t d t||dtddS) NrrTr r ) posintheadingroundtiledictr r inflatedartrr inflatekited)rnpxpyhxyrrrrr!1s( " r!cCs|dkrFt\}}ttt|dt|d}}}dt|||f<dSt|}t||dtdt|t dt ||dtdt|t t dt ||dt|t d dS) NrrFrr r6~r ) rrrrrr r!rrrr r")rr#r$r%r&r'r(rrrrr Gs" " r cCst|t|}t|d|d|x\tD]T}|\}}}t||t|t|rhtdtddntdtddtq,WdS)NgY@rblack)rg?rr)g?rr) clearr Z shapesizerZsetpos setheadingshapeZcolorZstamp)rr#thkr&r'r(rrrdrawZs      r1cCs(x"tdD]}t||tdq WdS)NH)ranger!r)rr#irrrsunjs r6cCs(x"tdD]}t||tdq WdS)Nr2r3)r4r r)rr#r5rrrstaros r7cCsTtdttdttdtttdttdttddS)Nrdrrr)tracerZ begin_polyrZend_polyZregister_shapeZget_polyrrrrr makeshapests  r:cCs$tttttddS)Nuser)resetZhtZpur:Z resizemoderrrrstarts r=)rrc Cst|tdiat}td|||t}t|||tdt}tddtD}tddtD} td|| || fdS)NrrcSsg|]}t|r|qSr)r).0r'rrr sztest..cSsg|]}t|s|qSr)r)r@r'rrrrAsz"%d kites and %d darts = %d pieces.)gotor-rclockr9r1lenprint) rr#funstartposr/abcZnkZndrrrtests  rKcCsPtxDtdD]8}t}td||t}||}|dkrtd|qWdS)Ni,r)r=r4rCrKr)rFr5rHrItrrrdemos rNcCsjtdtdddtttdtttdtddtdddtd d d d t d ddddS)NZlogog333333?rrr+i8gffffff?rzPlease wait...center)z Arial Blackr Zbold)ZalignZfontiXrL)Fu)rGZDone) modeZbgcolorrNr6rr7ZpencolorrBwriterKrrrrmains    rT__main__N)r)__doc__ZturtleZmathrrZtimerrCrr r"rrr!r r1r6r7r:r=rKrNrT__name__msgZmainlooprrrrs(