Scratch 模拟病毒传染小程序

Scratch 模拟病毒传染小程序

欢迎来到我的博客!坚持比努力重要。

目录

学习目标

- 通过制作病毒传染程序熟悉变量模块中私有变量和全局变量的区别。
- 通过变量列表使用熟悉Scratch变量列表的使用。
- 通过背景音乐的设置了解声音类积木基本操作

程序目标

(一)程序中变量使用:点击绿旗后,伴随着音乐,实现实时测出人数的变化。
(二)程序变量列表使用:点击绿旗后,通过变量列表人数变化,使得人数发生变化。
(二)程序中声音设置:点击绿旗后,按下提前设置好的按键,能播放自己上传背景音乐。

程序流程图

- 自制程序流程图
在这里插入图片描述

背景和角色

- 背景

在这里插入图片描述

项目详解

1.变量模块

在这里插入图片描述
我们都知道scratch中的变量有两类,全局变量和私有变量。克隆变量因其隐秘,不为我们许多人所知。
1.全局变量
在这里插入图片描述
**任何角色都可以调用,使用简单。
2.私有变量
在特定角色中,我们可以设置新 ’ 变量 ’ 仅适用于当前角色,私有创建。在这里插入图片描述
因为是私有变量,则只能被当前角色调用,注意:其他角色的私有变量可以重名,全局变量不可重名。

创建完私有变量可以看到,屏幕上显示:
在这里插入图片描述
可以看到私有变量前面有角色名称

在这里插入图片描述
这里我们会思考,如何调用其他角色的私有变量那?我们通过侦测模块找到调用的方法
在这里插入图片描述
转化为下图
在这里插入图片描述
其中,猫是角色1的私有变量名 ,此时,我们便可调用私有变量,因为私有的,所以,私有变量值发生改变,不会影响其他变量。

3.克隆变量
为什么会有克隆变量那?比如,我们模拟病毒传播的程序中,假设,有100个健康的人,对于每一个人来说,他们都有自己的编号,属性,而这些变量有相同的属性,如果我们此时就要手动新建100个变量,这的样操作太麻烦,我们选择克隆,加一个循环便可以克隆100个,克隆本质,类似于数组,都是同一属性的事物。
新建被克隆的变量,原件

在这里插入图片描述

进行克隆操作,并使克隆变量的值+1
在这里插入图片描述
可以看到克隆体的变量值,全是1,没有变?为什么那?
在这里插入图片描述
因为克隆变量是一个独立的个体,克隆变量的值是 0 ,每次得到克隆变量的值也是0,不会,通过对一个克隆体操作,影响全部克隆体的数值,所以,下面引入一个中间变量,既控制变量的次数,也可以改变克隆得到克隆体的值

在这里插入图片描述
可以看到值发生变化
在这里插入图片描述

2.变量列表模块

创建变量列表,由于病毒传播过程中,健康,感染,治愈的人数时在发生变化,故建立一个变量列表,每一个列表代表一群人,他们具有相同属性,比如:健康
在这里插入图片描述

3.音乐模块

为了增强程序带给人的喜悦,快乐的感觉,加入了音乐选项,我们可以点击图片所示按钮,上传音乐:
在这里插入图片描述

4.代码区

1. 变量初始化

设置初始值,当绿旗被点击时,播放音乐,
模拟病毒未被传染的状态,引入人口总数全局变量,设置初始值100,健康的人数也是100,但是,程序开始后,随人口流动,动态检测,有人患病,而健康,感染,救治的人数都会发生变化,可以通过对应(健康/感染/救治)列表更新来检测,实时更新的(健康/感染/救治)人数变化。

在这里插入图片描述
2.模拟100个人
由于人数太多,建立100个变量,耗时耗人力,又存在相同的特性,通过克隆来解决100个变量,通过改变我的变量值(我的变量=被克隆变量=点点),改变克隆变量的值
在这里插入图片描述3.0对克隆变量的操作
初始化,由于模拟人群流动,故设置小球,出现在随机位置和移动的方向不同,

在这里插入图片描述

4.传播
其次,就是设置是否被感染,如果感染吗,就通过外观颜色进行变化,设置为玫红色,同时,进行列表更新 (和5治愈的类似,故不做说明)

在这里插入图片描述
5.治愈
通过检测,隔离速度和感染人数,只有两者值大于0,我们才能进行治疗,到治愈,如何治愈那,通过判断编号值和健康中第一项的值,如果两者值相同,说明救治成功,删除健康中第一项,始终是将第一项加入治愈中,所以,他的值只会被点点角色改变(注意:编个号的值始终为0 ,但它始终是第一项,健康/感染/治愈的第一项始终在变化),当克隆体减少,被救治的人数就越多。

在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值