已有183人关注
1
发表在Python图书答疑 2020-05-03 《零基础学Python》第4章 序列的应用
是否精华
版块置顶:

"""      turtle-example-suite:


         tdemo_round_dance.py


(Needs version 1.1 of the turtle module that

comes with Python 3.1)


Dancing turtles have a compound shape

consisting of a series of triangles of

decreasing size.


Turtles march along a circle while rotating

pairwise in opposite direction, with one

exception. Does that breaking of symmetry

enhance the attractiveness of the example?


Press any key to stop the animation.


Technically: demonstrates use of compound

shapes, transformation of shapes as well as

cloning turtles. The animation is

controlled through update().

"""


from turtle import *


def stop():

    global running

    running = False


def main():

    global running

    clearscreen()

    bgcolor("gray10")

    tracer(False)

    shape("triangle")

    f =   0.793402

    phi = 9.064678

    s = 5

    c = 1

    # create compound shape

    sh = Shape("compound")

    for i in range(10):

        shapesize(s)

        p =get_shapepoly()

        s *= f

        c *= f

        tilt(-phi)

        sh.addcomponent(p, (c, 0.25, 1-c), "black")

    register_shape("multitri", sh)

    # create dancers

    shapesize(1)

    shape("multitri")

    pu()

    setpos(0, -200)

    dancers = []

    for i in range(180):

        fd(7)

        tilt(-4)

        lt(2)

        update()

        if i % 12 == 0:

            dancers.append(clone())

    home()

    # dance

    running = True

    onkeypress(stop)

    listen()

    cs = 1

    while running:

        ta = -4

        for dancer in dancers:

            dancer.fd(7)

            dancer.lt(2)

            dancer.tilt(ta)

            ta = -4 if ta > 0 else 2

        if cs < 180:

            right(4)

            shapesize(cs)

            cs *= 1.005

        update()

    return "DONE!"


if __name__=='__main__':

    print(main())

    mainloop()


分享到:
精彩评论 3
JAVA13533650592
学分:1685 LV9
2020-05-04
沙发
?
44040420071215
学分:275 LV4
2020-05-06
板凳

JAVA13533650592 发表于2020-05-04 14:19

?

太极图案

JAVA13533650592
学分:1685 LV9
2020-05-12
地板
I'm dizzy
首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照