用scratch制作一个简易计算器
Scratch 是世界上最大的儿童编码社区,是一种具有简单视觉界面的编码语言,主要面对全球青少年开放,允许青少年创作数字故事、游戏和动画,并通过将它们上传到 Scratch 网站与在线社区分享。Scratch 由麻省理工学院的“终身幼儿园团队”开发,在 2007 年作为可下载的桌面应用程序推出。在麻省理工学院开发和支持超过 15 年后,Scratch 于 2019 年底从麻省理工学院分拆出来并入Scratch 基金会。
scratch的定位是儿童编程平台,操作相对简单,编程就像搭积木一样,不用写代码。有很多人对这个软件其实有些误解,觉得这个是小孩用的,只能做些简单的动画,做些游戏,其实只要是编程软件,无论形式怎样,都需要有编程的思维,也可以用这个软件编写复杂的程序,可以锻炼孩子们创新思维和创造能力。
下边我就介绍一下如何用scratch编写一个简易计器的操作过程。本例用的软件版本为scratch3.29.1,操作系统为win10。
目录
一、scratch界面布局
二、简易计算器功能
三、编程过程介绍
1、角色设置
2、计算器操作界面布局
3、代码介绍
(1)变量含义
(2)开关键
(3)数字和小数点
(4)删除键
(5)归零键
(6)运算符
(7)等号
四、scratch程序文件怎样转换乘H5或者exe文件
(一)转换成HTML5文件
(二)生成可执行exe文件
1、需要用到的软件
2、下面开始介绍如何进行操作
一、scratch界面布局
scratch界面分为5个区域:积木区、代码区(脚本区)、舞台区、角色列表区和舞台背景列表区。
二、简易计算器功能
计算器的界面如图所示。可以进行整数、小数的加减乘除4则运算,设置了计算器开关、归零键、删除键。
三、编程过程介绍
1、角色设置
这个计算器一共19个按键,每个按键都是一个角色。0~9这十个数字,以及开关、删除键都是选用的软件自带的角色。“+、-、×、÷、=”和“.”软件角色库里没有,我用windows画图软件画的,然后加载到角色列表区即可。
2、计算器操作界面布局
3、代码介绍
代码分为6类:开关键、删除键、归零键、数字符号和小数点、四则运算符、等号。定义的变量有开机、显示、缓存、计算结束、算法、字符和i,除“显示”这个变量外,其余的都属于过程变量,不用在界面上显示,所以变量前边的“√”要取消,如下图所示。
(1)变量含义
“开机”用来记录计算器处于开机和关机状态,变量等于1时表示开机,等于0时表示关机。
“显示”用来显示输入的第一个数、第二个数和运算结果。
“缓存”用来暂存输入的第一个数。
“算法”用来记录点击的运算符是哪一种,等于“加”时表示点了“+”,等于“减”时表示点了“-”,等于“乘”时表示点了“×”,等于“除”时表示点了“÷”,等于空时,表示还没有点运算符。
“计算结束”用来记录上一次运算是否结束,等于1时表示上一次运算已经结束,可以进行下一次运算。等于0时表示上一次运算还没有结束,此时还不能进行下一次运算。
“字符”和i是用来进行删除功能的,当点删除键后,剩余的字符就是除去最后一个字符后的子字符,“字符”用来记录这个子字符。i用来记录子字符中的第i个字符的序号。
(2)开关键
开关键的功能是打开和关闭计算器,打开时颜色为橙色,关闭时为灰色。所以开关键这个角色有两个造型。开关打开和关闭时设置了不同的音效。
代码如下图所示。当打开时,显示屏幕显示,变量“显示”、算法
(3)数字和小数点
此类角色的代码除最后一个模块“将显示设置为连接显示和?”外,其余的代码完全一样,“?”表示0~9或小数点“.”,不同的角色,那个“?”这个参数要改为那个相应的字符即可。最外层的判断语句,用来控制在开机的状态下,点这些按键才会响应。第二层有两个并列的判断语句,用来判断是否运算结束了,运算结束就是输入了第一个数、运算符和第二个数,并且按了等号计算出了结果并且已经显示了(刚开机时也默认是运算结束状态),在输入两个数、运算符过程中,都属于输入过程,该次运算还没有结束。
设置这个变量的作用是,当一次运算结束后,可以不按归零键,即可直接进行下一次运算的输入。
(4)删除键
当输入操作数过程中,因操作失误按错了数字键,可以按删除键,把操作数最后一位数字删除后再继续输入,设置这个删除键的作用是不会因为输错了一位数,就得按归零键后,再把所有的数字都重新输入。
这个程序的思维是:把这个操作数的第1位至倒数第2位数字逐位拼接成一个新的操作数,用“字符”这个变量来记录,然后再赋值给“显示”这个变量,这样就相当于把最后一位数字删除了,小数点也可以删除。
(5)归零键
归零键的作用就是当输入的操作数完全错误或者显示异常时,可以按此键,把之前输入的第一个数、第二个数、运算符等内容完全清空,以待重新输入,此时相当于开启一次新的运算。
(6)运算符
4个运算符的代码除“将算法设为?”这个模块外,其他的都一样,这个“?”表示“加、减、乘、除”这个内容,不同的角色要改为相应的内容。按了运算符之后,代表第一个操作数输入完成,所以要把“显示”这个变量的内容存入“缓存”这个变量内,并把“显示”这个变量内容清空,以待输入第二个操作数。第二层的判断语句作用是,防止多次输入运算符,当没有输入运算符时,“算法”变量可以接受赋值,当已经赋值后,在一次运算结束前,不允许再次按其他运算符的键,否则会显示“不能重复运算!”,用来提醒。
(7)等号
当按下等号后,根据之前输入的两个操作数和运算符,计算出相应的结果并显示,程序运行到这里,一次运算结束,所以运算符要清空,计算结束标志位要赋值为1,准备下一次运算。
四、scratch程序文件怎样转换乘H5或者exe文件
此部分操作可以参考scratch3的作品如何转换成H5或者exe文件
(一)转换成HTML5文件
打开 https://sheeptester.github.io/words-go-here/htmlifier/(如下图所示)速度可能比较慢,请耐心等待:
生成后的网页格式如下图所示。
(二)生成可执行exe文件
本步操作本人还没有验证,操作步骤直接引用的原文,感兴趣的朋友可以试一下。
以前我们分享过scratch2如何转换成exe的教程,但是它并不适用scratch3。Scratch3.0产生的文件是sb3文件,目前需要使用方法如下:
参考:https://scratch.mit.edu/discuss/topic/341617/?page=1
1、需要用到的软件
(1)下载并解压nwjs,下载地址:Downloads
(2)下载makesfx.exe,无需安装,双击即可运行。下载地址:Make SFX (Self-extracting archive)
2、下面开始介绍如何进行操作
(1)先转换成HTML5文件(操作如上一)
(2)把下载的project.html移动到nwjs-v0.42.2-win-x64.zip解压后的目录。并在该目录下建立一个icon图标文件如01.ico,以及配置文件package.json文件(可以用记事本创建,注意:保存时编码选为UTF-8,否则会报错)
package.json文件内容示例:项目名字,主程序文件,图标。(其中的冒号引号等是英文的)
{ "name": "您的应用程序或游戏名称", "main": "project.html", "icons": {"16":"01.ico"} }
如果不用图标,则删除project.html后面的最后一个逗号和图标行,否则需要有一个ico图标。
(3)此时,双击运行nw.exe,就可以预览效果了(并没有真正生成exe可执行文件)。
(4)运行makesfx.exe,指定目录、文件名和图标,制作成一个exe文件,如下图:
① nwjs-v0.42.2-win-x64.zip解压后的目录(包含nw.exe、package.json和所有其他文件的文件夹 )
② 目标SFX文件(exe文件保存的位置和名字)
③ 应用程序的图标ico文件
④ 选择nwjs解压目录下面的nw.exe
⑤ 单击“MakeSfx”按钮,将构建一个可执行文件——exe文件【文件比较大】
(全文结束)