趣味正方形

如本文章标有价格,需议价或其它事情商议请加微信scratch8

李兴球Python趣味正方形
李兴球Python趣味正方形
"""
   趣味正方形.py
   画个正方形后,单击它会移动,并且碰到边缘就反弹。
   这个版本采用画布的move命令来当前线条项目实现的。
   也可以用纯动画原理实现,还能用自定义造型来实现。
"""
import time
import turtle

sw,sh = 480,360
turtle.shape('turtle')
turtle.bgcolor('black')
turtle.color('yellow')
turtle.pensize(2)
turtle.setup(sw,sh)
for _ in range(4):
    turtle.fd(50)
    turtle.lt(90)

square = turtle.getturtle().currentLineItem
canvas = turtle.getcanvas()
turtle.color('cyan')
turtle.write('请单击',align='center',font=('',16,'underline'))

def gogogo(event):
    turtle.ht()
    dx = 5
    dy = 5     
    canvas.unbind("")
    while True:
        canvas.move(square,dx,dy)
        cors =  canvas.coords(square)
        xcors = [cors[i] for i in range(len(cors)) if i%2==0]
        ycors = [cors[i] for i in range(len(cors)) if i%2==1]
        min_x = min(xcors)
        max_x = max(xcors)
        min_y = min(ycors)
        max_y = max(ycors)
        #print(min_x,max_x,min_y,max_y)
        if max_x >= sw//2 or min_x <= -sw//2:dx = -dx
        if max_y >= sh//2 or min_y <= -sh//2:dy = -dy        
        time.sleep(0.01)
        canvas.update()
        
canvas.bind("",gogogo)

screen = turtle.getscreen()
screen.mainloop()

本站所有作品,教程等皆为原创,版权所有。只供个人及单位内部研究使用,对外展示或传播必需经本站同意,且注明来自本站。培训机构等用本站资源培训学生,需经本站授权。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。入住QQ群:225792826 和爱好者共同交流,并且能下载免费提供的Python资源(需提供真实姓名才可入群)
李兴球的博客_Python创意编程技术前沿_pygame » 趣味正方形
scratch

学本领,探索更大的世界!

李兴球博客 风火轮编程主页