Scratch

状课网-少儿编程网课专业平台

Scratch Scratch编程之抗击新冠游戏

发布时间:2021-12-09 17:00:35 浏览 0

  从2019年底开始,“新冠”一词开始被国人熟知。历经2年时间,多少人为疫情防控默默付出,甚至牺牲生命。在党和国家的坚强领导下,国内疫情很快得到全面控制,但是由于受国际大环境的影响,疫情防控常态化仍然要持续一段时间。今天,向大家分享一个以病毒知识为主线的编程案例。其实,我不赞同在少儿编程教育中为编程而编程,而是提倡以scratch为平台,融合多学科,结合生活实施STEAM教育。因此我们在开始案例制作前,可以先介绍一点有关病毒的知识。

一、关于病毒的一些知识

  病毒是一种微生物,个体十分微小,尺度在几纳米~几百纳米之间,在电子显微镜下才能看到。病毒是一种非细胞生物,结构特别简单,主要有外面的蛋白质外壳和内部的遗传物质组成,如图1所示。病毒不能独立生存,必须寄生在其他生物的细胞内,一旦离开活细胞它就不表现任何生命活动迹象。病毒的繁殖方式非常独特,它利用宿主细胞的物质来自主地合成自身的一些组件,将这些组建组装成一个新的个体,新繁殖的个体通过裂解宿主细胞把自己释放出来,再寄存其他细胞。病毒离开宿主后其实是很脆弱的,消毒水、酒精、高温和紫外线都能够轻易将它们杀死,但是病毒在宿主体内就比较难办了,如果没有疫苗的话,基本只能靠自身免疫。

Scratch编程之抗击新冠游戏

图1 病毒结构(图片来自网络)

  图2是几种比较著名的病毒,其中第一排从左边数第二个就是冠状病毒。引起当前疫情的新冠病毒就属于这一个病毒家族的一员

Scratch编程之抗击新冠游戏

图2 常见病毒(图片来自网络)

  好了,介绍完病毒知识,让我们看看今天分享的程序运行效果吧。

二、效果预览

  点击小绿旗运行后,程序初始化。病毒从舞台上方随机位置出现,向舞台下方随机位置移动。舞台的下方是注射器角色。注射器角色可以通过按下方向键“←”和“→”控制左右移动。按下空格键从注射器的头部释放出药水,并向上移动。药水碰到病毒,病毒被消灭,游戏得分增加1。如果病毒碰到了注射器,游戏得分减5分。当得分为负则游戏结束。

Scratch编程之抗击新冠游戏

图3 程序运行效果

三、程序角色和变量设置

  本游戏共有四个角色,如图4所示。

Scratch编程之抗击新冠游戏

图4 角色列表

  本游戏的角色没有直接导入背景库中的素材,而是使用Scratch自带的绘图工具绘制而成。病毒可以先绘制一个圆,然后先绘制一个病毒的刺突,再利用复制和镜像工具快速完成全部刺突的制作。注射器主要有四个长方形组合而成。药水也是一个较小的长方形。为了使药水能够从注射器的头部射出,一定要使注射器角色和药水角色的上端与造型编辑区的中心点对齐。文字角色可以直接使用文本工具输入文字。另外,程序脚本还需要用到三个变量,如图5所示。为了使编制的程序更易读,我一般要求学员在背景中对变量赋初值,如图6所示。

Scratch编程之抗击新冠游戏

图5 变量列表

Scratch编程之抗击新冠游戏

图6 背景中脚本

四、程序流程分析

  背景和角色确定好后,设计各角色的程序流程图。图7、图8、图9和图10分别对应注射器角色、病毒角色、药水角色和文字角色的程序流程图。根据给流程图编写脚本时,容易出错的地方是重复执行和条件判断的包含关系一定要正确。大家学习该案例时,建议先根据程序流程图独立编写程序,不要看程序脚本。

Scratch编程之抗击新冠游戏

图7 注射器角色程序流程图

Scratch编程之抗击新冠游戏

图8 病毒角色程序流程图

Scratch编程之抗击新冠游戏

图9 药水角色程序流程图

Scratch编程之抗击新冠游戏

图10 文字角色程序流程图

五、程序脚本编写

  根据各角色流程图很容易编写出脚本。图11是注射器角色脚本,图12、图13、图14是病毒角色脚本,图15和图16分别是药水角色和文字角色脚本。

Scratch编程之抗击新冠游戏

图11 注射器角色脚本

Scratch编程之抗击新冠游戏

图12 病毒角色脚本一

Scratch编程之抗击新冠游戏

图13 病毒角色脚本二

Scratch编程之抗击新冠游戏

图14 病毒脚本三

Scratch编程之抗击新冠游戏

图15 药水角色脚本

Scratch编程之抗击新冠游戏

图16 文字角色脚本

  四、测试与总结

  程序制作完成,通过测试可以发现已能够正常运行。本学习项目主要训练了角色绘制、克隆体的使用等知识和技能。本案例可以作为学生基本掌握克隆体的使用基本技能以后的综合练习。

  

  文章来源:汤老师教你学Scratch编程

本文链接:https://www.ascratch.com/news/17887.html

上一篇:Scratch编程之鼠标键盘控制角色移动的方法 下一篇:返回列表