一、程序思路
这个计算器可以实现加减乘除运算。开始运行后,可以使用鼠标点击数字按键,输入第一个数字;接着点击“+-×÷”输入运算符;然后输入第二个数字,点击“=”,获取计算结果。如果输入有误可以通过“退格键”消除有误数字(图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制作的计算器已经基本完成了。难点在于理解变量程序块以及使用方法。