Fireduino 开源创意平台 立即购买

拥有双核Cortex-M3处理器,集成高质量音频Codec和WiFi模组,拥有良好的IOT扩展性能,完美兼容Arduino IDE和Arduino标准接口,并支持FireBlock图形化编程软件,是一款首选的编程启蒙教学平台,更是一款开源的创意原型平台。

编写自己的FireBlock模块

更新时间:2017-08-08 阅读:1928

前言

FireBlock 可以让用户新建程序块,将各种基本的程序块组合起来,创建高级的程序块,完成各种复杂的功能。


程序块类型

程序块分三种基本类型:命令、报告和判断。

  • “命令”程序块会执行一系列的动作,但没有结果返回给调用者;
  • “报告”程序块也可执行一系列的动作,而且返回结果(数值、文本、布尔或其它)给调用者;
  • “判断”程序块其实是个特殊的“报告”程序块,返回结果限定为布尔值(即真或假)。


正六边形示例

这个例子中,我们创建一个绘制正六边形的程序块,名为 hexagon,接受一个参数作为边长。


新建程序块

在程序块区点击分类 Fireblock quickstart cat var zh.png,在显示区滚动到底部,点击 Fireblock quickstart icon make block.png ,即可以创建新程序块:

Fireblock make block 1 zh.png

1. 选择分类,这里选择“画笔”,新建的程序块就会放在该分类下。

2. 输入名称”hexagon”,选择类型为“命令”。

3 该程序块是全局的,保留“对所有角色”选中。


如下图所示:

Fireblock make block 2 zh.png


按确认后进入程序块命令编辑器:

Fireblock make block 3 zh.png


添加参数

绘制正六边形需要指定边长,也就是需要增加边长参数,按“hexagon”旁边的“+”号,在弹出的新建参数对话框里输入参数名称为“edge”:

Fireblock make block 4 zh.png


按确认后得到:

Fireblock make block 5 zh.png


之后便是拼接绘制正六边形的程序块。


添加命令

正六边形的绘制比较简单,边长相等,每个内角均为 120 度。重复6次,每次绘制边长,并右转一个角度(180-120=60),即可绘制一个正六边形。


在拼接过程序中,注意“edge”参数是可以拖放的,是一个“脚本变量”(其生命期在本脚本里,超出便无效),如图:

Fireblock make block 6 zh.png


最后得到:

Fireblock make block 7 zh.png


按确认后退出。


这样,我们第一个定制程序块就完成了。


使用自定义程序块

在“画笔”分类中可以找到新建的正六边形程序块 hexagon 。如果需要继续修改,用鼠标右键点击,选择“编辑…”即可:

Fireblock make block 8 zh.png


下面来测试一下:

Fireblock make block 9 zh.png


点击一下程序块组,六角形就绘制出来了:

Fireblock make block 10 zh.png

使用递归的自定义程序块

以下是使用递归(即有调用自身的命令)的程序块 hexagon_flower,绘制出一朵美丽的正六边形花:

Fireblock make block 11 zh.png


其运行结果为:

Fireblock make block 12 zh.png