第29课 小朋友都来猜一猜 29.1课程简介 (1)本课的课程名称是“小朋友都来猜一猜”。小朋友,我们都喜欢猜谜语。本课我们设计一个猜数字的游戏。 (2)构思和设计这样一个小游戏:游戏开始时,老师先简介游戏规则;先出第一道题,然后出第二道题,以此类推,当按下空格键时,游戏结束;对于某一道题,结果猜对且猜的次数小于6次,获一等奖。猜对且猜的次数小于11次,获二等奖。其余获鼓励奖。 (3)课时建议:请参考1.1。 29.2课程准备 请参考1.2。 29.3课程的STEAM元素 (1)科学:小朋友,猜数字是有方法的。 下面是一个古老的游戏,原来的名字叫作“八仙过海”,其中的“诀窍”可以用现在计算机的二进制解决。 取八张卡片分别写上数字0~7,按图29.1放置。请你的同伴默记某一数字,但不要说出具体的数字,只要告诉你他心中记的数字在上一排还是下一排就可以了。 图29.1 猜数字-1 你按图29.2所示的顺序把卡片收迭起来,再按图29.3所示的顺序摊放开,于是就成了图29.4。请你的同伴再讲一次在上一排还是在下一排。 图29.2 猜数字-2 图29.3 猜数字-3 图29.4 猜数字-4 再按图29.2收迭起来,按图29.3摊放开,成图29.5所示。再请你的同伴讲一次,你就可以猜出他心中默记的是什么数字了。 图29.5 猜数字-5 你想想看用什么办法算?“诀窍”是:第一,凡是上一排都算“0”,下一排都算“1”,把上下两排“翻译”成0与1两个数,姑且把这里的“0、1”叫作“位置数”。 第二,第一次的位置数乘以4;第二次的位置数乘以2;第三次的位置数乘以1,积相加就行了。 举例:假设你的同伴记的数第一次在下排,第二次在上排,第三次在下排,则“翻译”成第一次“1”,第二次“0”,第三次“1”。你的同伴记的数为:1×4+0×2+1×1=5。 我们不妨再进一步研究一下,列出如表29-1所示的表格。 表29-1?猜数字游戏说明 次数  位置数 数字 第一次 第二次 第三次 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 从表格中我们可以看出把第一、第二、第三次的“位置数”按顺序排列在一起就是各个数字对应的二进制数码,即010=0002;110=0012;210=0102;310=0112;410=1002;510=1012;610=1102;710=1112……再看上面举的例子:你的这位同伴第一、第二、第三次的“位置数”按顺序组成了二进制数码101,翻译成十进制数时是这样的:1012=1×22+0×21+1×20=1×4+0×2+1×1=5 (2)工程:请参考1.3。 (3)技术:请参考1.3。 (4)艺术:请参考1.3。 (5)思维和能力:请参考1.3。 29.4提问与想象 本课旨在围绕主题让学生提出感兴趣的可以探讨的主题。课堂上,创设问题情境是关键,教师让学生想象设计猜数字的游戏,怎样通过编程实现?教师要重点指导学生创作和设计本作品的方案,并阐述其中的想法。 (1)人们靠什么猜谜语?是完全的冒碰吗? (2)人们猜数字有什么方法和规律? (3)如何通过编程实现本课的小游戏? 29.5讨论与计划 本课旨在思考解决问题的对策和实现的方法。不同小组的同学提出了各种实现猜数字游戏的方案和办法,说明本作品实现的原理和所需的素材,探讨创作中的STEAM元素。教师要重点指导确定作品设计的最终方案,并准备相关素材。 29.5.1 设计方案 (1)请参考1.5.1。 (2)程序开始执行时,老师先简介游戏规则;紧接着,先出第一道题,然后出第二道题,以此类推。 (3)对于某一道题,结果猜对且猜的次数小于6次,获一等奖。猜对且猜的次数小于11次,获二等奖。其余获鼓励奖。 (4)当按下空格键时,游戏结束。 (5)给本课动画配上音乐,培养学生的音乐艺术素养。选择什么音乐好呢?我们从网络上下载儿童歌曲《猜谜谣》。注意,音乐的内容、节奏和风格等应该与本课动画相呼应。 29.5.2 素材准备 (1)老师:设计一个角色“老师”,如图29.6所示。 图29.6 老师 (2)学生:设计一个角色“学生”,如图29.7所示。 图29.7 学生 (3)提示信息:设计一个角色“提示信息”,如图29.8所示。 图29.8 提示信息 (4)背景:根据本课内容,我们应该设计一幅类似教学场所的图片。在这里,我们设计一间教室,如图29.9所示。 图29.9 教室 (5)音乐:请参考1.5.2。从网络上下载儿童歌曲《猜谜谣》。 29.6设计与创作 本课旨在通过学生亲自实践,设计并完善作品。不同小组的同学动手设计作品,记录问题。教师要重点指导设计程序的创作步骤、重点和难点。 29.6.1 打开已有项目 请参考1.6.1。 29.6.2 新建一个项目 请参考1.6.2。 29.6.3 编写代码 1. 老师的代码 请参考1.6.3。按照图29.10~图29.18所示,用鼠标从主界面左侧的指令库里拖动指令到代码区域。 图29.10 老师的代码-1 图29.11 老师的代码-2 图29.12 老师的代码-3 图29.13 老师的代码-4(此图接图29.12) 图29.14 老师的代码-5(此图嵌入图29.13中) 图29.15 老师的代码-6 图29.16 老师的代码-7 图29.17 老师的代码-8 图29.18 老师的代码-9(此图嵌入图29.17) 2. 学生的代码 请参考1.6.3。按照图29.19和图29.20所示,用鼠标从主界面左侧的指令库里拖动指令到代码区域。 ? 图29.19 学生的代码-1?图29.20 学生的代码-2 3. 提示信息的代码 请参考1.6.3。按照图29.21所示,用鼠标从主界面左侧的指令库里拖动指令到代码区域。 图29.21 提示信息的代码 4. 背景的代码 请参考1.6.3。按照图29.22和图29.23所示,用鼠标从主界面左侧的积木库里拖动积木到代码区域。 图29.22 背景的代码-1 图29.23 背景代码-2 5. 运行程序 (1)请参考1.6.3。 (2)请参考1.6.3。程序执行的效果截图如图29.24和图29.25所示。 图29.24 程序执行效果截图-1 图29.25 程序执行效果截图-2 29.6.4 要点和难点说明 (1)编写任何程序,都要为程序“赋初值”,包括角色的位置、大小、方向、造型、变量、背景、角色是否显示等。 (2)作品创作的第一步也是最重要的,不是编写代码,而是作品的创意及其实现方案和步骤。在这里,作品设计者就是编剧和导演,作品应该体现其教育意义,具有趣味性、实践性、跨学科、融合性的特征。根据创意和方案来设计程序代码,程序设计好后,通过程序的试运行,检验程序的正确性,特别是要验证程序是否实现了我们的创意,即是否达到了我们的目的和期望的效果。 (3)本课游戏的游戏规则是:老师简单介绍游戏规则;先出第一道题,然后出第二道题,以此类推,当按下空格键时,游戏结束。对于某一道题,结果猜对且猜的次数小于6次,获一等奖。猜对且猜的次数小于11次,获二等奖。其余获鼓励奖。 (4)本课新建了三个变量,分别是“猜的次数”“答案”和“题目数量”。变量“猜的次数”统计猜的次数以判断获奖等级;变量“答案”值的确定如图29.26所示,这是一个随机值,相当于是电脑程序抽题。 图29.26 变量“答案”值的确定 (5)变量“题目数量”的初值设为1,以后每执行一次“重复执行”(大循环或外循环),题目数量增加1,用于控制出题的数量;“重复循环”里的“重复执行直到……”(小循环或内循环),用于控制每一道题答案是否正确和猜的次数的判断,如图29.27所示。 图29.27 大循环和小循环的说明 (6)请参考1.6.3。 29.7测评与提升 请参考1.7。 29.8分享与展示 请参考1.8。 29.9反思与总结 请参考1.9。 29.10举一反三 (1)小朋友,参考本课设计一个智力题竞猜的游戏。如何实现呢?动动脑筋,开始吧! (2)改进本课动画游戏,将本课里老师和学生的“说……”录制成卡通的语音,小朋友,这样是不是更加有趣、更加友好呢?动动脑筋,试一试吧。 (3)同学们可以改变本课程序代码里的参数,执行一下,看看有什么变化?思考一下,为什么? 第30课 勇往直前突破封锁线 30.1课程简介 (1)本课的课程名称是“勇往直前突破封锁线”。小朋友,闯关游戏非常有意思,因为他具有挑战性,本课就是一个老鼠闯关的小游戏。 (2)构思和设计这样一个闯关小游戏: 老鼠突破障碍,操控键盘上的方向键(左移键、右移键和上移键,不能后退)移动老鼠到出口。本游戏的难度可以由玩家自己选择,难度有初级、中级和高级。老鼠通过障碍有5次机会,如果碰到障碍,次数减1次;如果次数超过5次或碰到猫咪,闯关失败。 (3)课时建议:请参考1.1。 30.2课程准备 请参考1.2。 30.3课程的STEAM元素 (1)科学:小朋友,适度玩游戏是有益的,但不能上瘾,要控制好玩游戏的时间,也不要玩不健康的游戏。什么是网络游戏呢? 网络游戏就是利用TCP/IP协议,以网络为载体,可以多人同时参与游戏项目,按照游戏内容架构可以将游戏分为角色扮演类、战略类、棋牌类等8类游戏。 网络游戏的积极作用:调整心理状态,发展自我意识。自我意识是指自我认知、自我体验和自我调控三个维度的统一体。确立自我认知,改善自我体验。自我体验是在自我评价的基础上对自己产生的情感体验。完善个性心理,由于网络游戏给大学生的心理状态和心理过程带来了变化,经常玩网络游戏在某种程度上就影响到大学生的个性心理,改变个性心理倾向,形成稳定的个性心理特征;促进人际交往,网络游戏可以改变大学生的沟通方式。 网络游戏的消极影响:网络为道德相对主义提供了温床,为许多不道德的行为提供了新的场所,网络的使用冲击了现存的道德规范;学生正处在身心发育阶段,一些学生网上游戏或聊天时间过长。由于大学生恋网,在相对封闭的环境里,使得他们在很大程度上失去了与别人现实中交往的机会,减弱了与他人在现实中交往的愿望。 任何事物都有其两面性,正如水能载舟亦能覆舟的道理一样,关键是怎样利用好的一面为人类造福,尽力减少坏的一面对人类的影响,这需要所有人都为此付出自己的努力。 (2)工程:请参考1.3。 (3)技术:请参考1.3。 (4)艺术:请参考1.3。 (5)思维和能力:请参考1.3。 30.4提问与想象 本课旨在围绕主题让学生提出感兴趣的可以探讨的主题。课堂上,创设问题情境是关键,教师让学生想象如何设计障碍更加科学有趣,怎样通过编程实现本课的小游戏。教师要重点指导学生创作和设计本作品的方案,并阐述其中的想法。 (1)游戏有哪几种分类? (2)什么是网络游戏?网络游戏有什么特点? (3)如何通过编程实现本课的小游戏? 30.5讨论与计划 本课旨在思考解决问题的对策和实现的方法。不同小组的同学提出了各种实现老鼠过障碍的方案和办法,说明本作品实现的原理和所需的素材,探讨创作中的STEAM元素。教师要重点指导确定作品设计的最终方案,并准备相关素材。 30.5.1 设计方案 (1)请参考1.5.1。 (2)程序开始执行时,让角色“光头强”简介游戏。紧接着,舞台出现“输入游戏难度”的信息,输入难度后,游戏正式开始。 (3)操控键盘上的方向键(左移键、右移键和上移键,不能后退)移动老鼠到出口;本游戏的难度可以由玩家自己选择,难度有初级、中级和高级;老鼠通过障碍有5次机会,如果碰到障碍,次数减1次;如果次数超过5次或碰到猫咪,闯关失败。 (4)给本课动画配上音乐,培养学生的音乐艺术素养。选择什么音乐好呢?我们从网络上下载“大转盘”背景音乐,再从系统自带的声音库里选择相关的声效。注意,音乐的内容、节奏和风格等应该与本课动画相呼应。 30.5.2 素材准备 (1)封锁线:设计四个角色“封锁线-1”“封锁线-2”“封锁线-3”和“封锁线-4”,分别如图30.1~图30.4所示。 图30.1 封锁线-1 图30.2 封锁线-2 图30.3 封锁线-3 图30.4 封锁线-4 (2)猫咪:设计三个角色“猫咪-1”“猫咪-2”和“猫咪-3”,三个角色均从系统自带的角色库里选择“Cat”,每个角色都有两个造型。 (3)光头强:设计一个角色“光头强”,如图30.5所示。 图30.5 光头强 (4)终点标识:设计一个角色“终点标识”,尺寸是960像素×40像素,如图30.6所示。 图30.6 终点标识 (5)背景:系统默认的背景是白色的,设计六幅背景,为节省篇幅,这里给出三个背景样式,如图30.7~图30.9所示。 图30.7 背景-1 图30.8 背景-2 图30.9 背景-3 (6)音乐:请参考1.5.2。 30.6设计与创作 本课旨在通过学生亲自实践,设计并完善作品。不同小组的同学动手设计作品,记录问题。教师要重点指导设计程序的创作步骤、重点和难点。 30.6.1 打开已有项目 请参考1.6.1。 30.6.2 新建一个项目 请参考1.6.2。 30.6.3 编写代码 1. 猫咪-1的代码 请参考1.6.3。按照图30.10~图30.12所示,用鼠标从主界面左侧的指令库里拖动指令到代码区域。 图30.10 猫咪-1的代码-1 图30.11 猫咪-1的代码-2 图30.12 猫咪-1的代码-3(此图接图30.11) 2. 猫咪-2和猫咪-3的代码 前面已经有了角色“猫咪-1”以及相应的代码。现在,在角色区域单击并指向角色“猫咪-1”,右击,在弹出来的菜单里选择“复制”,此时就会出现“猫咪-2”,选择“猫咪-2”,相应的代码也与“猫咪-1”相同。同理,再复制出一个“猫咪-3”。 三个猫咪的代码基本相同,所不同的是它们的初始位置。猫咪-2和猫咪-3的初始位置如图30.13和图30.14所示。修改“猫咪-2”和“猫咪-3”的相应指令 即可。 图30.13 猫咪-2的初始位置 图30.14 猫咪-3的初始位置 3. 封锁线-1的代码 请参考1.6.3。按照图30.15和图30.16所示,用鼠标从主界面左侧的指令库里拖动指令到代码区域。 图30.15 封锁线-1的代码-1 图30.16 封锁线-1的代码-2 4. 其余三个封锁线的代码 角色“封锁线-2”“封锁线-3”和“封锁线-4”的操作方法和代码与角色“封锁线-1”基本相同,所不同的是它们的初始位置和面向的方向不同。“封锁线-2”“封锁线-3”和“封锁线-4”的初始位置和面向的方向分别如图30.17~图30.19所示。 图30.17 封锁线-2的初始位置和面向方向 图30.18 封锁线-3的初始位置和面向方向 图30.19 封锁线-4的初始位置和面向方向 5. 老鼠的代码 请参考1.6.3。按照图30.20~图30.26所示,用鼠标从主界面左侧的指令库里拖动指令到代码区域。 图30.20 老鼠的代码-1 图30.21 老鼠的代码-2 图30.22 老鼠的代码-3(此图嵌入图30.21) 图30.23 老鼠的代码-4(此图接图30.22) 图30.24 老鼠的代码-5(此图接图30.23) ? 图30.25 老鼠的代码-6? 图30.26 老鼠的代码-7 6. 光头强的代码 请参考1.6.3。按照图30.27和图30.28所示,用鼠标从主界面左侧的指令库里拖动指令到代码区域。 图30.27 光头强的代码-1 图30.28 光头强的代码-2(此图接图30.27) 7. 终点标识的代码 请参考1.6.3。按照图30.29和图30.30所示,用鼠标从主界面左侧的指令库里拖动指令到代码区域(主界面中间)。 图30.29 终点标识的代码-1 图30.30 终点标识的代码-2 8. 背景的代码 请参考1.6.3。按照图30.31和图30.32所示,用鼠标从主界面左侧的积木库里拖动积木到代码区域。 图30.31 背景的代码-1 图30.32 背景的代码-2 9. 运行程序 (1)请参考1.6.3。 (2)请参考1.6.3。程序执行的效果截图如图30.33和图30.34所示。 图30.33 程序执行效果截图-1 图30.34 程序执行效果截图-2 30.6.4?要点和难点说明 (1)编写任何程序,都要为程序“赋初值”,包括角色的位置、大小、方向、造型、变量、背景、角色是否显示等。 (2)作品创作的第一步也是最重要的,不是编写代码,而是作品的创意及其实现方案和步骤。在这里,作品设计者就是编剧和导演,作品应该体现其教育意义,具有趣味性、实践性、跨学科、融合性的特征。根据创意和方案来设计程序代码,程序设计好后,通过程序的试运行,检验程序的正确性,特别是要验证程序是否实现了我们的创意,即是否达到了我们的目的和期望的效果。 (3)本课游戏的游戏规则是:老鼠突破障碍,操控键盘上的方向键(左移键、右移键和上移键,不能后退)移动老鼠到出口;本游戏的难度可以由玩家自己选择,难度有初级、中级和高级;老鼠通过障碍有5次机会,如果碰到障碍,次数减1次;如果次数超过5次或碰到猫咪,闯关失败。 (4)本课我们新建了两个变量“失败的次数”和“移动步数”。当老鼠碰到红色的封锁线一次,记录失败的次数,然后判断失败的次数是否超过了5次;本课玩家可以选择难度,初级、中级和高级所对应的移动步数是不同的,难度越大,移动步数就越大,因而移动速度就越快。 (5)一般来说,一个完整的游戏应该“有始有终”。游戏开始时,应该告诉玩家游戏规则和注意事项,游戏的不同结果也应该告诉玩家。本课中,游戏失败的原因有两个,即老鼠碰到了猫咪或碰到红色封锁线的次数超过了5次,这两种结果我们都通过背景(参见图30.8和图30.9所示)来告诉玩家。 (6)请参考1.6.3。 30.7测评与提升 请参考1.7。 30.8分享与展示 请参考1.8。 30.9反思与总结 请参考1.9。 30.10举一反三 (1)小朋友,老鼠突破封锁线很辛苦,设置若干个老鼠爱吃的奖品,当老鼠吃到奖品,机会增加一次,是不是更有意思呢?动动脑筋,开始吧! (2)改进本课动画游戏,本课四条封锁线都是有规律,按照恒定的速度左右移动的,让四条封锁线按照随机的速度左右移动,是不是更好呢?动动脑筋,试一试吧! (3)同学们可以改变本课程序代码里的参数,执行一下,看看有什么变化?思考一下,为什么?