intoweb
變量是學(xué)習(xí)Scratch編程的一個重要知識點。下面我們通過一個簡單的扔骰子動畫,掌握變量的概念,了解變量的類型與范圍,將隨機變量加入程序,并用變量控制角色造型。學(xué)會用變量來為程序服務(wù)(如圖1)。
腳本規(guī)劃與流程設(shè)計是進行編程創(chuàng)作的前置工作,需要確定與主題相關(guān)的舞臺、角色、聲音和對應(yīng)腳本。
1. 腳本規(guī)劃
背景:選取一個藍(lán)色,背景→所有→Blue Sky2。
角色:選取一個法師,角色→人物→Wizard,選擇造型“wizard-c”,將他放在舞臺左側(cè)。
角色“骰子”:骰子需要自行繪制,在造型中用矩形和圓繪制出骰子,矩形的圓角可以用橡皮擦做出來。骰子角色有6面,每一個面不同的點數(shù)代表不同造型。所以,我們要在這一個角色里面繪制6個造型。如圖2所示:在繪制完第一個造型后,繼續(xù)點擊“繪制”來添加下一個造型(如圖2)。
繪制完成后,再復(fù)制一個后,把骰子放在舞臺中間位置。角色在舞臺上的位置,如圖3所示。
2. 流程設(shè)計
當(dāng)點擊綠旗后,男巫師發(fā)出指令,骰子開始轉(zhuǎn)動,當(dāng)骰子停止轉(zhuǎn)動后,男巫師說出骰子上的點數(shù)相加的和。
變量來源于數(shù)學(xué),英文是Variable。它是計算機語言中能儲存計算結(jié)果或能表示值的抽象概念。
變量有兩種類型:屬性變量和用戶自己建立的變量。
點擊Scratch的變量模塊組,出現(xiàn)“建立一個變量”和“我的變量”。通常,我們會使用“建立一個變量”來建立變量,以便存放程序執(zhí)行過程中的臨時數(shù)據(jù)或結(jié)果數(shù)據(jù)等等。
變量根據(jù)范圍分為局部變量和全局變量。新建變量的時候,系統(tǒng)會詢問變量的范圍,適用于所有角色的即全局變量,適用于當(dāng)前角色的即局部變量(如圖4)。
選擇“建立一個變量”后,為了方便區(qū)分不同變量,需要給變量命名。通常的規(guī)則是要把變量名定義為容易閱讀和能夠描述所含數(shù)據(jù)用處的名稱,從而方便程序使用。這個例子會用到2個變量,因為角色是骰子,所以,我們的變量名就是“骰子1”和“骰子2”,變量范圍選擇“適用于所有角色”即可。
在我們點擊變量組模塊時,Scratch為我們提供了變量的四項基本積木選項(如圖5)。
當(dāng)變量名稱創(chuàng)建完成后,創(chuàng)建的變量就顯示在了舞臺區(qū)左上方(也可以用鼠標(biāo)左鍵按住它進行拖動),并且點擊“我的變量”后面的白色倒三角,我們創(chuàng)建的變量名也可以找到了(如果不需要變量顯示出來,你可以將變量名前的“√”去掉,或者選擇使用“顯示變量‘骰子1”和“隱藏變量‘骰子1”控制變量顯示)。
在角色、造型、大小和變量名等基本設(shè)置完成后,我們就可以進行腳本的編寫了。
1. 首先是角色Wizard的腳本,由于骰子的6面代表6個數(shù)字,所以變量的取值范圍就是“在‘1和‘6之間的隨機數(shù)”。
接下來,要通過男巫師發(fā)出一個“旋轉(zhuǎn)”的消息指令讓骰子轉(zhuǎn)動起來,我們可以選擇使用事件組的積木“廣播‘旋轉(zhuǎn)并等待”來實現(xiàn)。
當(dāng)骰子接收到消息后,就執(zhí)行旋轉(zhuǎn)。顯然,這個“旋轉(zhuǎn)”并不是使用右轉(zhuǎn)或者左轉(zhuǎn)使骰子自己轉(zhuǎn)動起來,而是讓它的6個造型進行變換。所以,我們可以設(shè)定讓它的造型快速變換20次。
2. 讓骰子的造型進行快速變換后,最終的造型要固定下來,我們才能將最終答案寫出來。所以,還需要通過變量名稱“骰子1”和“骰子2”來完成。通過之前的分析,我們知道了骰子有6面造型,所以將變量“骰子1”和“換成‘造型”結(jié)合起來成為“換成‘骰子1造型”。由此可見,骰子最后的造型就是骰子執(zhí)行旋轉(zhuǎn)后最終的取值。骰子2也執(zhí)行跟骰子1一樣的程序即可。這樣,我們就完成了骰子的所有腳本了(如圖6)。
3. 最后,回到男巫師角色,他要說出兩個骰子造型上點數(shù)的和。因此,這個“和”要選擇運算模塊表示相加的積木來完成,即“說‘骰子1+‘骰子2‘2秒”。
到此,我們也完成了角色Wizard的所有腳本(如圖7)。
我們完成整個程序的編程后,我們需要對程序進行檢測與驗證,盡力做到完美。在這里,我們可能會發(fā)現(xiàn)角色Wizard最后的說被變量名擋住了,所以,我們可以把變量名向右側(cè)移動開即可。
總結(jié):變量與骰子的案例將Scratch中變量的相關(guān)知識做了一個簡單介紹,還需要大家通過不斷的編程訓(xùn)練才可以掌握得更好。變量在編程案例中運用得很廣泛,不斷探索,才可以舉一反三。