第五章 第二节 scratch3.0变量详解
什么是变量?
还记得我们在接水果游戏中给游戏增加一个记分的score吗? score一开始被设成0,当接到水果后,我们让score增加一个数值。接到的水颗越多,score就越大。这里的score就是变量。
变量的定义:专业地讲,变量是被命名的计算机内存区域,一个变化的量,随着程序的运行,在不断改变。 “变量”是相对于“常量”来说的,“常量”就是存储的值是固定的,不会发生变化。
你可以把变量想象成一个盒子,程序随时都能存、取盒子中的数据。
当你创建一个变量时,程序会开辟一块内存区域存储它,同时给这块区域一个变量名。然后只需要使用变量名,即可获取并修改变量的值。
假设有一个名为side的存储了数字50的盒子(即变量),我们可以使用它构建积木,例如移动(3*side)步。当scratch3.0执行这块积木时,它首先在计算机内存中查找名为side的盒子,取出盒子内的数据(本例中即数值50),用它替换移动(3*side)步中的side。最后角色会移动150(即3×50)步。
建创和使用变量
https://files.cnblogs.com/files/youjianschool/DiceSimulator_NoCode.rar 下载文件
为了学习如何创建并使用变量,下面我们来制作一个掷骰子的小游戏。
大家可能都玩过掷骰子吧,一个骰子有6个面,每个面上分别刻着1、2、3、4、5和6的小圆点,代表着1点到6点。一般用两个骰子,当骰子静止时,谁的两个骰子的点数和最大就是胜出。
在这个小游戏中,舞台背景上一共有三个角色,分别是卡通人物player,两个骰子die1、die2。程序由角色Player启动,当绿旗被单击时,程序生成两个范围从1到6的随机数,并将其分别保存到变量rand1和rand2中。然后脚本给角色Die1和Die2广播一条消息,Die1将显示rand1的值,Die2将显示rand2的值。最后角色Player使用“说…”积木显示rand1和rand2之和。
首先我们新建两个变量,分别是rand1和rand2。然后将rand1和rand2的变量设定为1到6之间的随机的一个数。
当变量确定后,我们通过广播事件这个积木块广播一条消息"roll"。
roll 滚动 英 [rəʊl]
dice 英 [daɪs] 骰子;色子;掷骰游戏;掷骰赌博
我们在卡通人物player的脚本中编写如下脚本:
当两个骰子角色接收到广播掷骰子的消息后,将造型在1到6随机切换20次,这个过程主要是模拟掷骰子的过程,最后将骰子的造型切换到变量中的数值。这个时候骰子所显示的造型中的点数等于变量的值,舞台上的色子造型不再发生变化。接下来我们要计算出两个骰子的点数之和。
我们要进行一个加法运算,因为这个时候色子的点数等于相应的变量值,我们只要把两个变量相加,就能得到骰子的点数和。然后通过外观程序模块中的"说...."积木块将结果说出来并显示2秒,游戏结束。
分析下面的程序,当执行后 i等于几?