编程娃娃是本人开发的一个小软件,有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资源。)
发表评论