作品介绍
Scratch模拟新冠疫情传播,这是第11届蓝桥杯Scratch国赛真题,出现在2020年10月31日举办的全国总决赛中,本题是编程题的第5题,难度系数为5。
背景信息:抗击新冠肺炎,隔离是非常重要的手段之一。通过隔离,可以最大限度地缩小污染范围,减少病毒传播机会。
编程实现:通过程序模拟在新冠肺炎传播过程中,采取隔离手段和不采取隔离手段的对比效果。白色小人代表健康人群,红色小人代表感染病击人群。
具体要求:
1). 左侧为不带隔商区的情况,右侧为带有隔离区的情况,左侧和右侧区域各有一个计时器,计时器初始值为0;

2). 点击绿旗,两侧区域分别自动随机生成20个小人(自色小人19个,红色小人1个)并随机移动(滑行模块参数设置为2秒),右侧区域的小人在隔商区外移动;

3). 此时计时器开始计时,每秒数字加1;
4). 红色小人碰到自色小人,白色小人被传染,变成红色小人;
5). 右侧区域中的自色小人被传染变红之后3秒被放在隔离区不再移动(第一个红色小人在开始计时3秒后进入隔离区);
6). 当左侧区域所有白色小人变红以后左侧计时器停止计时,同时左侧所有红色小人停止移动;
7). 右侧所有红色小人都在隔商区内,隔高区外没有红色小人,右侧计时器停止计时。

作品效果
Scratch模拟新冠疫情传播作品的效果如视频所示:
作品解读
本作品只有一个角色,也就是小人角色,它包括两个造型,分别是红色小人和白色小人。作品中会呈现四种不同的小人角色,分别是左侧的白色小人和红色小人,以及右侧的白色小人和红色小人,如何区分这些角色呢,这就需要使用私有变量,在克隆的时候,通过私有变量给每个克隆体打个标签,通过该标签对克隆体进行分类就可以了,这部分的代码如图所示:

本题将Scratch编程与新冠疫情相联系,将疫情传播的过程,以及隔离效果通过编程展示出来,让孩子加强疫情防范意识,是一道非常有意义的编程题目。
暂无评论内容