999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Scratch制作升級版計算器

2020-01-13 09:46:29
電腦報 2020年46期

我們之前曾經用Scratch編寫過一個計算器,但是那個計算器數字顯示使用Scratch的變量顯示過于簡陋,這次我們使用新的思路制作一個顯示效果優秀、加減乘除、有小數點、連續運算等功能的升級版計算器。由于我們之前已經介紹過一種計算器程序,本文中僅對升級版重難點和不同之處做介紹,其他部分可以掃碼下載源代碼自行研究。

一、界面準備

首先用圖片編輯軟件對一張手機計算器截圖進行修改,保留需要的功能按鈕,保存圖片高度為360像素,導入作為舞臺背景。

自行繪制白色的數字角色,這個角色中包含11個造型,依次是1到9、0、小數點和負號,并修改這些造型的命名。根據顯示效果調整好角色的大?。▓D1)。

二、 按鍵定位和輸入

對舞臺背景編程。我們需要通過偵測鼠標的位置來確定用戶點擊了哪里,并利用“二維數組”為按鈕定位,首先根據按鈕將界面分為5行4列,比如數字5就在3行2列、數字9在4行3列。測量每個行列X、Y坐標的范圍(如圖1),重復監測鼠標的XY坐標,并據此修改變量“計算機-行”和“計算機-列”的值(圖2)。

再將鼠標位置的行列位置轉換對應的變量“鍵值”,就可以讓程序知道用戶點擊了計算器的哪個按鍵了。比如當“計算器-行=2,計算器-列=4”時,變量鍵值設為‘+(含單引號),表示點擊了加號,用單引號是將數字鍵和其他功能鍵區別開。用“if參數1”(監控坐標)、“if參數2”(監控行列)、“if參數3”(鼠標按下)來表示當前的輸入狀態,當值為1時表示有輸入,為0時表示目前沒有輸入(圖3)。

當偵測到鼠標點擊的動作時,表示輸入了數字或運算符,根據此時的鍵值判讀執行相應的自定義積木(函數)。比如當鍵值=‘退格時調用退格積木。通過觀察,我們還可以把功能相同的按鍵歸為一組。比如說數字鍵0~9為一組,當按下數字鍵時,判斷“鍵值>-1”,調用“數字鍵”;運算符加減乘除為一組,“if參數3=0”調用相應積木進入后續的判斷。

比如收到小數點的鍵值,就執行小數點的積木(函數)(圖4)。

為了實現連加操作(不按清除就在結果上繼續運算),加減乘除和等號的操作幾乎一樣,不同在于加減乘除時要先清空一次列表,判斷運算符不是等號,完成時清空運算符變量(圖5)。

三、 數字顯示

對數字角色編程。輸入的數字和計算結果依次保存在列表“字符串”中,為了在計算器的液晶屏中顯示出多個漂亮的數字,從列表中依次提取數值用來控制角色造型的變換,改變數字角色的造型后再克隆,并用計算公式根據數字的位數調整克隆體的放置位置。(圖6)。

在計算器的顯示屏上每個字符寬20,顯示屏上最多可以容納12個。用計算公式調整每個克隆體的位置。當接收到清除命令——清除數字=Yes時就可刪除克隆體表現出清屏的效果(圖7)。

四、 數值的存入、取出和分解

通過對“字符串”列表的操作完成數字的這些操作。當點擊鼠標時,首先進行狀態判斷,如果條件符合就將“鍵值”加入“字符串”列表,這里使用“字符串”列表存儲輸入的數值,每個位單獨存放。當需要參與運算時,要把列表中臨時存放的各位數轉換回可計算的數字。運算符之前輸入的數字依次賦值給操作數1,運算符之后的數字賦值給操作數2,然后根據運算符進行運算即可。注意每次更新字符串列表后需要把變量“清除數字=Yes”和“廣播顯示字符串”配合使用,清屏后顯示新的數字(圖8、圖9)。

當需要從列表中取出數值用于計算時,依次取出第1項(最高位)后乘10加上第2項(次高位),直到全部取出存入變量操作數。遇到小數點時需要做一個很精巧的特別處理,變量i就是用來記錄小數點的位置,遇到小數點時i歸零,之后i記錄的數字就是小數點后的數位了,當i=j時表示沒有小數點,當不相等時根據i的數值將操作數除以10的i次方即可得到含小數點的正確數值了(圖10)。

五、 運算

運算部分比較簡單,直接根據運算符對輸入的變量“操作數1”和“操作數2”計算即可。其中“運算符2”設為鍵值的第二個字符是因為運算符第一個字符是單引號(圖11)。

當計算位數結果超出11位時或在已有運算符的情況下輸入新的運算符時,需要刷新列表或截取有效部分重新顯示。這里使用自定義積木“分解顯示的數字”完成這些需求(圖12)。

以上就是升級版計算器的重難點,受篇幅所限其他功能的實現請見33版 掃碼下載后自行研究,注意看程序是如何處理運算符和等號的,以及如何處理小數點問題和運算結果超出顯示屏寬度的問題,非常值得學習借鑒。(本程序源代碼參考自冉爸學堂特此感謝!)

主站蜘蛛池模板: 久久婷婷六月| 无码久看视频| 麻豆AV网站免费进入| 国产三区二区| 国产永久无码观看在线| 亚洲天堂网2014| 无码不卡的中文字幕视频| 亚洲欧美成人在线视频| 在线欧美国产| 秋霞一区二区三区| 成·人免费午夜无码视频在线观看| 91综合色区亚洲熟妇p| 欧美日韩亚洲国产| 中文字幕在线播放不卡| 9cao视频精品| 国产va免费精品观看| 九九久久精品国产av片囯产区| 亚洲一区二区三区香蕉| 99热这里只有精品久久免费 | 97青草最新免费精品视频| 久久久无码人妻精品无码| 东京热av无码电影一区二区| 免费看一级毛片波多结衣| 3D动漫精品啪啪一区二区下载| 91青青在线视频| www.精品国产| 国产精品亚洲五月天高清| 波多野结衣一区二区三视频 | 激情乱人伦| 久久香蕉欧美精品| 精品黑人一区二区三区| 亚洲性一区| 国产精品片在线观看手机版| 国产精品免费久久久久影院无码| 国产AV无码专区亚洲精品网站| 成人a免费α片在线视频网站| 蜜臀AVWWW国产天堂| 亚洲欧美天堂网| 国产专区综合另类日韩一区| 青青青草国产| 亚洲精品无码久久毛片波多野吉| 在线无码九区| 91极品美女高潮叫床在线观看| 在线观看视频一区二区| 亚洲欧美综合在线观看| 国产伦片中文免费观看| 午夜福利免费视频| 无码aaa视频| 中文字幕在线视频免费| 东京热一区二区三区无码视频| 亚洲高清国产拍精品26u| 伊人久久大香线蕉成人综合网| 91无码视频在线观看| аⅴ资源中文在线天堂| 欧美综合区自拍亚洲综合天堂| 国产主播一区二区三区| 亚洲精品自在线拍| 秋霞国产在线| 999国内精品久久免费视频| 九九免费观看全部免费视频| 少妇极品熟妇人妻专区视频| 青青草国产在线视频| 欧洲av毛片| 日韩高清无码免费| 92午夜福利影院一区二区三区| 99re热精品视频中文字幕不卡| 日本三级黄在线观看| a色毛片免费视频| 欧美啪啪一区| 亚洲av日韩综合一区尤物| 亚洲第一av网站| 国产欧美日韩91| 久久特级毛片| 久久久亚洲色| 亚洲色图在线观看| 亚洲av无码久久无遮挡| 黄色网站在线观看无码| 久久精品午夜视频| 狠狠操夜夜爽| 青青操视频在线| 日本福利视频网站| 久久综合伊人 六十路|