粉丝2300获赞1292

同学们大家好,欢迎收看叮咚老师的少儿编程课堂,那这节课呢,我们要学习的作品叫做海峡竞速, 先来看一下效果演示,海上快艇,惊险又刺激,我相信呢,大家都比较喜欢玩,那么我们本期的课程啊,就是利用编程来制作一个海峡竞速的这样的一个小游戏。那我们先来看一下效果演示的视频, 加油,奥利给, 加油,奥利给。 好了,视频看完了,我们来分析一下这个作品呢,他要怎么完成,那么他大概呢分成几个部分啊?首先呢是地图, 它是用来规划快艇的一个路径,其次呢有一个快艇,那快艇呢,它是跟着鼠标来走, 如果说碰到地图了,他就回到原位,碰到水阀了,他也回到原位,那么水阀的作用呢,就是他在不断的转动来给这个游戏呢增加一些难度。那同时细心的同学呢,我相信也发现了啊,他还 还有一个计时器,就是到达终点以后呢,它会提示你啊,我们用了多久的时间到达终点的啊,那这个就是我们这个作品的一个思路啊,那接下来呢,我们来打开 scratch 变声软件,来一起制作一下这样的一个作品, 我们先将小猫删除掉,因为我们用不到它,哎,上传地图的背景,海峡竞速背景,嗯,回到这个代码区,然后呢再上传一个小船, 还有一个呢是水阀, 这些素材呢,老师会帮大家准备好啊,你们到时候呢,如果需要找老师私信啊,要一下这个素材就可以了。好,那现在呢,我们素材已经上传完了, 现在我们先写这个小船的程序啊,刚刚我们说小船是要干嘛呢?他是不是要先走起来,对吧?要跟着鼠标走起来,那我们最开始呢,先让他在这个起点的位置出现啊,好,也就是当绿旗启动的时候呢,我们让他移动到这个这个地方,就是只要在左左下角这里就可以了啊,我们 就拖这个移动啊,到这个坐标,然后呢啊,因为小船呢,他是呃有两个造型的,我们在正常行驶的时候呢,他是小船的造型,如果说碰到这个墙壁啊,或者说碰到有水阀的时候呢,他就要破碎,对吧? 那么所以说我我们最开始你看一下,他是要换成这个船的造型吧,啊,然后破碎以后换成这个碎裂的造型,所以啊,我们在最开始给他换成这个船的造型,好,然后让他面向上 面的这个方向,这个呢我们在前面都学过的啊,大家回忆一下面向上面的这个方向就可以,那我们来看一下啊,这样就可以了, 那么接下来呢,我们需要让这个船呀移动起来,对吧?那么他移动的时候怎么移动呢?是要跟着谁啊?跟着鼠标吧,所以他要面向谁的方向呀? 面向鼠标的方向,然后移动多少步,对不对啊?那么这个移动的步数呢,我们可以把它调的慢一点啊,如果你待会觉得你的游戏太简单了,你就把这个步数再调大啊,让他跑的更快一点,把难度增加一下啊,那么现在呢,这个过程我们是让他重复执行的吧, 所以给他增加一个重复执行,也就是说我们要让这个船呢重复的跟着鼠标来走啊,我们现在看一下能不能够实现这样的一个效果, 对不对?我们现在可以实现就是跟着鼠标来走了啊,这样的一个效果好 啊,那么接下来呢,我们说这个小船呀,他是如果说碰到这个呃墙壁啊,碰到墙壁 啊,或者说碰到这个水阀他要回到原位,对吧?那么我们先来写一下这个碰到墙壁的,那么碰到墙壁怎么检测呢?其实我们发现墙壁呢都是一种颜色,对吧?这种青色的颜色,所以啊我们在侦测里面找到一个呃,碰到什么颜色就可以了, 那这个颜色呢?我们可以采用这个提取器啊,来这个提取一下它的颜色。碰到这个这种颜色的时候呢 啊,我们让他回到什么?回到原位吧,回到原位就是我们刚刚的这个坐标啊,把它拿出来移到这个坐标的位置,那这个坐标多少呢?多少呢?负一九 五到啊?一,负一三二,负一三二,负一九五啊,那我们如果说碰到这个墙壁了就回到这个位置,那么怎么把它组合在一起呢?就要用到我们的分支条件了吧,对吧? 啊?分支分支的这样的一个结构啊,如果碰到这个颜色就回到这个位置啊,把它放到它的下面,我们来试一下啊, 对不对?碰到这个颜色以后呢,他就又回到了啊,这个最开始的一个位置。好,那现在呢我们已经呃可以实现这样的一个效果了,但是呢我们刚刚说过碰到墙壁的时候呢,这个船体就碎了,对吧?啊就碎了 啊,碎了之后呢我们就要把它换一下造型了,换成碎裂的这样的一个造型啊,换成碎裂的造型,然后呢我们再 让它有一个什么加油 aligate 的一个声音,对吧?那声音呢?老师也帮大家准备好了,我们来把它上传一下,有一个,呃,加油, 好,那么碰到这个,呃墙壁以后呢?我们让它播放一个加油 alligat 的一个声音, 好,来试一下,加加油加油加油啊,加油加油加油。他没有说完,对吧?那其实我那说明我们这个模块用的不太对啊,要用哪一个呢?要用这个啊,用这个。 好,再来看一下加油奥利给,对吧?这样的话他就可以,但是你发现他又怎么样?又没有回到这个,呃,没有变成 船这个原始的一个造型,对吧?那我们,呃在移到原位的时候呢,让他换回来啊,换到他原来的一个造型,换到船的一个造型, 好,然后呢让他其实面向什么方向也可以要,也可以不要啊?好,那现在呢?我们已经可以实现碰到墙壁啊,让他回来重新开始,对不对?还有一个呢,是碰到谁啊?碰到水阀,对吧?那碰到水阀呢?其实跟这个是一样的,我们直接把它复制一下,复制一下这个颜色呢?换成谁啊? 换成水阀的颜色,那么是不是就可以了呢?啊?或者呢我们也可以用一个,用一个逻辑关系啊,用个逻辑关系我们前面应该有学到,那逻辑什么呢?逻辑或,对吧?碰到墙壁或者碰到水阀,所以呢我们用逻辑关系吧,这样的话它 会相对来说程序代码量会少一点啊,那么我们碰到,呃这个水阀的颜色刚刚已经确定好了,直接可以删掉了啊,然后把它们两个呢结合在一起放到这,对不对?那我们来试试看 啊,如果你觉得这个有点慢啊,船跑的有点慢,那么你就把这个移动的速度啊给他加快。 好,我们碰到水阀看一下,加油奥利给 又回到了原始的位置,对吧?那现在呢,我们已经成功的可以侦测他是不是碰到墙壁了,或者和碰到这个水阀了,对不对?那么还有一个呢,刚刚细心的同学,我相信你也已经发现了什么呢?就 就是我们在经过这个白色的箭头的时候,他会怎么样?他会往前冲一段路,对吧?往前冲一段就是加速一下啊,那我们先写一下侦测到这个啊,白色的时候呢? 好,如果他碰到这个白色的箭头啊,碰到白色箭头,我们选取一下颜色, 放到白色箭头之后呢,我们让他往前冲一段啊,冲一段距离,那冲一段呢?就是啊,用一个这个移动多少步就好了,他会瞬间朝这个方向往前移动这么多啊?因为我们最开始是移动两步,对吧?那这个可以写一个五啊,我们来试试看啊,看他碰到你看, 加油奥利给。但是我们发现了一个问题,你看啊,如果我的鼠标没有跟得上奥利给,如果我们的鼠标 没有跟得上这个船的速度的话,他会,呃,冲的时候会在原地,对吧?他并不能冲出去,那么怎么办呢啊?我们就可以这个 让这个船呀跟鼠标始终保持一段距离,那怎么保持呢啊?我们就要在前面这个地方给他加一下,就是如果说啊,嗯判断一下传到鼠标的一个距离啊,如果 然后呢?谁到谁的距离,对吧?我们在这个侦测里面啊,有一个谁到谁的距离啊?这里有一个谁到谁的距离,我们来判断一下啊。如果是说,呃 鼠标啊,鼠标这个船到鼠标的距离大于一定的范围之后才再让船这个跟上去啊,如果说在这个范围之内呢就让他保持这么一段距离,所以我们用一个呃这个比较啊,小 小于几小于五吧啊如果说他小于五的时候呢,就让这个船呀啊一直跟着他走,把这个拖出来,就这样这样给他拼一下 啊。如果说这个鼠标距离传小于这个大于五厘米的时候再让他跟着走啊。如果说啊说错了,呃这个像这个地方反了啊,是大于五, 应该是大于五的时候啊,就让他继续跟着船走啊,跟着鼠标走。如果是说小于五的时候就让他保持这么一段距离就不走了,我们现在再来看一下, 对吧?现在可以实现了吧?你看经过这个白色箭头加油奥利给再往前冲一段距离对不对?好好,那现在呢我们已经可以实现了这么多的效果了。还有最终一个是什么呢?就是他 碰到这个终点,对吧?碰到终点,那么如果碰到终点呢?我们让他啊播放一个这个成功的一个音效啊,那么先来写一下如果 啊,如果碰到终点,那么终点是什么呢?终点是这个颜色啊,我们找一下 碰到这个颜色,那碰到这个颜色呢?我们让他先播放一个成功的音效,对吧?播放一个成功的音效,那么我们找到这样的一个声音,上传成功的声音,然后呢让他播放一下 啊,播放完了以后呢?还要说什么?就是他角色会告诉我们一共用了多长时间,对吧?啊?一共用了多长时间?那么这个时间怎么计算呢?啊?我们先不要着急, 我们需要通过一个变量来进行一个啊计时,我们这个呢可以写给谁啊?可以写给他,也可以写给背景啊?都可以,那我们就写给他吧,先来建立一个变量,建立一个变量名字就叫做时间, 然后呢我们在程序一开始呀,把这个时间给他变成零,对吧?啊?游戏开始的时候给他变成零,然后啊, 呃,让他不断的怎么样呢?啊?不断增加一对吧,一秒钟增加一。所以呢就是重复执行啊,每隔一秒钟 我们就把这个时间呀给他。呃,增加什么一对吧?这样的话,你看啊, 我们把这个时间勾选出来,放到这,放到这啊,把这个换成大字显示就好了,放到这个角落里面,好, 然后看一下,你看他是不是在已经有了一个计时的效果了,一秒钟加一,一秒钟加一,对吧?好,那我们来把这个程序完善一下,好完善一下。 呃,他如果说到达这个终点以后呢?播放一个成功的音效啊,然后我们让他说一段话,说呢是在外观里面,对吧?说啊,两秒钟啊,然后说啥呢?说啊?我们 这个登录成功啊,用了多长时间?那么在这里面我们在连接里面有一个这个啊,连接谁和谁,那么我们连接谁呢? 首先需要用到这个时间,对吧?变量时间啊,时间和秒对吧?啊?我们计时是秒啊,然后这这个肯定还不够吧?啊?不够,还不够。那么我们再来一个连接 啊,再拼到他的后面,然后把它放到这里。说什么呢?啊?我们登录一共 一共用了啊,用了这么多时间。秒就是我。假如说时间是十,对吧?就是我们登录一共用了十秒,然后说两秒钟,对不对?好, 然后说完以后呢?是不是游戏就结束了啊?游戏结束以后呢,我们就让这个停止啊,全部脚本, 这样就可以了,是不是?好,那么我们现在还缺一个什么呢?缺一个。呃,这个水阀,水阀要让他转动的吧,让他转动要增加一些难度啊增加一些难度,所以呢在最开始啊,我们让他重复执行。 执行什么呢?执行转动起来,转动,向右转动或者向左转动都可以啊,转动一度看一下,那么水阀是不可以转起来的。好, 那么最后呢我们再来添加一段背景音乐啊,背景音乐你也可以放到背景里面,也可以放到任何一个角色里面都可以。那我们就放到水阀里面吧,然后添加一下背景的音乐, 背景音乐好,然后让它播放重复执行。 好,我们来试试看啊,最终的效果,加油,奥利给好。加速,加速 好,这里有点危险,我就不加速了啊,你们可以自己试一下加速哦, 这里要慢一点啊,好,再来啊。 好,我们一共用了二十七秒,对吧?但是你发现我们到达以后呢,这个计时还没有停下来,对不对?为什么呢?因为你看啊,我们到达的时候呢, 你看到达的时候,呃,在什么时候停止了这个程序呢?你看要把这个先说了两秒以后才停止的程序,但这个时候那个计时还没结束,对吧?还没结束怎么办呢?啊?有没有什么办法可以解决这个问题呢? 啊?其实很好很好解决啊,我们最后呢将时间这里在呃,就是减小一个两秒就好就好了, 就是我们在这里说的时候啊,说的时候呢,写一个时间减二就可以了。那么怎么用呢?在这里啊,用个减法 时间减二,然后把它们再连在一起,这样就可以了,对不对?那大家可以自己试一下啊。 好,那现在呢,我们这个作品呢,做到这里啊,就已经全部学完了啊,那同学们呢?呃,你们可以自己来试一下啊,在没有老师讲解的时候呢,可以自己试一试啊,看一下你自己能不能完成或者说独立的完成这样一个作品,甚至呢在这个作品的基础上有一些创新好不好? 好,那么我们本节课呢,到这里就结束了啊,结束了,那么呃欢迎同学们和老师进行交流啊,如果你如果说你需要素材的话,可以和老师进行私信啊,私信。

嗨,同学们大家好,欢迎回到我们的编程课堂,我是熊博士。 今天,米勒熊逃离了大峡谷,来到了水流吞噬的海峡。在由障碍组成的道路中,米勒熊只能驾驶着一叶快船, 在狭窄的通道内摸索前进。在海峡内有隐藏的按流,对于我们来说,加速的按流既可以是帮助我们加速的推动器,也可能是我们不小心撞向障碍的黑手,这就需要我们来安稳指引,规划好路线。经过曲折的通道之后,我们来到了浅滩, 虽说胜利就在眼前,可是出现了一个不断旋转的水车,不过只要我们控制好速度,就能够来到黄色的沙滩获取胜利了。现在我们的程序效果已经展示完毕,接下来就一起进行下一步吧。 通过刚才展示的效果,我们需要分析解决问题的步骤,那么就用流程图来解决问题吧。 在点击开始程序后,我们首先初始画小船的位置以及造型,之后就让小船跟随我们的鼠标方向前进。和上节课很像的是,接着制作米小船碰到墙壁失败的反应,还有成功后获胜的判定。 最后就是要添加加速的白色箭头以及旋转的水车,还有添加计时功能。这样整个程序就大功告成了。 流程已经都分析好了,紧接着来一起编写程序吧。 首先点击小船角色初始化就是我们需要做的第一 件事情,那么小船角色的初始化就是为他添加初始化位置以及大小。首先拖出绿旗指令,接着再来到运动分区中,拖出一道 x 外指令,放入绿旗指令的下方。这样每次游戏开始,小船的位置都会固定起来。 接着我们可以从外观分区中找到换成什么造型指令,并点击到三角,把它更改为船。现在小船简单的初始化就做好了。 想要使小船向着鼠标移动,而不是跟着鼠标,这次我们使用的指令可能有一点不太一样了。我们首先找到控制分区中的重复直 紧接着找到运动区当中面向鼠标指令,把它放到重复执行的内部。点击率其测试一下。现在小船已经像指针一样时刻的指向我们的小船,那我们马上就让它跟着鼠标动起来吧。 从控制区中找到一个如果,那么指令以及侦测区的到鼠标指针的距离,还有运算区的大于指令。现在我们把鼠标指针的距离指令与大于指令拼接在一起,并在后方添加数字。五、判断条件已经建立好了,把它放到如果的后方。 从运动区当中找到移动十步指令,并把它更改为。二。把更改好的指令以及面向鼠标指令放到如果判断的内部。点击。立即试试看。我们的鼠标就像一个风向标一样在指引着小船向前进, 小船可以肆意航行了。有了上节课的经验,我们现在知道要做的就是为小船添加失败与成功的判定。话不多说,来左手跟着熊博士一起做一下吧。 先来从控制区当中拖出一个如果判断指令。找到针侧区当中的碰到颜色。按照老方法,我们来点击颜色。一起取一下墙壁的颜色,并把这个指令放到如果的后面。接着从外观区当中找到换成什么造型指令,并把它更改为碎裂。 然后拖出一个说两秒指令在内部添加压失败了,以及更改为一秒。小船撞到墙壁失败之后,我们希望他能够回到原点。这样我们 可以复制初始化的两条代码,放到他的下面,并把这些指令全部放入判断的内部,并把整个判断嵌入到重复执行当中。点击率其小船撞向墙壁已经损坏,并且回到初始位置了。小船的失败已经做好了。成功的判断也是和前面一样哦。 我们来照葫芦画瓢。拖出控制区的条件,判断侦测区的碰到颜色,选择沙滩的颜色。拖出外观区的说两秒指令,把它更改为页成功了,以及拖出控制区的停止。全部 稍稍组合一下,就能让小船到达沙滩时成功获胜。现在我们就可以引导小船抢摊登陆了。 陷阱的制作在我们的海峡地图上,大家有没有发现有很多只是箭头,这些箭头代表了可以让小船飞速前进的按流。那么大家一起来想一想,我们应该怎样实现呢? 电是在白色箭头上速度加快。我们就要对白色有一个判定。在控制区当中拖出一个如果,那么指令。然后从侦测区当中找到一个碰到颜色,取得水中白色箭头的颜色。接着只需要从控制区找到移动时部指令,并把它改为三 拼,接到一起加入重复执行中。点击立即实验一下。小船遇到了白色的箭头,速度变得风驰电掣。只要我们利用好加速,尽快到达终点不是问题。加速效果制作完毕,来一起试一下 下水车的转动吧。点击水阀角色,添加一个绿旗指令,从控制区找到重复执行。还有运动区的右转指令,并把它改为一度。 点击绿旗,水车转动。这时我们来一起想一下上节课当中我们犯下的错误。没有添加水车与小船的互动,这样即使他们相撞,小船也会毫无反应。 这样我们要回到小船角色。在失败的选择中添加内容。从侦测区找到碰到颜色指令,取色为水车的颜色。接着从运算区找到货指令,让两个判断条件拼接在一起,大功告成。现在我们就可以享受我们的竞速游戏了。 既然是禁速,我们就要有计时的功能。通过计时,我们可以来比对出谁的小船更加迅速。我们这次来点击背景区,我们要在背景区添加相应的计时功能。 首先突出力奇。接着我们来一起添加一个变量时间。从变量区中我们选择建立一个变量,命名为时间。接着为时间做一个初始化。从变量区中找到,将时间设为零指令。然后从控制区当中找到重复执行以及等待一秒。 也不要忘记,在等待一秒的下面添加控制区的将时间增加一指令。计时功能完成后,我们回到小船角色,突出两个运算区的连接指令以及变量区的时间。在成功的判定内部的说指令中添加两个连接指令以及时间指令。最终组成 成成功登录用十秒的结果。自此,我们的海峡竞速小游戏已经完全做好了。一起来进行游戏,享受冲浪躲避障碍的竞速快感吧! 完成了海峡竞速大比拼,那现在熊博士就来给大家科普一下什么是海峡吧。 海峡的形成其实与峡谷非常类似,都是大陆板块在相互作用下造成的地壳变化,这是常年累月演变而成的自然奇观。 海峡是指两个水域之间狭窄水上通道,它不仅是海上交通要道、航运枢纽,而且历来是并 增加必争之地,人称海上交通咽喉。海峡是由海水通过地下的裂缝,经长期侵蚀或海水淹没下沉的陆地地凹处而形成的。一般水较深,水流较急,且多漩涡。所以我们本节课隐藏在深水中的暗流是真实存在的哟。 自然的馈赠也经常引起我们的共鸣。熊博士面对此情此景,不免想要吟诗一首。朝辞白帝彩云间,千里江陵一日还。两岸猿声啼不住,轻舟已过万重山。这里知道熊博士书中描述的是哪里吗? 其实这是唐代诗人李白所做的早八白历程,诗中描绘的就是七百里三峡的情景,三峡之美,令人震惊。其实在这个世界上,还有太多太多的美景 和古迹等待我们发现,所以我们一定要多学习知识,用理论使自己成长,用我们的眼睛去见证更多的世界风光吧。 今天的程序已经全部讲解完毕了,在课程的最后,熊博士留给大家一个小问题,我们大家一起来想一想,在水中的 按流会不会影响我们前进呢?群博士为我们的程序添加了很多阻碍我们行动的水流,大家一起来试一试,避开他们,我们才能够成功登陆。

来看看三年级的同学能编出怎样的程序。大家好,我今天做了一个海峡寄宿的游戏,船跟着鼠标移动,如果碰到箭头会加速,如果不撞到墙会碎裂, 如果碰到这个产检的话也会顺利, 如果碰到这个的话就会破坏,这就是我编的程序。
