任亞飛
用Scratch制作一個計算器,除了四則運算外還有退格功能,通過這個實例掌握如何使用變量,并把程序產(chǎn)生的臨時結果賦值到變量中。
這個計算器可以實現(xiàn)加減乘除運算。開始運行后,可以使用鼠標點擊數(shù)字按鍵,輸入第一個數(shù)字;接著點擊“+-×÷”輸入運算符;然后輸入第二個數(shù)字,點擊“=”,獲取計算結果。如果輸入有誤可以通過“退格鍵”消除有誤數(shù)字(圖1)。

1.繪制背景
在背景中繪制橙色背景。
2.繪制角色
計算器包括數(shù)字、運算兩類按鍵,需要我們自己繪制。在造型編輯器中繪制個圓形,輪廓為天藍色,白色填充圓形內(nèi)部。在圓的內(nèi)部輸入數(shù)字1。然后復制并按照同樣方法繪制全部按鍵,最后擺放在合適位置。
1.數(shù)字按鍵的程序
建立變量“數(shù)字一”,用于顯示我們輸入的數(shù)字。數(shù)字按鍵的程序很簡單,當角色被點擊時,就將原來顯示的數(shù)字和按鍵的數(shù)字連接起來,然后再保存到“數(shù)字一”變量中。0到9和小數(shù)點共11個角色,只需要把變量“數(shù)字一”連接到角色對應的數(shù)字和數(shù)字符。例如:原來已經(jīng)輸入了數(shù)字32,現(xiàn)在再點擊按鍵1,則輸入的數(shù)字變成321。接著321存到“顯示”變量中。
2.點擊角色的造型變化
為了讓我們能夠清楚看到是否點擊了按鍵,我們設定當按鍵被點擊時,改變角色的顏色特效,0.2秒之后再恢復正常。
3.運算符的程序
接著創(chuàng)建“數(shù)字二”“結果”“退格”“次序”和“計算”等變量。
當我們輸入第一個運算的數(shù)字后,按了運算符的按鍵(例如按了“+”按鍵),則首先把變量“數(shù)字一”的數(shù)值賦值到變量“數(shù)字二”中,同時將變量“數(shù)字一”設為空等待下個數(shù)字的輸入。
同理,所有角色運算符當被點擊時都是迎接下個數(shù)字的輸入賦值到變量“數(shù)字一”中。根據(jù)加減乘除順序分別設置對應數(shù)字1234。如果角色“+”被點擊,就把變量“計算”設為1,同理“-”被點擊,就把變量“計算”設為2,“×”設為3,“÷”設為4(圖2)。

4.對等號編程
當運算數(shù)字和運算符號都輸入完后,點擊“等于號”開始計算。
如果變量“計算”等于1,就將變量“數(shù)字二”加“數(shù)字一”的結果賦值給變量“結果”;如果變量“計算”等于4,就將變量“數(shù)字二”除變量“數(shù)字一”的結果賦值到變量“結果”里面(圖3)。

5.數(shù)字清除歸零的程序
當角色C被點擊,將變量“數(shù)字一”“數(shù)字二”“結果”等設為空,這樣所有的數(shù)字都清除了,可以迎接下次計算了(圖4)。

6.退格鍵的程序
點擊退格時,把變量“數(shù)字一”賦值到變量“退格”,同時變量“數(shù)字一”設為空,變量“次序”設為1。由于變量“退格”的值來自變量“數(shù)字一”的賦值,變量“數(shù)字一”的值有多少位數(shù)那么退格就有多少字符。
例如變量“數(shù)字一”的值為325有三位字符,其中3是第一個字符,2是第二個字符,5是第三個字符。如果去除5這個字符,那么,就是退格的字符減去1也就是3-1,再把變量“退格”數(shù)值賦值給“數(shù)字一”。當再次點擊退格時,在當前字符基礎上再次減1。因此變量“次序”設為1,重復的次數(shù)是變量退格的字符數(shù)減1(圖5)。

到這里,我們Scratch制作的計算器已經(jīng)基本完成了。難點在于理解變量程序塊以及使用方法。