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

Scratch制作升級版計算器

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

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

一、界面準備

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

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

二、 按鍵定位和輸入

對舞臺背景編程。我們需要通過偵測鼠標的位置來確定用戶點擊了哪里,并利用“二維數組”為按鈕定位,首先根據按鈕將界面分為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版 掃碼下載后自行研究,注意看程序是如何處理運算符和等號的,以及如何處理小數點問題和運算結果超出顯示屏寬度的問題,非常值得學習借鑒。(本程序源代碼參考自冉爸學堂特此感謝!)

主站蜘蛛池模板: 亚洲五月激情网| 国产欧美精品一区aⅴ影院| 亚洲一区毛片| 九九热精品在线视频| 欧美成人免费一区在线播放| 99re在线视频观看| 国产精品综合色区在线观看| 久久国产黑丝袜视频| 欧美黄色网站在线看| 国产精品福利在线观看无码卡| 欧美一级黄色影院| 国产99在线| 久久精品人人做人人综合试看| 国产高清又黄又嫩的免费视频网站| 久久人搡人人玩人妻精品 | 国产粉嫩粉嫩的18在线播放91| 国产乱码精品一区二区三区中文| 制服丝袜亚洲| 亚洲精品无码AV电影在线播放| 国产一区二区人大臿蕉香蕉| 欧美色亚洲| 尤物视频一区| 91精品国产一区| 欧美中文字幕在线二区| 9丨情侣偷在线精品国产| 精品国产免费观看一区| 99精品视频九九精品| 一级福利视频| 伊人大杳蕉中文无码| 又粗又硬又大又爽免费视频播放| 国产地址二永久伊甸园| 大陆精大陆国产国语精品1024| 高清亚洲欧美在线看| 精品久久综合1区2区3区激情| 久久久久88色偷偷| 国产在线拍偷自揄观看视频网站| 麻豆精品久久久久久久99蜜桃| 国产成人精品视频一区视频二区| 亚洲美女视频一区| 亚洲欧美日韩综合二区三区| 亚洲 日韩 激情 无码 中出| 欧美性精品| 色播五月婷婷| 亚洲有码在线播放| 亚洲精品国产日韩无码AV永久免费网 | 亚洲精品中文字幕午夜 | 无码高潮喷水专区久久| 国产成人一区二区| 无遮挡一级毛片呦女视频| 国产精品嫩草影院视频| 操美女免费网站| 凹凸精品免费精品视频| 亚洲欧洲日韩综合色天使| 国产精品hd在线播放| 伊人天堂网| 久久久精品久久久久三级| 亚洲成a人在线观看| 亚洲第一天堂无码专区| 亚洲三级色| 国产日韩精品欧美一区灰| 亚洲国产天堂久久综合| 天天综合网站| av大片在线无码免费| 欧美一级黄色影院| 欧美亚洲国产日韩电影在线| 日韩毛片在线播放| 久热中文字幕在线| a毛片在线播放| 欧美中文字幕在线视频| 精品亚洲麻豆1区2区3区| 99re66精品视频在线观看| 久久久久亚洲av成人网人人软件| 日韩国产欧美精品在线| 午夜国产在线观看| 国产尤物在线播放| 久久国产精品电影| 国产极品美女在线播放| 欧美午夜在线观看| 国产成人一区免费观看| 免费看av在线网站网址| 国产精品国产主播在线观看| 黄色福利在线|