用Scratch和Python画五角星

本文介绍了使用Scratch和Python画五角星的方法,同时介绍了Python在Windows和Mac OS不同操作系统上填充颜色的差异。

用Scratch画五角星

使用Scratch画出五角星简单,但是填充是个麻烦事,先画个不填充的吧。

画填充五角星,使用到广播消息功能。使用两个角色来画,一个画轮廓,一个画填充线。

画笔角色,用于画出五角星的轮廓。

填充点角色,用于从(0,0)坐标向画笔角色的当前坐标不断的画直线,起填充作用。

用Python画五角星

在Windows下画出填充颜色的五角星。保留轮廓颜色为黑色,便于和Mac OS版本的对比。

在Mac OS下画出的填充颜色的五角星。奇怪的事情出现了,代码完全一样,但是填充效果不同。

简单查了下原因,是Mac OS版本的小海龟对封闭区域的定义不同,结果使五角星中间的区域没有包含到填充区域里。

Scratch和Python代码对比

简单解释:

mode('logo')是设定小海龟的方向系统为logo语言模式,这样和scratch的方向系统一致了。

seth(90)是设置画笔方向为90度。

forward(300)是移动300步。

for i in range(5) 对应scratch中的就是重复执行5次。

begin_fill()和end_fill()是Python中填充颜色的方法,Scratch是没有的。

用Python换种方法画五角星

这下同一个程序在Windows和Mac OS两个操作系统中画出来的五角星一致了。

—END—

勾股树、分形图等是非常有趣的话题,对此感兴趣的朋友可以阅读《Scratch趣味编程进阶》一书的第7章《神奇分形图》,其中介绍了几种常见的分形图的构造方法。

在此特别提醒scratch初学者,绘制勾股树分形图时应用到了递归方法。对于递归编程不熟悉的朋友可以阅读《Scratch编程从入门到精通》一书,书中第5章“过程”中对函数(过程、自定义积木)和递归调用进行了详细的介绍。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181219G05G9Z00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券