于方軍+岳尊龍
● BYOB介紹
BYOB的全稱是Build Your Own Blocks,它是Scratch的一個擴展版,由Jens Monig(Enterprise Applications Development, Microsoft Corporation)和Brian Harvey(University of California at Berkeley加州大學伯克利分校)在Scratch源代碼的基礎(chǔ)上擴展而成。
BYOB對Scratch做了改進,實現(xiàn)了真正意義上的面向?qū)ο缶幊蹋∣OP)。通過這些改進,用戶可以自由增加不同類型的程序塊,并對其進行參數(shù)的調(diào)用,實現(xiàn)真正意義上的信息傳遞,而這恰恰是OOP的核心思想之一。
與Scratch 1.4相比較,BYOB 3增加了一些新的程序塊:控制程序部分增加了調(diào)試“命令”塊和調(diào)試“報告人”塊;偵測程序部分增加了“Object”和“attribute”程序塊;數(shù)字和邏輯運算部分增加了“成立(true)”、“不成立(false)”,結(jié)果提供的是布爾值,還有用來檢查數(shù)據(jù)類型的程序塊;變量部分增加了“腳本變量”塊,可以用它來統(tǒng)計腳本被調(diào)用的次數(shù)。BYOB 3最顯著的特點是在變量部分增加了“新建程序塊”(在Scratch 2.0中也有這個程序塊,但Scratch 2.0中的新建程序塊是針對角色的,別的角色不能調(diào)用,而BYOB 3的新建程序塊是針對腳本的,任何角色都可以調(diào)用),方便實現(xiàn)遞歸程序,并且BYOB 3的新建程序塊有多種類型。
BYOB方便聯(lián)機和生成可執(zhí)行文件,在Scratch 1.4中要想實現(xiàn)兩臺計算機互聯(lián)需要借助一個外部程序和協(xié)議,而BYOB已經(jīng)把這些做到了程序內(nèi)部,通過“分享”菜單的“連接到主機”和“設(shè)置為主機”可以方便實現(xiàn)雙機互聯(lián)。同時,在“分享”菜單中還有“編譯該項目……”選項,通過它可以方便生成可執(zhí)行文件(.exe文件),而這些在Scratch中都要通過其他程序來實現(xiàn)。
錨點功能也是BYOB的一個特色。例如,我們要設(shè)計一個坦克,要求能分別控制車身和炮筒,同時車身運動時炮筒要“粘接”在車身上一起運動。在BYOB中通過錨點功能,很容易就可以實現(xiàn)。兩個角色組合在一起移動,同時也可以分別控制。比較典型的例子就是把一個人身體的軀干作為主角色,把四肢和頭部作為分角色,把分角色“粘接”到主角色上。BYOB允許把一個角色作為指定錨點的主體,而其他角色可以作為其組成部分。主角色軀體作為父程序,其他角色作為子程序(零件),從而實現(xiàn)角色的嵌套,最簡單的方法是把子角色從角色欄中拖拽至舞臺的主角色上,就完成“粘接”功能,也可以用“attribute”程序塊完成。
● S2A介紹
S2A是為Arduino用戶準備的,用一個圖形用戶界面來控制Arduino板工作,而不需要編寫一行行的C語言代碼。其中的S代表Scratch 2.0和SNAP,它是一個Scratch 2.0和SNAP與Arduino板的通訊連接程序,在Scratch 2.0和SNAP中建立一些項目腳本,通過調(diào)用這些腳本,實現(xiàn)控制Arduino板,完成通過Scratch 2.0或SNAP來控制物理設(shè)備(如LED)、電機和繼電器等目的,還可以接收監(jiān)測設(shè)備信息,如溫度傳感器、電位器和光傳感器等。S2A的硬件擴展是用Python編寫的,因此需要安裝Python。為了減小網(wǎng)絡(luò)環(huán)境的影響,可以使用Scratch 2.0離線版和SNAP的離線版,實現(xiàn)和Arduino微控制器的無縫通信,當然,如果網(wǎng)絡(luò)條件好,可以選用網(wǎng)絡(luò)版,實現(xiàn)作品的網(wǎng)絡(luò)共享。
S2A使用的難點是安裝麻煩。為了幫助使用者,筆者設(shè)計了一個安裝包“S2A淄博定制版”,安裝使用詳見新浪博客淄博創(chuàng)客空間(http://blog.sina.com.cn/s/blog_e114ed340101hclb.html)。
用S2A可以做的工作包括:①用Scratch設(shè)計機器人。通過S2A可以使機器人教學很容易被學生接受。②降低機器人教學的技術(shù)門檻。目前S2A支持多種傳感器輸入和輸出,基本能滿足機器人教學需求。③結(jié)合S2A做STEM課程進行學科的融合。例如,可以利用S2A實現(xiàn)物理、化學、生物等的數(shù)字化實驗改進,也可以利用其虛擬角色和現(xiàn)實傳感器互動,改進其他學科的課堂教學。
endprint