编程娃娃原理篇

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

李兴球Python编程娃娃原理篇
李兴球Python编程娃娃原理篇

编程娃娃是本人开发的一个小软件,有Scratch版和Python版。这个作品通过编排图形化指令,指挥一个娃娃移动。
由于作品的代码比较复杂,这里提供一个精简版的核心代码用来阐述原理,方便学习,并且你也可以把它扩展成为一个编程思维训练软件。
下面是全版本的演示:
李兴球Python编程娃娃演示
李兴球Python编程娃娃演示

"""
   编程娃娃原理篇.py
   想像中间的箭头是一个可爱的娃娃,它会根据你编排的指令移动!
"""
from time import sleep
from turtle import Turtle,Screen,Shape

def appendshape(image,name=None):
    """支持png图形的添加造型到海龟画图形状字典
        name:给造型取的名字
       image:图像文件名
    """
    pass                                      # 代码省略
        
class Command(Turtle):
    pass                                      # 代码省略
    
screen = Screen()

# 图像到命令的映射
cmdsdict = {'res/fd.png':'forward(50)',
          'res/right.png':'right(90)',
          'res/left.png':'left(90)'}

c1 = Command(cmdsdict,(-160,-200))
c2 = Command(cmdsdict,(-80,-200))
c3 = Command(cmdsdict,(0,-200))
c4 = Command(cmdsdict,(80,-200))
c5 = Command(cmdsdict,(160,-200))

cmds = [c1,c2,c3,c4,c5]

wawa = Turtle(shape='arrow')
wawa.speed(1)
wawa.pensize(4)
wawa.color('blue','red')
wawa.shapesize(2,2,10)
wawa.setheading(90)

def run(x,y):
    wawa.onclick(None)
    for cmd in cmds:
        s = 'wawa.' + cmd._cmd
        screen.title(s)
        exec(s)
        sleep(1)
    wawa.onclick(run)
        
wawa.onclick(run)

ft = ('黑体',12,'normal')
ftb = ('黑体',22,'normal')
w = Turtle(shape='blank')
w.penup()
w.speed(0)
w.color('gray')
w.sety(260)
w.write("编程娃娃原理篇",align='center',font=ftb)
w.sety(-260)
w.write("请单击上面5个按钮编排指令",align='center',font=ft)
w.sety(-280)
w.write("然后单击蓝色箭头运行指令",align='center',font=ft)

screen.mainloop()

需要全部源代码和素材,请付费扫码下载:

VIP免费查看

已有0人支付

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

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

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