剥开科学的坚果,让学习变得更happy

2014-07-31 03:54于方军岳尊龙
中国信息技术教育 2014年13期
关键词:调用离线脚本

于方军+岳尊龙

● BYOB介绍

BYOB的全称是Build Your Own Blocks,它是Scratch的一个扩展版,由Jens Monig(Enterprise Applications Development, Microsoft Corporation)和Brian Harvey(University of California at Berkeley加州大学伯克利分校)在Scratch源代码的基础上扩展而成。

BYOB对Scratch做了改进,实现了真正意义上的面向对象编程(OOP)。通过这些改进,用户可以自由增加不同类型的程序块,并对其进行参数的调用,实现真正意义上的信息传递,而这恰恰是OOP的核心思想之一。

与Scratch 1.4相比较,BYOB 3增加了一些新的程序块:控制程序部分增加了调试“命令”块和调试“报告人”块;侦测程序部分增加了“Object”和“attribute”程序块;数字和逻辑运算部分增加了“成立(true)”、“不成立(false)”,结果提供的是布尔值,还有用来检查数据类型的程序块;变量部分增加了“脚本变量”块,可以用它来统计脚本被调用的次数。BYOB 3最显著的特点是在变量部分增加了“新建程序块”(在Scratch 2.0中也有这个程序块,但Scratch 2.0中的新建程序块是针对角色的,别的角色不能调用,而BYOB 3的新建程序块是针对脚本的,任何角色都可以调用),方便实现递归程序,并且BYOB 3的新建程序块有多种类型。

BYOB方便联机和生成可执行文件,在Scratch 1.4中要想实现两台计算机互联需要借助一个外部程序和协议,而BYOB已经把这些做到了程序内部,通过“分享”菜单的“连接到主机”和“设置为主机”可以方便实现双机互联。同时,在“分享”菜单中还有“编译该项目……”选项,通过它可以方便生成可执行文件(.exe文件),而这些在Scratch中都要通过其他程序来实现。

锚点功能也是BYOB的一个特色。例如,我们要设计一个坦克,要求能分别控制车身和炮筒,同时车身运动时炮筒要“粘接”在车身上一起运动。在BYOB中通过锚点功能,很容易就可以实现。两个角色组合在一起移动,同时也可以分别控制。比较典型的例子就是把一个人身体的躯干作为主角色,把四肢和头部作为分角色,把分角色“粘接”到主角色上。BYOB允许把一个角色作为指定锚点的主体,而其他角色可以作为其组成部分。主角色躯体作为父程序,其他角色作为子程序(零件),从而实现角色的嵌套,最简单的方法是把子角色从角色栏中拖拽至舞台的主角色上,就完成“粘接”功能,也可以用“attribute”程序块完成。

● S2A介绍

S2A是为Arduino用户准备的,用一个图形用户界面来控制Arduino板工作,而不需要编写一行行的C语言代码。其中的S代表Scratch 2.0和SNAP,它是一个Scratch 2.0和SNAP与Arduino板的通讯连接程序,在Scratch 2.0和SNAP中建立一些项目脚本,通过调用这些脚本,实现控制Arduino板,完成通过Scratch 2.0或SNAP来控制物理设备(如LED)、电机和继电器等目的,还可以接收监测设备信息,如温度传感器、电位器和光传感器等。S2A的硬件扩展是用Python编写的,因此需要安装Python。为了减小网络环境的影响,可以使用Scratch 2.0离线版和SNAP的离线版,实现和Arduino微控制器的无缝通信,当然,如果网络条件好,可以选用网络版,实现作品的网络共享。

S2A使用的难点是安装麻烦。为了帮助使用者,笔者设计了一个安装包“S2A淄博定制版”,安装使用详见新浪博客淄博创客空间(http://blog.sina.com.cn/s/blog_e114ed340101hclb.html)。

用S2A可以做的工作包括:①用Scratch设计机器人。通过S2A可以使机器人教学很容易被学生接受。②降低机器人教学的技术门槛。目前S2A支持多种传感器输入和输出,基本能满足机器人教学需求。③结合S2A做STEM课程进行学科的融合。例如,可以利用S2A实现物理、化学、生物等的数字化实验改进,也可以利用其虚拟角色和现实传感器互动,改进其他学科的课堂教学。

endprint

猜你喜欢
调用离线脚本
基于卷积神经网络的离线笔迹鉴别系统
新版Windows 10补丁离线安装更简单
自动推送与网站匹配的脚本
基于Android Broadcast的短信安全监听系统的设计和实现
好进难出 应对迅雷“口袋战”
举一反三新编
捕风捉影新编
利用RFC技术实现SAP系统接口通信
离线发文件 不是会员也能用
愚公移山