a  ze@sXdZddlmZmZddlmZGdddeZddZe dkrTeZ e e ed S) a turtle-example-suite: tdemo_bytedesign.py An example adapted from the example-suite of PythonCard's turtle graphics. It's based on an article in BYTE magazine Problem Solving with Logo: Using Turtle Graphics to Redraw a Design November 1982, p. 118 - 134 ------------------------------------------- Due to the statement t.delay(0) in line 152, which sets the animation delay to 0, this animation runs in "line per line" mode as fast as possible. )Turtlemainloop) perf_counterc@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS)DesignercCs|tdD]J}|d|||||||d||dq||||d|d||d|| d|d|| d dS) Ng)P@H$g8@.ga@T) uprangeforwarddownwheelpositionbackwardrightgoto centerpiece getscreentracer)selfZhomePosscaleirI/opt/bitninja-python-dojo/embedded/lib/python3.9/turtledemo/bytedesign.pydesign s      zDesigner.designcCs|dtdD]}|||q||dtdD]}|||q>|dtdD]:}||d|d|||d|qb|d| dS)N6rrr) rr pentpiecerlefttripiecer r rrupdate)rinitposrrrrrr2s         zDesigner.wheelcCs|}||d||d|||||||||d||d||||||||d| dS)Ng@g?@r) headingrrtripolyrr r setheadingtripolylr!rr#)rr$roldhrrrr"Ds     zDesigner.tripiececCs|}||d||tdD]}|d||dq.|d|d|||||||d||tdD]}|d||dq| d|d||||||| d| dS)NrrK) r%r r rr rpentrrr'pentlr!rr#)rr$rr)rrrrr Us,         zDesigner.pentpiececCs>|d|krdS||||||d|||dSNgRQ?)r r!r.rsideZangrrrrr.ms  zDesigner.pentlcCs>|d|krdS||||||d|||dSr/)r rr-r1rrrr-ss  zDesigner.pentrcCsh|d|krdS|||d||d|d||d|d||d|dSNrog{Gz?g?g?)r rr&rr2rrrrr&ys    zDesigner.tripolyrcCsh|d|krdS|||d||d|d||d|d||d|dSr3)r r!r(r6rrrr(s    zDesigner.tripolylcCs>|||||d|kr$dS||d|||dS)Ng@g333333?)r r!r)rsarrrrrs zDesigner.centerpieceN) __name__ __module__ __qualname__rrr"r r.r-r&r(rrrrrrs  rcCs\t}|d||d|dt}||dt}d||S)Nrr0zruntime: %.2f sec.) rZspeedZ hideturtlerdelayrclockrr)tZatetrrrmains r@__main__N) __doc__Zturtlerrtimerr=rr@r9msgprintrrrrs u