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