内容正文:
教案式少儿编程教程
【初级】
(第一版)
全部教程共四册:入门级、初级、中级、高级
入门级:108个案例 配套30课视频课程 配套30课教案
初 级:186个案例 配套30课视频课程 配套30课教案
中 级:60个案例 配套30课视频课程 配套30课教案
高 级:20个案例 配套10课视频课程 配套10课教案
【初级:第30课】猫抓老鼠(简易人工智能)
【本课说明】
本课设计一个自动化的猫抓老鼠的游戏,当猫咪听到老鼠的声音后,就抓住老鼠了。一方面,老鼠的声音音量在一个时间段随机产生一次,与老鼠距离猫咪的远近没有关系。另一方面,如果老鼠出现声音,声音与老鼠和猫咪的距离是有关系的,距离越远,声音越小。
【知识技能】
(1) 循环控制指令。
(2) 新建变量及其应用。
(3) 角色的移动、旋转、碰到边缘就反弹。
(4) 侦测指令。
(5) 随机数的产生及其应用。
(6) 条件判断指令。
(7) 广播与接收及其应用。
【课程引入】
猫首先是根据听觉来发现老鼠的,然后才是视觉和嗅觉。失去听觉的猫在抓老鼠时会碰到很大困难,但是它的捕猎本能是不会改变的,只要它看到老鼠,依然是会攻击的。本课我们假设猫咪是一只失明的猫,只能靠听觉来抓老鼠。
问题分析:(1)老鼠在舞台上按照一定速度连续地移动到一个随机位置。(2)老鼠随机发出声音,声音的初值设定为50。设定猫咪听到老鼠声音值大小,本课设定为20。(3)由于声音与距离成反比,所以,猫咪最终能听到老鼠的声音是:(老鼠的音量/老鼠与猫咪的距离)X100。(4)当猫咪听到老鼠声音后,去抓老鼠。如果抓到老鼠,老鼠又随机出现在舞台上。
【教学步骤】
(1) 打开Scratch离线系统,显示Scratch编程主界面。
(2) 选择主界面左下方“舞台1背景”,选择主界面中间“背景”,点击“新建背景”中空白背景“背景1”,在主界面右侧画板区域,鼠标移到画板工具栏第六个图标显示“用颜色填充”,点击该图标,在画板下方颜色区域,选择黑色,鼠标移到画板区域,左键单击,画板填充为黑色,即舞台背景是黑色的。
(3) 添加老鼠:
(4) 选择主界面左下方“新建角色”,点击第三个图标“从本地文件中上传角色”,将预先准备好的“anna-1”上传。
(5) 选择主界面左下方“角色”,点击“anna-1”左上方小“i”,改名为“老鼠”,点击左侧蓝色箭头确定。
(6) 选择主界面中间“造型”,点击“新建造型”中第三个图标“从本地文件中上传造型”,将预先准备好的“anna-2”上传。
(7) 选择主界面中间“脚本”中的“事件”,将其中的“当...小绿旗..被点击”拖动到脚本空白区域。
(8) 选择主界面中间“脚本”中的“动作”,将其中的“移到x:0 y:0”拖动到“当...小绿旗..被点击”的下面。
(9) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“在1到10间随机选一个数”拖动到“移到x:0 y:0”参数x:0的里面,将其中的参数x:0修改为x:-220,将其中的参数y:0修改为x:220。
(10) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“在1到10间随机选一个数”拖动到“移到x: 在-220到220间随机选一个数 y:0”参数y:0的里面,将其中的参数x:0修改为-150,将其中的参数“10”修改为150。
(11) 选择主界面中间“脚本”中的“声音”,将其中的“将音量设定为100”拖动到“移到x:在-220到220间随机选一个数 y:在-150到150间随机选一个数”的下面,将其中的参数“100”修改为50。
(12) 选择主界面中间“脚本”中的“外观”,将其中的“将角色的大小设定为…”拖动到“将音量设定为50”的下面,将其中的参数设置为15。
(13) 选择主界面中间“脚本”中的“控制”,将其中的“重复执行”拖动到“将角色的大小设定为15”的下面。
(14) 选择主界面中间“脚本”中的“数据”,将其中的“将…设定为0”拖动到“重复执行”的里面,点击其中的倒三角选择“老鼠死亡”,并将其中的参数“0”修个为:否。
(15) 选择主界面中间“脚本”中的“外观”,将其中的“显示”拖动到“将 老鼠死亡 设定为否”的下面。
(16) 选择主界面中间“脚本”中的“控制”,将其中的“重复执行直到…”拖动到“显示”的下面。
(17) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“…=…”拖动到“重复执行直到…”的后面。
(18) 选择主界面中间“脚本”中的“数据”,将其中的“老鼠死亡”拖动到“…=…”等号的左边,在等号的右边输入参数:是。
(19) 选择主界面中间“脚本”中的“动作”,将其中的“移动10步”拖动到“重复执行直到 老鼠死亡=是”的里面,将其中的参数“10步”修改为1步。
(20) 选择主界面中间“脚本”中的“控制”,将其中的“等待1秒”的下面,将其中的参数“1秒”修改为0.01秒。
(21) 选择主界面中间“脚本”中的“外观”,将其中的“下一个造型”拖动到“等待0.01秒”的下面。
(22) 选择主界面中间“脚本”中的“动作”,将其中的“碰到边缘就反弹”拖动到“下一个造型”的下面。
(23) 选择主界面中间“脚本”中的“控制”,将其中的“如果…那么”拖动到“碰到边缘就反弹”的下面。
(24) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“…=…”拖动到“如果…那么”之间。
(25) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“在1到10间随机选一个数”拖动到“…=…”等号的左边,将其中的参数“10”修改为“100”,在等号的右边输入参数:1。
(26) 选择主界面中间“脚本”中的“动作”,将其中的“向右旋转15度”拖动到“如果 在1到100间随机选一个数=1 那么”的里面。
(27) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“在1到10间随机选一个数”拖动到“向右旋转 15 度”参数15的里面,将其中的参数“10”修改为“360”。
(28) 添加老鼠说话:
(29) 选择主界面中间“脚本”中的“控制”,将其中的“如果…那么”拖动到“如果 在1到100间随机选一个数 =1 那么”的最下面。
(30) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“…=…”拖动到“如果…那么”之间。
(31) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“在1到10间随机选一个数”拖动到“…=…”等号的左边,将其中的参数“10”修改为“1000”,在等号的右边输入参数:1。
(32) 选择主界面中间“脚本”中的“控制”,将其中的“等待1秒”拖动到“如果 在1到1000间随机选一个数 =1 那么”的里面。
(33) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“在1到10间随机选一个数拖动到“等待1秒”参数“1秒”的里面,将其中的参数“10”修改为2。
(34) 选择主界面中间“脚本”中的“外观”,将其中的“说 Hello! 2秒”拖动到“等待 在1到2间随机选一个数 秒”的下面,将其中的参数“Hello!”修改为“老鼠怕猫,这是传谣”。
(35) 选择主界面中间“脚本”中的“控制”,将其中的“等待1秒”拖动到“说 老鼠怕猫,这是传谣 2秒”的下面。
(36) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“在1到10间随机选一个数”拖动到“等待1秒”参数“1秒”的里面,将其中的参数“10”修改为2。。
(37) 添加老鼠声音:
(38) 选择主界面中间“脚本”中的“控制”,将其中的“如果…那么”拖动到“如果 在1到1000间随机选一个数 =1 那么”的最下面。
(39) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“…=…”拖动到“如果…那么”之间。
(40) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“在1到10间随机选一个数”拖动到“…=…”等号的左边,将其中的参数“10”修改为“100”,在等号的右边输入参数:1。
(41) 选择主界面中间“脚本”中的“声音”,将其中的“播放声音…”拖动到“如果 在1到100间随机选一个数 =1 那么”的里面。
(42) 选择主界面中间“声音”,点击“新建声音”中第一个图标显示“从声音库中选取声音”,在“分类”的“动物”栏中,找到“cricket”。
(43) 选择主界面中间“脚本”,在右侧主界面中找到“播放声音…”,点击其中的倒三角选择“cricket”。
(44) 选择主界面中间“脚本”中的“事件”,将其中的“广播…”拖动到“播放声音 cricket”的下面,点击其中的倒三角选择“新消息”,在“消息名称”中输入“老鼠吱吱声”,点击确定。
(45) 选择主界面中间“脚本”中的“外观”,将其中的“隐藏”拖动到“重复执行直到 老鼠死亡= 是”的最下面。
(46) 选择主界面中间“脚本”中的“动作”,将其中的“移到x:0 y:0”拖动到“隐藏”的下面。
(47) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“在1到10间随机选一个数”拖动到“移到x:0 y:0”参数“x:0”的里面,将其中的参数“1”修改为“-220”,将其中的参数“10”修改为220。
(48) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“在1到10间随机选一个数”拖动到“移到x:在-220到220间随机选一个数 y:0”参数y:0的里面,将其中的参数“1”修改为-150,将其中的参数“10”修改为150。
(49) 选择主界面中间“脚本”中的“控制”,将其中的“等待1秒”拖动到“移到x:在-220到220间随机选一个数 y:在-150到150间随机选一个数”的下面。
(50) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“在1到10随机选一个数”拖动到“等待1秒”参数1秒的里面,将其中的参数“10”修改为“4”。
(51) 下面是角色“猫”的脚本。
(52) 选择主界面左下方“角色”,点击“Sprite1”左上方小“i”,改名为“猫”,点击左侧蓝色箭头确定。
(53) 选择主界面中间“造型”,点击“造型1”,在主界面右侧画板中,给猫咪画上一副黑色眼睛。
(54) 选择主界面中间“造型”,点击“造型2”,在主界面右侧画板中,给猫咪画上一副黑色眼睛。
(55) 选择主界面中间“脚本”中的“事件”,将其中的“当...小绿旗..被点击”拖动到脚本空白区域。
(56) 选择主界面中间“脚本”中的“动作”,将其中的“面向 90 方向”拖动到“当...小绿旗..被点击”的下面。
(57) 选择主界面中间“脚本”中的“外观”,将其中的“将角色的大小设定为100”拖动到“面向 90 方向”的下面,将其中的参数“100”修改为50。
(58) 选择主界面中间“脚本”中的“外观”,将其中的“说 Hello! 2秒”拖动到“将角色的大小设定为50”的下面,将其中的参数“Hello!”修改为“虽然我看不到,但我听觉很灵哦”,并将其中的参数“2秒”修改为4秒。
(59) 选择主界面中间“脚本”中的“事件”,将其中的“当接收到…”拖动到脚本空白区域,点击其中的倒三角,选择“老鼠吱吱声”。
(60) 选择主界面中间“脚本”中的“数据”,点击“新建变量”,在“变量名”中分别输入“听到老鼠音量”和“老鼠死亡”。
(61) 选择主界面中间“脚本”中的“数据”,将其中的“将…设定为0”拖动到“当接收到 老鼠吱吱声”的下面,点击其中的倒三角选择“听到的老鼠音量”。
(62) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“…*…”拖动到“将 听到的老鼠音量 设定为0”参数“0”的里面,将乘号的左边输入参数“100”。
(63) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“…/…”拖动到“100 *…”乘号的右边。
(64) 选择主界面中间“脚本”中的“侦测”,将其中的“…of…”拖动到“…/…”除号的左边,点击其中第一个倒三角选择“音量”,点击其中第二个图标选择“老鼠”。
(65) 选择主界面中间“脚本”中的“侦测”,将其中的“到…的距离”拖动到“音量 of 老鼠 /…”除号的右边,点击其中的倒三角选择“老鼠”。
(66) 选择主界面中间“脚本”中的“控制”,将其中的“如果…那么”拖动到“将 听到的老鼠音量 设定为 100* 音量 of 老鼠 /到 老鼠 的距离”。
(67) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“…>…”拖动到“如果…那么”之间。
(68) 选择主界面中间“脚本”中的“数据”,将其中的“听到的老鼠音量”拖动到“…>…”大于号的坐标,在大于号的右边输入参数“20”。
(69) 选择主界面中间“脚本”中的“动作”,将其中的“面向…”拖动到“如果 听到的老鼠音量>20 那么”的里面,点击其中的倒三角选择“老鼠”。
(70) 选择主界面中间“脚本”中的“控制”,将其中的“重复执行直到…”拖动到“面向 老鼠”的下面。
(71) 选择主界面中间“脚本”中的“数字和逻辑运算”,将其中的“…=…”拖动到“重复执行直到…”的后面。
(72) 选择主界面中间“脚本”中的“数据”,将其中的“老鼠死亡”拖动到“…=…”等号的左边,在等号的右边输入参数:是。
(73) 选择主界面中间“脚本”中的“外观”,将其中的“下一个造型”拖动到“重复执行直到 老鼠死亡 =是”的里面。
(74) 选择主界面中间“脚本”中的“动作”,将其中的“移动10步”拖动到“下一个造型”的下面。
(75) 选择主界面中间“脚本”中的“控制”,将其中的“如果…那么”拖动到“移到10步”的下面。
(76) 选择主界面中间“脚本”中的“侦测”,将其中的“碰到…?”拖动到“如果…那么”之间,点击其中的倒三角选择“老鼠”。
(77) 选择主界面中间“脚本”中的“数据”,将其中的“将…设定为0”拖动到“如果 碰到老鼠?那么”的里面,点击其中的倒三角选择“老鼠死亡”,并将参数“0”修改为:是。
(78) 选择主界面中间“脚本”中的“动作”,将其中的“碰到边缘就反弹”拖动到“如果 碰到老鼠 那么”的最下面。
(79) 选择主界面中间“脚本”中的“外观”,将其中的“将 颜色 特效设定为0”拖动到“重复执行直到 老鼠死亡=是”的最下面,点击其中的倒三角选择“超广角镜头”,并将其中的参数“25”修改为20。
(80) 选择主界面中间“脚本”中的“声音”,将其中的“播放声音…”拖动到“将 超广角镜头 特效设定为20”的下面,点击其中的倒三角选择“Cat”。
(81) 选择主界面中间“脚本”中的“控制”,将其中的“等待1秒”拖动到“如果 听到的老鼠音量>20 那么”的最下面,将其中的参数“1秒”修改为“0.4秒”。
(82) 选择主界面中间“脚本”中的“外观”,将其中的“将 颜色 特效设定为0”拖动到“等待0.4秒”的下面,点击其中的倒三角选择“超广角镜头”。
(83) 选择主界面中间“脚本”中的“外观”,将其中的“面向 90 方向”拖动到“将 超广角 特效设定为0”的下面。
(84) 至此,程序(脚本)编写完毕。我们点击主界面左上方的“小绿旗”,程序就开始执行了。
(85) 老鼠移到猫的范围内,老鼠就被逮住了。
【举一反三】
(1)小朋友,动动脑筋,如何让猫咪抓住老鼠的概率更大一些(即游戏中出现猫咪抓到老鼠的次数多一些)?试试吧!
(2)完善本课,让猫咪也动起来,猫咪在到处寻找老鼠,是不是更加符合实际啊!
【本课脚本】
(1) 角色“猫”
(2) 角色“老鼠”
同学们,再见
编程可以培养孩子以下重要能力:
一、逻辑推理--抽象思维能力。
二、数学计算--数据化思考能力。自己编程实现逻辑的过程非常锻炼智力。
三、问题解决--跨界思考能力。
四、创新思维--系统工程思维能力。思考与设计游戏规则。
五、联想判断--分析归纳能力。
六、耐心缜密--合作自信能力。
七、动手能力--动手实现程序逻辑以验证自己的思路。
八、美术与音乐修养--给游戏设计图片、背景音乐、各种音效。
九、在这里,孩子是导演!
【友情提示】
尊敬的老师、亲爱的小朋友:你在使用本课程时,请打开Scratch离线系统,在主界面的左上方,找到标签“文件”,点击“文件”,在出来的下拉菜单中点击“打开”,此时让你选择要打开文件的“路径”,你可以选择本课附带的“XXX.sb”文件。
此时,本课所有的程序(脚本)和角色等都会出现在主界面上。老师可以讲课,学生可以编辑学习。
1
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$