python用乌龟画100行程序代码_python用乌龟画100行程序代码


今天在逛 makecode 网站时偶然发现了一个很好玩的库 – Turtle,它是一个 micro:bit 的扩展库,作用是控制一个 led 亮点,然后通过编程控制它的移动,并且可以画出移动轨迹,从而画出复杂的图形,碍于 micro:bit 板子上 点阵大小的限制,可以画出的复杂图形不多,不过还是值得一试,下面就是我画的一个螺旋线。


python用乌龟画100行程序代码_编程网站_02


这节教程将会介绍一下 Turtle 这个扩展库的基本用法,它的里面每个模块的意思,下节教程我们会一起来实现上面的螺旋线。

为什么叫 Turtle ?

Turtle 这个扩展库 灵感来源于一门古老的编程语言 – Logo,注意不是 Lego,Logo 是一门专门用于教育的编程语言,它最主要的功能是画乌龟图形(Turtle Graphics),乌龟图形可以想象为用编程命令来控制一只小乌龟的爬行轨迹,然后不停重复,从而画出千变万化的图形


python用乌龟画100行程序代码_turtle模块编程实现一个小游戏_03


有没有让你想起小时候那种圆圈圈玩具呀,它叫做万花尺


python用乌龟画100行程序代码_turtle模块编程实现一个小游戏_04


一般来说,乌龟图形有 5 个要素

  1. 位置
  2. 方向
  3. 移动步数
  4. 移动速度
  5. 笔刷


python用乌龟画100行程序代码_turtle模块编程实现一个小游戏_05


位置

位置代表了小乌龟的位置坐标,主要作用是设置小乌龟的起始坐标,也可以改变小乌龟的当前位置,使轨迹线变成不连续的

方向

方向代表了小乌龟的移动方向,即小乌龟下一步要走的方向,我们可以通过调整小乌龟的角度来改变它的方向

移动步数

移动步数代表小乌龟下一步要移动几步,代表了下一条轨迹线的长度,比如上面的动图里,forward 30 就代表了小乌龟向前移动 30 步,除了向前,还可以向后移动

移动速度

移动速度代表了小乌龟的移动速度,在同样的时间里,移动速度越快,小乌龟的轨迹线画的越快

笔刷

笔刷可以想象为有一个虚拟的画笔在小乌龟的身上,可以通过程序控制笔刷落下还是抬起,笔刷落下小乌龟爬行的轨迹会被显示出来,如果笔刷抬起,小乌龟会按照程序继续爬行,但是不会留下轨迹

添加 Turtle 扩展库

下面我们来添加这个扩展库,其他扩展库也可以通过同样的方法来添加。

  1. 打开 makecode 编程网站,新建一个项目
  2. 点击 高级,然后点击 扩展


python用乌龟画100行程序代码_python用乌龟画100行程序代码_06


3. 找到 microturtle,点击一下,然后就会添加到刚才新建的项目里了


python用乌龟画100行程序代码_编程网站_07


4. 添加成功之后,就会在模块分类里看到一个新的分类 Turtle


python用乌龟画100行程序代码_turtle模块编程实现一个小游戏_08


模块介绍

下面来介绍一下这个扩展库的每个模块

移动步数

控制移动步数的模块有两个,分别是 forward 和 back,forward 表示向前移动,back 表示向后移动,模块里的数字代表了移动多少步


python用乌龟画100行程序代码_python用乌龟画100行程序代码_09


默认情况下,龟龟的移动方向是向上,所以 forward 表示向上移动一个 led,back 表示 向下移动一个 led,如下图


python用乌龟画100行程序代码_turtle模块编程实现一个小游戏_10


python用乌龟画100行程序代码_python用乌龟画100行程序代码_11


移动方向

控制移动方向的也有两个模块,turn left 和 turn right,turn left 表示转向左边,turn right 表示转向右边


python用乌龟画100行程序代码_编程语言_12


来看下面的例子

前面说过,乌龟的默认方向是 向上,左转一下方向变为向左,然后向前移动一步,然后右转一下,方向又变回了向上,然后再向前一步


python用乌龟画100行程序代码_turtle模块编程实现一个小游戏_13


python用乌龟画100行程序代码_python用乌龟画100行程序代码_14


设置位置

设置位置也有两个模块,set position 和 home,set position 可以指定 x 坐标和 y 坐标,而 home 表示把 乌龟移动到 home 位置,也就是 (2,2) 这个位置,即屏幕中间。


python用乌龟画100行程序代码_turtle模块编程实现一个小游戏_15


设置笔刷

设置笔刷只有一个模块,pen


python用乌龟画100行程序代码_Turtle_16


设置亮度

设置亮度模块用于控制乌龟爬行时轨迹的 led 灯亮度,范围是 0-255,255 最亮,如果设置为 0,则和 pen up 一样表示没有轨迹


python用乌龟画100行程序代码_Turtle_17


设置速度

设置速度模块用于控制乌龟的移动速度,即每秒乌龟爬行的 led 数量,数值越大,速度越快


python用乌龟画100行程序代码_编程网站_18


龟龟扩展库就介绍到这里啦,下节教程我们来实现文章开始的螺旋线,敬请期待啦。