编程娃娃是本人开发的一个小软件,有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即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)


