scratch项目:贪吃蛇(Scratch中变量、克隆体、关系运算和逻辑运算的综合应用)

cratch项目:贪吃蛇(Scratch中变量、克隆体、关系运算和逻辑运算的综合应用)
目录
学习目标
程序目标
程序流程图
背景和角色
任务拆解
初始化:打开贪吃蛇模板
任务一:完善食物脚本
任务二:头部脚本的完善
任务三:身体脚本的完善
难点详解
难点一:针对食物角色的初始化分析
难点二:记录头部座标与头部移动的先后关系
难点三:身体克隆的时间问题
难点四:克隆体的删除问题
拓展任务
挑战1:尝试设置多个食物;不同食物得分不同
挑战2:尝试加入障碍物或更多游戏结束条件
素材资源
补充说明
--------------加关注未来会有更多惊喜哦~--------------
目录
学习目标
知识与技能目标:
a)    熟悉Scratch中舞台座标的范围及角色中心点座标问题;
b)    掌握Scratch中变量和克隆体的使用;
c) 熟悉用随机数积木和数学运算积木构建角色有范围地随机产生座标的问题。
过程与方法目标:
a)    通过初始化食物的位置、确定蛇头移动范围来进一步熟悉舞台座标的范围、角色中心点座标、随机数的应用问题;
b)    通过将得分变量与身体克隆规则联系起来熟悉变量和克隆体的应用
程序目标
启动程序后,蛇每吃掉一个食物得分会加1,身体长度会变长1;如果蛇头碰到边缘程序结束(结束条件可增加)。
程序流程图


背景和角色


任务拆解
初始化:打开贪吃蛇模板
注释:在之前学习的基础上学生对于如何添加新背景及角色、对角色的位置及大小等状态属性进行初始化、用键盘控制角色运动等非常的熟悉,而本节课的重点是掌握变量和克隆体的应用,故以模板的方式直接发给学生,让学生在模板上进行本节课的操作。 模板完成的工作如下:

任务一:完善食物脚本
如果碰到食物,得分+1,食物移到下一个随机位置。得分为动态变化的量,在这里用【变量】存储,所以新建一个“得分”变量,并根据流程图对变量进行初始化,根据判断条件让得分变量自增。

食物完整脚本如下:

任务二:头部脚本的完善
身体要跟随头部运动,则头部的座标信息需要传递给身体,则首先要记录下头部座标。同样头部座标是动态变化的数据,所以用【变量来存储头部座标】。因为每一次的移动都要记录下来,所以要用到【重复执行】


最终得到头部角色的补充脚本如下:


(注:这里为什么要先存下头部座标信息后移动见难点详解)
3. 头部角完整脚本如下:


任务三:身体脚本的完善
身体要跟随头部运动,所以身体座标要与头部座标保持一致:
  
身体的克隆问题:得分后身体会变长,每一个身体的所有属性都与第一节身体的属性一致,所以我们用【克隆】来实现。每确定一次身体座标,就进行克隆。


(备注:【克隆性质】当克隆发生的那一刻,克隆体会继承原角色的所有状态,包括当前位置、方向、造型、效果属性等等)

克隆体的删除问题:克隆体启动之后利用等待时间,让克隆体在等待一定时间后再删除。

(注:这里克隆体的删除问题见难点详解)

身体完整脚本如下:


难点详解
难点一:针对食物角色的初始化分析
将舞台拆分成20×20的小方格,可以得到食物角色的随机出现范围:

故用随机数和数学运算表示如下:

难点二:记录头部座标与头部移动的先后关系
身体要跟随头部运动,则头部的座标信息需要传递给身体。在这里是先存储头部座标信息还是头部先移动呢?我们用流程图来看:

难点三:身体克隆的时间问题
先来看看克隆体的性质:

因为克隆体要继承身体角色所有的属性,所以要实习克隆体随着原身体角色的运动而运动,则应该先确定身体的座标信息,再进行复制(克隆):

难点四:克隆体的删除问题
在scratch中关于克隆体一共有三块积木,其中:

所以当克隆体启动之后我们要删除克隆体。如果克隆体一启动就删除,则无法看到身体变长(拖脚本运行一次就可得知)。所以要等待一定的时间之后再删除克隆体,那等待多长时间才能保证克隆体是跟着身体而运动的呢?
我们来分析一下得分和时间的关系:

由上图示我们可以得到:

拓展任务
挑战1:尝试设置多个食物;不同食物得分不同
挑战2:尝试加入障碍物或更多游戏结束条件
素材资源
注:项目的样例程序本次免费分享,如果觉得有用,点个赞或留个评论吧~

网盘链接:
链接:https://pan.baidu.com/s/1ZrRKSqG-78pkceqAwBML8A
提取码:kthf

补充说明
分享两个带详细步骤和难点说明的scratch入门项目教程,家长和老师朋友们可以在参考借鉴,链接如下:
scratch项目:运算帮帮帮(运算类积木、询问回答、数据与变量的应用)
scratch项目:聊天机器人(控制类之循环、条件语句;侦测类)
高级教程分享:
scratch高级进阶的游戏项目分享:(知识的综合应用),含项目源文件百度云盘链接
详细教程:如何把scratch文件转化为.exe可执行文件?(含转换器安装包链接)
————————————————
版权声明:本文为CSDN博主「王闹闹°」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/C_learnerwj/article/details/101602744

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章