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

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

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

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

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

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