变量与骰子
2020-07-15intoweb
intoweb
变量是学习Scratch编程的一个重要知识点。下面我们通过一个简单的扔骰子动画,掌握变量的概念,了解变量的类型与范围,将随机变量加入程序,并用变量控制角色造型。学会用变量来为程序服务(如图1)。
脚本规划与流程设计
脚本规划与流程设计是进行编程创作的前置工作,需要确定与主题相关的舞台、角色、声音和对应脚本。
1. 脚本规划
背景:选取一个蓝色,背景→所有→Blue Sky2。
角色:选取一个法师,角色→人物→Wizard,选择造型“wizard-c”,将他放在舞台左侧。
角色“骰子”:骰子需要自行绘制,在造型中用矩形和圆绘制出骰子,矩形的圆角可以用橡皮擦做出来。骰子角色有6面,每一个面不同的点数代表不同造型。所以,我们要在这一个角色里面绘制6个造型。如图2所示:在绘制完第一个造型后,继续点击“绘制”来添加下一个造型(如图2)。
绘制完成后,再复制一个后,把骰子放在舞台中间位置。角色在舞台上的位置,如图3所示。
2. 流程设计
当点击绿旗后,男巫师发出指令,骰子开始转动,当骰子停止转动后,男巫师说出骰子上的点数相加的和。
变量的概念
变量来源于数学,英文是Variable。它是计算机语言中能储存计算结果或能表示值的抽象概念。
变量有两种类型:属性变量和用户自己建立的变量。
点击Scratch的变量模块组,出现“建立一个变量”和“我的变量”。通常,我们会使用“建立一个变量”来建立变量,以便存放程序执行过程中的临时数据或结果数据等等。
变量根据范围分为局部变量和全局变量。新建变量的时候,系统会询问变量的范围,适用于所有角色的即全局变量,适用于当前角色的即局部变量(如图4)。
选择“建立一个变量”后,为了方便区分不同变量,需要给变量命名。通常的规则是要把变量名定义为容易阅读和能够描述所含数据用处的名称,从而方便程序使用。这个例子会用到2个变量,因为角色是骰子,所以,我们的变量名就是“骰子1”和“骰子2”,变量范围选择“适用于所有角色”即可。
在我们点击变量组模块时,Scratch为我们提供了变量的四项基本积木选项(如图5)。
当变量名称创建完成后,创建的变量就显示在了舞台区左上方(也可以用鼠标左键按住它进行拖动),并且点击“我的变量”后面的白色倒三角,我们创建的变量名也可以找到了(如果不需要变量显示出来,你可以将变量名前的“√”去掉,或者选择使用“显示变量‘骰子1”和“隱藏变量‘骰子1”控制变量显示)。
变量的取值和使用
在角色、造型、大小和变量名等基本设置完成后,我们就可以进行脚本的编写了。
1. 首先是角色Wizard的脚本,由于骰子的6面代表6个数字,所以变量的取值范围就是“在‘1和‘6之间的随机数”。
接下来,要通过男巫师发出一个“旋转”的消息指令让骰子转动起来,我们可以选择使用事件组的积木“广播‘旋转并等待”来实现。
当骰子接收到消息后,就执行旋转。显然,这个“旋转”并不是使用右转或者左转使骰子自己转动起来,而是让它的6个造型进行变换。所以,我们可以设定让它的造型快速变换20次。
2. 让骰子的造型进行快速变换后,最终的造型要固定下来,我们才能将最终答案写出来。所以,还需要通过变量名称“骰子1”和“骰子2”来完成。通过之前的分析,我们知道了骰子有6面造型,所以将变量“骰子1”和“换成‘造型”结合起来成为“换成‘骰子1造型”。由此可见,骰子最后的造型就是骰子执行旋转后最终的取值。骰子2也执行跟骰子1一样的程序即可。这样,我们就完成了骰子的所有脚本了(如图6)。
3. 最后,回到男巫师角色,他要说出两个骰子造型上点数的和。因此,这个“和”要选择运算模块表示相加的积木来完成,即“说‘骰子1+‘骰子2‘2秒”。
到此,我们也完成了角色Wizard的所有脚本(如图7)。
程序检测
我们完成整个程序的编程后,我们需要对程序进行检测与验证,尽力做到完美。在这里,我们可能会发现角色Wizard最后的说被变量名挡住了,所以,我们可以把变量名向右侧移动开即可。
总结:变量与骰子的案例将Scratch中变量的相关知识做了一个简单介绍,还需要大家通过不断的编程训练才可以掌握得更好。变量在编程案例中运用得很广泛,不断探索,才可以举一反三。