粉丝4342获赞4389

今天我们要做的游戏是老鼠偷面包三只手未版。首先我们要确定一下老鼠的初始位置在这里,面包的初始位置在这里。 三只猫中的第一只猫初始位置在这里,第二只在这里,第三只在这里。 有三条路可以通向面包。第一条这样走,第二条这样这样走,第三条这样走。 红色的墙壁代表迷宫的墙。制作老鼠代码的三部曲是大小方向出使位置上是零下是一百八,左是附近 九十又是九十。如果老鼠碰到了红色,返回原位播放声音,并说嘎了。如果老鼠吃到面包,返回原位,播上播放声音说胜利了。 如果老鼠碰到了三只猫,为返回员外,播放声音说狗屁狗屁了。这是面包和三只猫的代码。下面我们来看看这只猫的代码。猫左出使位置滑到中间,滑到上面,再滑到这边,然后沿路返回。 这里面用到了方向和滑行。下面我们来看一下运行效果。放大屏幕,点小绿心。然后先看看看到墙的效果,再看看,看到猫的效果, 再看看吃到面包的效果。 展示完毕,谢谢大家。

哈喽,同学们,大家好,今天我们继续往下讲,我们今天来讲一下侦测模块中的颜色侦测,那么现在大家可以看一下,在侦测模块里边有一个, 嗯,颜色,某颜色碰到某颜色这样的一个这样的一个指令,那么他的意思就是说呢,当一个颜色碰到另外一个颜色以后,这个条件成立以后,那么该如何的进行进行操作,那么下面呢,我都我将通过一个小的例子来讲解一下他的应用方式。 好,那么下面呢我呢来讲解一个小老鼠巡线的一个小例子,下面呢我来绘制一个背景,那么我使用的是画笔,然后给他设置一个颜色,设置为黑色啊,画笔的大小呢?设置为 十,然后在上面我画一个。呃,线路啊,大家如果学过,呃,看过机器人巡线的话,应该知道,巡线呢,就是沿着一条黑线进行这个进行移动啊,始终不脱离这条黑线。 好,那我就画出来一个啊,这个大小呢啊,也是要根据你的,嗯,也是根据你的角色,还有还有他移动过程中的距离来决定的啊,一会呢我们再看,那么这个大小呢?嗯,不好的地方呢,需要修改 啊,尽量呢不要有那个多出来的地方。好,那么就这样啊,我们把背景一删掉,只留一个背景。好,那么现在这个小猫呢,我们把它删掉啊,我们换一个角色,换一个, 嗯,小老鼠。好,那么这个小老鼠如何能巡线呢?那么我们给他安装两个传感器啊,这两个传感器呢,可以时刻监测他是否在这个黑线上移动啊,好,我们选中, 我们选中这个小老鼠,然后在造型里边我们选择造型一啊就可以了,然后我们选择一个圆,好,然后呢我们给他加一个红色, 好,给他加一个红色,好,画一个红色的一个圆,好,然后 ctrl 加 cctrl, 加 v, 再复制一个出来,然后再把它的颜色改一下,改成这个, 嗯,绿色啊,改成绿色啊,把它放哪呢?把它放在我们的, 我们看一下啊,把它放在位置,只是只要他不在这个什么黑线上就可以啊,也就说这两个点呢,嗯,始终呢不在这条黑线上啊。 好,我也可以给他往前凑凑啊。好,现在大家可以看到,就是如果把这个小老鼠这个鼻尖黑的冲上,然后这两个呢,一个红的一个绿的,就是他的两边的两个传感器啊,用来监测他是否在这条黑线上。 好,这样呢我就完成了造型。好,下面我们给小老鼠来添加这个程序吧。好,首先呢控制小老鼠的初始位置和面向方向,好,当力行被点击,我们在外观里面看一下啊,啊,我们 我们在运动里边看一下,我们将初始位置转出来啊,一档 x 多少 y 多少啊?这个呢就是他当前的一个位置啊,面向方向,面向这个右啊,面向九十度,面向右。 好,那么现在这程序该怎么操作呢?那么就是让他不断的移动,移动的过程中呢?嗯,当这个左侧的这个,嗯,传感器,红色的传感器啊,碰到这个黑线的时候, 那么说明呢?他呢在向右,嗯,他左侧的这个红色传感器碰到了这个,嗯黑线的时候,说明他脱离了这个巡线,那么他应该向左啊,旋转一下啊,如果右侧的传感器碰到了这个 黑线呢,就说明他嗯太靠左了,那么应该让他向嗯向右呢,进行一下旋转啊,方向旋, 哎,这样呢就可以了啊,所以说我们需要不断的重复执行这个操作就可以啊。好,那么我们在控制里边,我们把重复执行转出来。 好,然后呢我们再加一个判断啊,先判断第一个判断,在侦测里边,我们选 当什么颜色,碰到什么颜色啊,当什么颜色呢?当这个红色啊,大家可以看一下,选出这个红啊,点他一下,当这个红色。碰到 碰到什么呢?碰到这个黑色。好,那这个时候就说明他嗯太靠嗯右了啊,这个时候应该让他向左呢,嗯,向左转一下,所以呢左侧传感器如果碰到黑色 怎么办呢?在这个运动里边就让他左转,左转角度呢?控制到五度啊,这个 根据需要可以调节啊。好,然后我们把它复制一下啊,再复制一个出来啊,再复制一个出来,然后我们再控制一下。右侧的啊,右侧的是什么呢?右侧的是这个绿色啊,当绿色碰到黑色怎么办 啊?右侧的让他向右转,左侧的向左转啊,有了五度啊,那么他怎么移动呢?我们把这个移动放进来啊,移动注意要放在重复执行里边啊,不要放在这个判断里面,让他每次移动两步 啊,然后我们做个测试看一下。好,大家可以看一下啊,当我们在转弯的时候啊,当他碰到这个,嗯,比如说左侧,嗯,碰到这个黑线的时候,那明显的就是向右,他在向右走,然后就让他向往左转啊,把他打回来,如果右侧呢绿色 碰到黑线的时候呢就说明呢啊,他他向左转了啊,向左转转身了,这个时候太明显了,然后就让他,嗯,向右啊向右向他原来的方向把他转过来,让他始终保持在这个黑线的这个中央的这个位置上啊,这样的监测到了啊,好了,大家看一下,这就是巡线啊, 好,我们再给他加一个小小的任务啊,就是他在巡线的过程中呢会碰到啊吃的东西找食物啊,我们给他找食物。 好,那这个吃的呢这个大小呢?我们给他变小一点啊外观,然后选择,嗯,设置大小,这里边改成 三十,我们看一下三十行不啊?好,我们把它放在这个某一个位置上啊,好,那么我们再看一下给他加一个事件啊就是,嗯,重复 直行啊,重复执行。重复执行什么呢?如果啊如果我们还是点侦测啊,如果碰到 碰到了这个啊角色就是这个小老鼠,怎么办呢?啊?我们让他隐藏起来啊,在这个外观里面我们选择隐藏啊,既然隐藏和显示我讲过是要一块用的啊,那么我们把它再放到开开始啊。好,然后我们看一下,哎,好,能够完成了,这就完成了一个 非常不错啊,这样呢,我们对他进行复制,复制出四个来啊复制出四个来。 好,然后呢现在呢我先让他显示出来一个啊好,我们让他都显示出来啊,注意这个,我刚才是,嗯,程序结束以后他就这个隐藏了啊,所以呢我们要把它先显示出来啊,放在 啊不同的位置上啊,放在不同的位置上。好,然后我们测试一下,看一下啊,当这个小老鼠在巡线的过程中呢?嗯,如果碰到食物啊,那么就把它吃掉。 好,那么这里边呢,就是一个呃碰到啊,颜色的碰到,当一个颜色碰到另外一个颜色,该怎么办啊?这里边又把它和这个呃机器人的这个巡线结合起来了,这个程序呢,也同样适合于一些机器人的一些巡线的程序啊,很简单 啊,当左侧碰到黑线就让他向左转五度啊,当右侧看看绿色的碰撞器碰到黑线就让他向右转啊,大家明白了吗?好,今天的课就到这里,我们下次再见,欢迎大家订阅、点赞转发,谢谢大家!

scratch 编程基础入门教程第二期在上一个视频,我们已经对 scratch 有个大致的印象了,知道了 scratch 是通过积木拼单的方式来给舞台上的角色设计行为运动的脚本, 所以也就明确了一个方向。对于初学者来说,这个阶段最重要的任务呢,就是熟悉这大概一百个积木都有什么作用。今天我们来随手做个猫抓耗子的小案例,先给大家看一下成品的效果。 点击绿棋启动,老鼠会突然出现在舞台上的某个位置,停留一会呢,又立刻换位置。我们的小猫是用键盘上的箭头按键来控制的,可以上下左右的移动去抓这个老鼠, 一旦碰到老鼠就会发出猫叫。下面开始编码,先把这个默认的小猫角色删除,我不想用这个角色了,在角色列表里选中它,然后点击鼠标右键选删除就可以了。新建两个角色都用 scratch 默认的就可以了。先选个猫, 选一个我们从头顶视角看过去的猫,再新建一个老鼠角色,我们可以从角色列表里看到他们的名字,一个是 kat 二,一个是貌似一,这个名字是可以在这个位置修改的,现在这是他们的默认名字。先来解决老鼠的编码吧。 老鼠的运动特点呢,是突然出现在一个不确定的位置,等上一小会有更换位置,我们来运动类的积木里找一找,看看有没有能够实现这个功能的积木。 第一个是移动十步,这个我们之前用过啊,他可以让老鼠向前移动,但是这只能走直线啊。接下来两个是左右旋转,也不是我们现在需要的,在下边这个写着移到随机位置,我们把它拖到脚本区试一下,点击执行一下。 老鼠移动了一个位置,再点击呢,又去到了另一个位置,这两个位置都没什么规律,那这个情况就明白了,一旦随机位置 就是移动到一个不确定的位置上去,这正是我们需要的。有的同学说了,那我给他加上绿奇几目,回头一点击绿奇,这老鼠的功能,他不就完成了吗?啊,来看看是不是这么回事。绿奇点了,老鼠动了,但是怎么只动了一下呢? 因为这一串代码执行完一次就结束了,想要再执行呢,就得重新触发他。可是我们也不能一直点绿棋, 我们希望的是点击一次练习之后呢,老鼠是重复不断的移动的,继续来左边的积木区里找答案,在控制类节目里找一找。刚才说了,老鼠要重复不断移动,那这写着呢? 一个写着重复执行十次,一个写着重复执行,含义很明确啊,第一个就是重复执行十次,然后停止,第二个没显示数,那就是一直执行,永不停止,除非你点的停止按钮。我们要的就是他一直不停的跑, 所以把重复执行积木拖过来,用他的大嘴把这个移到随机位置包起来。这回老鼠的功能应该行了吧,行不行的试过就知道, 老鼠确实不停的切换位置,但是这个有点太快了,这一般猫是逮不住的,能不能慢一点,换完位置先等一等,再去下一个位置,那答案必须是可以的。控制类的第一个节目就是等待一秒,那这个节目有啥用呢?试试就知道,把它加入到重复执行里, 这时候点击绿奇再来看看,这就舒服多了。老鼠每到一个位置呢,就等待上一秒,再去下一个位置, 这个具体等多少时间是可以调的。 squat 积木中白圈里的数字都是可以修改的,老手搞定了,现在来给小猫编码。首先是移动的控制,我们要用上 向左右按键来控制小猫的上下左右移动,那怎么跟按键联系起来呢?看这里,事件类题目有一个,当按下空格键,注意这里有一个小三角,这是下拉框的标志,凡是出现这样的小三角,就说明这里点开之后有可选择的内容。 我们选择一个向上的箭头,当按下上箭头的时候,他下边的代码就会直行。按上箭头,我们是想让他向上移动, 这移动我们熟啊。运动类第一个节目就是移动,但是我们看一下,现在这个移动直行的时候是向右走的,他也不向上啊, 那是因为 surprise 里一个角色加入进来之后,默认的方向就是向右的,在角色的基本信息里就能体现出来,九十度就是向右,但是没关系,角色的方向呢,我们是可以随意控制的。运动节目里有一个面向 九十方向的积木块,这里是白圈数字,说明他是可以更改的,而且方向值可以直接输入,也可以在圆盘上用鼠标来修改,很方便。我们现在是上箭头,那就把方向调整到朝上, 把这个积木跟移动积木组合起来,先调整方向再移动,现在按下上箭头,小猫角色就是向上移动了,以此类推,我们可以完成其他三个方向的移动控制。这里我们可以复制代码,选动之后,右键复制就会产生一个一模一样的代码块, 只需要做一些修改就可以了。首先呢是按键近视呢,选择向下的箭头,那相应的方向就应该是向下,按照这个方式把向左和向右移动也分别改好。现在小猫占领的控制下移动起来了,但好像还是少了点什么,差一个音效,没声音,再好的戏 也出不来。按照我们的设计呢,小猫如果碰到了老鼠,那么应该发出一声猫叫。注意我这句话,小猫如果碰到了老鼠,那么应该发出一声猫叫。有的时候真的是会说话,就能编成,我来给你用代码翻译翻译刚才这句话。 控制类积木里边,我们看这个积木块如果怎么怎么样,那么他也是像重复执行那样有个大嘴,而且呢还有一个尖角的空白区域,尖角里需要放入的是一个判断条件,而大嘴里放的呢,就是普通积木了,当判断条件满足的时候,才会执行大嘴里的指令。 我想刚才那句话,如果碰到了老鼠,那么发出猫叫,如果我们有了,碰到老鼠,就是这个条件,猫叫应该是被放在大嘴里的积木。那 surprise 能知道碰没碰到老鼠吗? 位上沿往这看,侦测类积木一堆的尖角形状吧,跟如果后边那个尖角空缺刚好是能对应上的。第一个侦测积木写的是碰到鼠标指针。 还记得我前面说过的话吗?有白色小三角,就是有下拉框,我们点开看看,除了能侦测碰到鼠标,还能侦测碰到舞台边缘。而最下边就是我们的老鼠角色,他的名字就是貌似一这个名字跟角色列表里是一致的, 把这个节目往空圈里一放,当执行这段代码的时候,他就会帮你判断是不是碰到了老鼠,如果碰到了就会执行大嘴里的节目。 那怎么让猫叫呢?往这开声音选项卡 skr 是自带的,角色基本都会有一个自带的声音,我们这个 kt 二角色就自带了猫叫声,当然你也可以自己录一 声音,或者上传一个声音,这个我们以后会用到,然后回来我们是有声音类的积木的播放声音,喵等待播完把它放进如果那茉莉,这样一来,我们之前说的那句话,如果碰到老鼠,那么发出猫叫已经变成一段代码了,我们来实验一下它的效果。 我手工把老鼠和猫放到一起,然后单独执行一下这个代码。猫叫了,因为碰到老鼠这个条件它是符合的,我再把它们分开再执行一次, 这是没有发出声音,因为现在条件是不符合的,这就是如果纳莫积木的作用了,条件符合就执行,不符合就不执行。 那么这段代码我们要放在哪里来执行呢?直接给他加上个绿旗吗?注意,还记得我们刚才给老鼠编码的时候犯的错误吗?绿旗加实际位置,结果老鼠只移动了一次就停止了。 surprise 里的这些基 默默认都是只执行一次就结束了。如果你需要他一直执行或者重复执行特定的次数,那就少不了重复执行积木的帮助。 那么问题来了,我们这一段判断猫叫的代码需要执行几次呢?实际上我并不知道小猫和老鼠什么时候会碰到一起,所以最好能每时每刻都在进行侦测判断,这样就不会遗漏掉他们碰到一起的情况了。那我只能把宠物执行又请出来帮忙了, 把整个如果那么都套进重复执行。而这段代码应该在游戏启动的时候呢就开始,所以他头顶的条件积木是当绿旗被点击。 好了,这回大功告成。今天这个案例呢,虽然没用几行代码,但是涉及到的积木类型还是挺广的,留下一个带探索的问题。今天在寻找积木的时候,相信很多同学都发现了,有些积木长得非常 接近,比如移到随机位置,下边还有一个在一秒内滑行到随机位置播放声音的节目,也有一个长得相似的孪生兄弟, 他们之间有什么相同之处,又有什么区别呢?你自己来找一找。记住, scratch 学习中最重要的理念就是勇于探索。如何学好 scratch, 谜底就在谜面上。 scratch 这个单词直译过来就是刮插划,用我的话说就是你没事多扒拉扒拉这些题目就学会了。


今天跟大家讲一下竞赛的常用定理,皮克定理,首先我们建立一个一乘一单元的网格,在这个网格里面绘制一个不规则多边形,但是多边形的每个顶点都在网格焦点上,求这个多边形的面积,这个面积我也不想求解, 我就偷个懒,用计算机求解出答案是三十六。下面我们用皮克定理来验证一下。所谓的皮克定理就是多边形的面积等于内部点数加上边上点数的二分之一,再减去一,我们先跟着动画一起计算一下内部的点数, 我们得到内部的点数是二十八个,我们再来跟着动画一起数一下边上的点数,我们得到边上的点数是十八个,那么我们根据 皮克定理就能轻松算出面积了。最后计算出的的面积就是三十六,与计算机输出的结果一致。温馨提示,皮克定理要求多边形的顶点都要在网格焦点上才能精确的求出面积, 内部点和边上的点都是网格的焦点,才能被纳入计算。请注意区分皮克定理可以直接秒杀题目,比哥补法,正弦面积公式,海伦公式都要高效,关注我,提升思维!

好了,那我们呢来到我们这个猫抓老鼠的这个课后练习题,我跟大家讲一下到底该怎么样完成。 首先第一个我们知道猫他要跟随着鼠标移动,这是一个比较简单的这个任务。第二个重点在于老鼠,老鼠他首先第一个要克隆五个不同颜色的自己,然后在舞台上随机移动,如果碰到猫,他生命值会减,一 直到五只克隆体全部被消灭为止。游戏结束,那我们来看一下这一个要完成该怎么样去实现呢?首先导入两个角色,一个是猫,一个是老鼠,那我们可以知道猫的角色动作很单一,就是跟随 着鼠标,用跟随着鼠标,用鼠标去控制我们的猫去移动就可以了,所以的话呢,大家可以用移到鼠标指针这一个指令来完成我们猫的这个动作, 那点击运行,我们的老猫就会跟着我们的鼠标一起移动了,对不对?那好,这个属于就非常简单的一个 啊,角色的一个定义。那好,那我们来看一下老鼠,小朋友们有没有发现慧慧老师的这只老鼠跟你们导入的那只老鼠颜色不一样啊?那你们导入的老鼠是不是灰色的 啊?你们导入的老鼠都是灰色的,而我的老鼠是红色的,为什么要这么做呢?我们来看灰色,灰色在这里面定义它,不论 有多么的颜色,增加多少或改变多少,他其实都是灰色的,所以在这里面我们要做一个小小的造型的改变,在左上角的造型当中,针对的我们这一只灰色的老鼠,过年了,他要变得喜庆一些,所以呢要给他改一点颜色, 把它改成红色或者其他色,不要是黑色或灰色就可以了,那么这里面他就会变化他的一个颜色,那好,我们的把它改成红色或其他色就行, 改变了颜色之后,你来发现针对这只老鼠他就可以变色了,好吗?所以一定要前置做这样子的一个动作。 ok, 那我们回归到我这里,首先我们这只设置好的老鼠他需要做什么? 五只自己,并且每一只的颜色都不一样,那我们可以通过这么一块指令来完成。首先我的这一个 本体移到一个随机的位置,在这个位置将自己的颜色增加二十五,再克隆一次,自己一共有几只呢?五只,所以要克隆五次,那我们来看一看。好, 那么这个时候你就会发现有几只了,一二三四五五只不同颜色的 老鼠,对吗?那本体啊,在这个时候,如果说你把本体显示出来,他就会变成六只,因为加上五只克隆体就是六只,所以呢,你可以把本体给他 隐藏起来就可以了啊。好了,那我们来看一下哈,每一只克隆体他的生命值为多少啊?我们需要创建一个变量,这个变量就代表着一只克隆体或者是这只老鼠他的 生命值。那一开始为三,那我们设置他为三。好,那当这个克隆体产生的时候,我克隆完了,结束了之后我要做什么?我要对克隆体进行编程,对不对?那他是不是一开始 贝克隆之后,当他作为克隆体启动时,他会显示在舞台的任意一个方向以及任意一个位置上,所以的话呢,我们可以利用显示,面对着任意一个方向 显示出来,能够做到让我们这只老鼠随机的在这个舞台上移动,那我们试试,那这个时候你发现了没有?老鼠它的方向,它的 这个颜色都不一样了哈,好,那我们来看这里面,他说如果碰到猫,那么生命值将会减一,对吗?那很简单,如果碰到猫生命值将会减一,减到什么时候这一个 猫,呃,这个老鼠就会被消灭,对了,减到它为零的时候,因为一只老鼠它有三个生命值,只要这个生命值等于零,那么就代表着老鼠被消灭了一只。那好,如果碰到猫生命值减一, 在这个前提下,如果生命值等于零的话,就代表着消灭的数量增加了一个,所以的话呢,我们要创建一个消灭的数量,来代表着我们已经 把一只老鼠搞定了,所以呢,这里有一个变量叫做消灭数量,我要创建一个消灭数量,一开始消灭的数量为零,接着随着事情的发展, 消灭的数量会越来越多,比如说每一只克隆体生命值都等于零的时候,消灭的数量就会增加一,对不对?好,那这个是一个,那什么时候游戏就会结束啊?舞台上的五只老鼠都被我们消 消灭了,那此时此刻消灭的数量为多少?等于五对吗?所以当消灭的数量等于五的时候,游戏就结束了,对不对?好,那我们试试 有没有反应,没有反应的原因是什么啊?原来是哪里?原来是我这个地方忘记添加了,重复执行,而且我们这五只克隆体,他要在舞台上任意的走动, 任意的走动,所以的话呢,我要重复执行好,试试,抓抓抓抓,直到我消灭的数量等于五,那么就代表着 游戏结束了。好,这个呢就是我们猫抓老鼠的这个程序,大家能理解吗?难点在于哪里?重点在于哪里呢?我们来分析一下。首先第一个大家要把这一种简单的这种任务的描述,把它转换成编程的数据, 这里面五只老鼠,它消灭的数量是五,所以消灭的数量会随着生命值的变化而变化,所以的话呢,会有两个变量,一个是消灭的数量,另外一个是生命值。 重复执行五次克隆体,每一次在克隆之前,本体的颜色都会发生变化,再克隆一次自己,那这个呢,就是我们本体的程序,作为一个克隆体的程序,他在舞台上随机移动, 直到碰到,如果在这个过程当中碰到猫的话,生命值就会减一个,如果在这个前提下,我的生命值等于零的话呢,那就代表着消灭数量增加了。一, 如果全部的老鼠都被消灭了,就代表消灭数量等于五,所以游戏就结束了,这个呢就是我们猫抓老鼠的游戏啦,小朋友们快去动手吧。

现在进入到我们胜负字幕的角色当中来,因为这个字幕他会出现在屏幕当中,所以一开始我们需要让他隐藏起来,这样他就不会挡到我们的游戏画面了。 当字幕接收到了失败的广播之后,让它显示出来,并且将它换成失败的造型。 为了让我们字幕有个更好的呈现,将字幕移到最前面,并且结束所有脚本。现在我们可以看到无论什么时候,小老鼠只要碰到了猫,它就会显示游戏失败。

同学们大家好,欢迎来到国务编程,我是李老师。今天我们一起来学习猫和老鼠的程序。 看完了刚才的 视频,同学们来想一想,刚才的视频里让你找到两个角色,你能找到吗?对,一个是猫,一个是老鼠。今天呢,我们就利用猫和老鼠来完成今天的程序。现在让我们来看一下程序的效果。 现在打开格物编程软件,让我们一起来看一下这个程序。同学们仔细观察,点击运行键 来看我们的小老鼠是跟随着谁在移动?对,跟随着鼠标指针在移动。那小猫咪呢? 嗯,他是跟随着小老鼠在移动。如果这个小猫追上小老鼠会怎样呢?来看。哎,怎样?老鼠被吃掉了哈。这个就是咱们整个程序的一个运行效果。让我们 先来分析一下整个程序的一个流程。咱们刚才已经看到了,在咱们本节课的程序里,一共有两个角色,一个是小猫咪,一个是小老鼠, 对吧?那这两个角色都能够移动,就说明这两个角色分别有自己的程序。我们先来看看小猫咪的程序是怎样的。 首先呢,是不是程序开始,然后呢,我们要给小猫咪固定一个开始的一个位置,就是小猫咪一开始出现在哪里。然后呢,他要面向我们的小老鼠怎样 移动?对,那同学们来想想,面向老鼠和移动的过程中要怎样?要循环,是不是要重复整个指令哈。 再来看一下小老鼠的程序。首先,程序开始,我们的小老鼠要显示出来对不对,小老鼠要出现,然后出现在一个固定的位置, 小老鼠要面向鼠标怎样移动,对不对?再往下来呢?我们的小老鼠会碰到小猫, 碰到小猫之后,如果是碰到小猫,它就会被吃掉。如果没有碰到小猫呢,就会接着判断有没有碰到小猫。同学们来想想,面向鼠标移动,碰到小猫,然后被吃掉的,这整个过程都需要怎样, 都需要重复执行,对不对?我们一起来做一下。现在打开购物编程软件, 让我们一起添加上今天的角色和背景。同学们可以在我们的角色库里添加上小老鼠和小猫咪。还记得怎么添加吗?点击右下角的选择一个角色,然后选择一个背景哈。背景可以选择自己喜欢的。 添加完了吗?现在我们先来给小老鼠做程序,这个时候就要先选中小老鼠,怎样?一开始还记得吗?流程图里面是当小滤镜被点击对,我们的运行键。 现在我们给小老鼠来固定一个位置。为什么要固定位置呢?就是为了避免万一小老鼠一开始出现的时候就和小猫装在一起了,那他都没有逃命的机会了,对不对?把把小老鼠 放在左上角,然后再这样拿到一道 x y 模块,咱们在第一节课中已经学过了对不对?固定位置,先把角色拖到指定的位置,然后再拿到一道 x y 模块。 下面呢,小老鼠是怎样移动的?跟随着鼠标指针在移动。如果现在我想让同学们往北走, 要怎样呢?是不是同学们先面向北边,然后再移动?那小老鼠也是一样的,他要跟随着鼠标指针移动。我们要先让他面向鼠标指针, 然后再怎么办?在移动哈,我们直接用移动多少步就可以了哈,都是在运动里面哈, 直接顺序执行来观察一下。点击小绿旗之后,小老鼠好像移动了,但是只移动了一点点。嗯,拿来想一想。面向索要执政和移动,这个质量需要放到对重复执行里面, 把这两个指令包裹起来就可以了。看一下它的效果。嗯,现在我们的小老鼠是不是能够跟随着鼠标指针移动了哈。 这个时候我们可以去调节小老鼠移动的快慢。怎么来调节呢?就是这个移动时步,如果我想让他慢一点,这个数字就可以调的小一点。 五步来观察一下,是不是就比刚才慢了。如果我想让他移动的快,这个数字就可以调大,比如调十, 小老鼠就运动的快了哈。我们小老鼠暂时移动的程序已经完成了,下面呢,我们再来给小猫咪写程序哈。 同学们来想一想,小老鼠是面相的,鼠标指针移动小猫咪啊,是面相小老鼠移动,根据小老鼠的程序自己来完成。小猫的程序 完成了吗?我们一起来看一下你做的对不对哈。一开始小猫咪也要怎样,有一个开始的键,运行键对不对?然后给小猫咪固定位置, 拖到一个合适的位置上,然后小猫咪也要移动。小猫咪是面向谁移动?面向 小老鼠对不对?面向小老鼠移动,点击下拉三角。哎,看到了吗?小老鼠的名字在这里哈。我们让它面向小老鼠移动多少步,整个这一部分的质量要重复执行, 我们来看一下哇。但是有什有一个问题,我们的小猫咪比小老鼠跑的更快一些,他俩一直都不分开。 咱们来想一想,你看到的猫和老鼠的视频里,是不是小老鼠跑的快一些,小猫咪跑的慢一些哈。这个时候我们来调一调它移动的步数,我们让小猫咪跑的慢一点,比如它移动五步,那小老鼠就要 跑的快一点,移动十步是不是就可以了?再来看一下,哎,是不是有的时候可以追上,有时候就追不上了啊?这个就是咱们现在这一部分程序的一个效果哈。那现在 现在我们的小猫咪碰到小老鼠,捉到小老鼠以后,小老鼠还存在,我们要怎样让小老鼠被吃掉?被吃掉小老鼠是不是就不见了?小老鼠不见了,我们可以用隐藏,隐藏指令。 大家想一想,小老鼠不见了,是给谁写程序?小老鼠不见了,是不是给小老鼠写程序啊?选中你的小老鼠这个角色怎样?如果碰到小猫咪,那么 用什么指令?隐藏指令对不对?还是如果?那么判断条件?如果碰到小猫, 从后往前放,咱已经学过了,那么怎样学一个新的指令叫隐藏掉,也就是被吃掉了,然后整个指令针侧需要放到重复执行里面。 哎,小老鼠被吃掉了,哎。再来点击小绿旗之后,我们的小老鼠不出现了。 这样我们要让点击小绿旗以后,小老鼠出现,当小绿旗被点击,小老鼠出现,也就是我们的显示模块。 当小绿旗被点击,就显示,是不是就是放到小绿旗的下面哈。再来看一下,哎,小老鼠出现了,嗯,被吃掉了。放大来看一下整个程序的运行效果。 点击小绿旗,小老鼠在前面跑,小花猫在后面追,然后碰到之后就会被吃掉。这样整个程序的效果是不就已经完成了?那我们再来对照一下我们的流程图,看看我们写对了吗? 现在来看小猫咪的小猫的流程兔和小老鼠的流程兔。是不是我们已经完成了整个程序?给同学们留一个课后作业。同学们来想一想,我们的小老鼠只出现了一次,被吃掉之后就要点击运行键 才可以出现。我们能不能让这个小老鼠多繁殖几只呢?比如我们可以让它怎样呢?小老鼠被吃掉,等待一会再出现可以吗?或者是你想想其他的办法。这个留作客户作业哈。同学们认真来完成, 我们今天的程序就已经做完了,同学们再见!

哈喽,大家好,这是我们跑酷制作教程的第二集,在这一集中我们会实现关卡功能的切换,并且做一些功能优化到尽头可以切换到下一个关卡,也可以回来,并且修复了连跳等功能。 话不多说,开始编程,这里教大家一个小技巧,我们每一次做新作品之前呢,可以把老作品复制一份,然后呢通过复制粘贴让他出现一个新的,这样呢我们可以把每一次的老作品呢保留一个备份,万一我们想看一看之前的作品呢,还可以再啊回顾一下, 那现在我们打开作品,开始解决我们作品里面上一次遗留的问题。 好,我们首先解决上一次遗留问题中的 连跳这个功能,上一次我们按下上一键之后呢,连按的话他就直接飞出去了,我们先解决这个问题啊,要解决这个问题呢,我们建立一个变量,叫仅次于当前角色,叫正 正在跳跃。确定好正在跳跃这个功能呢,一开始我们把它设定成一,代表着他在空中从下往下掉,正在跳跃的过程中, 这地方我们能看到 x 速度,是不是并不是玩家特有的呀?啊,那大家如果这个细节呢,我们有之前没有注意到,不过呢他不影响我们的编程,如果你把它改成玩家私有的变量的话会更好啊,好, 一开始设定成一,然后这个按下上一键网,把弯速度设定成十二呢,这个地方就不能直接设定了,我们要给他加一个限制条件,只有当我们的正在跳跃等于零的时候,也就是没在空中的时候,你按下上一键才管用,否则按下是没反应的, 等于零,只有这时候你按下键,他才能往上蹦,否则就不管用。好,那当什么情况下把这个正在跳跃设定成零呢?当他碰见我们的绿色,也就是到这个台阶上的时候呢,我们把这个边亮 设定成铃, 哎,这会变成零了对不对?这会你再按一下,是不是有反应的往上蹦,但这时候你蹦了之后是不是没有变成一啊?所以我们还得再来 一个,当他开始跳跃的时候,把它设定成一好,这样你在走的时候他就不会有连跳了,你按他也是只跳一次,只有当你回到台阶上再蹦的时候,才能往上走 下来。我们来解决第二个疑虑问题,水平方向上如果碰见台阶的话,现在是不是一瞬间就挪动上去了呀?我们应该采取的方式呢?是像之前我们垂直方向上,如果碰见这个台阶的话,他就应该 往下走,碰见台阶的话就应该重复执行往后退,直到离开这个边缘,对不对?那我们 北平方向也应该是这样,碰见台阶的时候不断往回回,直到离开这个台阶才可以。好,那在做这个工作之前呢,我们先把上一次的这个方式呢优化一下,我们之前是 怎么做的呢?掉下来的时候因为有重力效果,每一次重复移动一点点,移动的距离越大,越来移动的距离越大,越来越大,然后最后一次他移动很远的距离, 这时候如果碰见绿色的话,我们会让他慢慢回去,慢慢回去,慢慢回去,对不对?我们接下来呢,会把它优化成他从上面往下掉的时候呢,每一次呢,虽然还是有重力影响,但是每一次呢只走一点点, 嘟嘟嘟嘟,一点点,一点点的往下走,然后呢?哎,碰见了这个地方,因为他只移动一点点,我们立马就回来了,这样的话呢,可以让他 移动的更精细一点,我们把这个功能优化一下,要实现这个功能呢,我们要创建一个新的积木,我们把它名称叫成移动步数,这后面呢,加一个还可以 写啊,加一个不就代表着移动几步的意思,我们不不刷新屏幕,完成好这个功能呢,用它来优化一下,我们之前这里歪坐标增加速度。这个功能 好,我们现在的话跟之前是一样的,把这个放到这里来, 移动这么远,移动这么远,这个移动的速度呢,会传到这个地方歪坐标增加一样的距离,所以他跟之前的效果是一样的。 好,那这个地方因为歪柱标一下子增大很多,我们把这个地方改成一个重复执行就可以了, 每次让他只走一步,重复执行几次呢?哎,步数次,每一次将 wi 坐标增加 负一,然后这样的话呢,他就每一次自走一点点,一点点,一点点,一点点。在这个过程中,如果哎碰到了绿色, 我们怎么办呢?我们把原来代码拿下来,就不用再来一个重复执行了。好,如果在这个过程中碰见了绿色,我们就让他的歪坐标 增加一啊,会退一是不是就可以了?然后呢,同时跟之前一样,将 y 速度 设定成零,正在跳跃设定成零。好,那这个跳跃优化呢,其实就没有用了,我们可以把它删除,好,我们试一下这个效果,哎,他没有往下掉, 对不对?好,这个问题我们来解决一下。哦,是因为这个地方我们重复了一次,就把 y 速度设定成零了,他应该在里面 回去之后,然后呢把 y 速度设定成零,也就是碰到了台阶之后 还是没移动,我们观察一下啊,我们能看到这个 y 速度呢,他一直是一个负的,对不对?所以这个地方呢,我们要优化一下, 同步执行一个复数是不行的,所以这个地方要用到一点数学知识,我们这个运算里面有一个绝对值,这个绝对值的功能呢,就是把一个复数呢变成一个正数,好放进去再来,哎,这样他就能够 掉下来了,跟之前我们那个效果呢是一样的,对不对? 这时候这个跳跃功能呢是有点问题的,因为按下上一键他没反应了,是因为这个地方呢,我们不能让他一直将歪坐标增加负一,我们要跟他的速度相关,所以这个地方呢,我们用一个呃 y 速度 除以步数,这样的话跟之前效果呢是一样的,呃,每次只移动一点点,但是当歪速度等于零的时候呢,他就不移动了,并且呢如果用上这个歪速度的话,我们还可以实现 他上面如果有一个台阶的话,他按下之后呢,头顶到上面的时候呢,也就顶不上去了,因为这个地方 有一个限制,我们把它改一下,然后这个歪坐标呢就应该反过来,所以我们要把它单独拎出来,用一个零减去它, 如果他是正义的话就变成负义,如果他是负义的话就变成正义。来试一下。好,万 s 没问题的。好的,那这样的话这个方式我们就优化了,现在来考虑水平方向。水平方向的话呢,跟这个就有点像了,我们要把它直接复制一下。 复制绳是什么呢?将 x 坐标增加,将 x 坐标增加 挪过来 x 速度出一部署好,如果碰见这个颜色的话,就应该将 x 坐标,哦, 还是拖错了。 x 坐标增加,把它复制一下 零减去 x 速度, 然后呢将 x 速度设定成零,正在跳跃设定成零。 好,放进去。好的,嗯,然后这个地方不要忘了把它换掉,也换成移动多少步呢? x 速度的这对子来,我们试验一下往前走, 哎,走不动了对不对?但是我们发现刚才走的特别慢,跟刚才问题一样啊,这个地方呢,我们应该放在里面,碰见颜色的时候呢才应该让他恢复走, 是不是跟之前的又一样了?好的,我们这个问题呢就修复了。那我们现在把刚才提到的那个如果他头顶上有一个障碍物的话应该怎么办? 并且你看我们这是不是有两种颜色,那如果他只碰见这个颜色是不是也应该往回回啊?所以我们把这个碰到颜色呢也优化一下,我们直接改成碰见造型,把这个台阶的功能呢都从背景里面挪到我们外面的角色里面来, 我们新建一个这个呢可以叫场景吧。 好,然后呢我们把背景里面的这些功能呢给他挪过来, 拖动他,然后到这里松手。好,这样的话 我们在背景里面只保留这个天空蓝就可以了。好,我们全选一下,按住 shift 反选一下这个背景,然后把它删除,然后在场景里面我们把背景颜色删除,这样的话呢,他就跟之前类似了, 我们把它删除,这个地方改成场景一。好的,然后呢,这个位置呢,一定要一开始设定成零零, 因为他是全屏的嘛,零零就正好在正中间,然后我们玩家的代码呢,也就可以改一改了。这个地方呢就不要用碰到颜色了,我们用更检测更快速的碰见什么什么角色,碰见场景, 碰见场景,来抽烟一下,好,掉下来了,走。哎,过不去,蹦没问题,连跳不可以好,碰见他也不会直接上去。 好的,那我们在这个场景里面给他画一个头顶上有一个小的台阶,选中他, shift, shift, ctrl cctrl v。 好,这里我加速一下,你们自己把握。 好的,那我们现在来试一下刚才说的那个问题,如果这会往上蹦的话,哎,是不是的确蹦不过去啊?但是有一个什么问题呢?你一直按着上一键,你会发现他是不是停留在这个地方了,被这个顶吸住了呀?我们来 来解决一下这个小小地方,这个地方之所以膝盖上面,是因为我们按照按下上一键的时候,他在一直往上蹦,对不对?那之所以往上蹦,是因为我们将他的跳跃设定成零了,按下上一键是管用的,我们只要在这个地方优化一下就可以了。 当你按下上一键的时候呢,即使碰见这个场景,有些情况呢,也不能把把它设定成零,为什么呢?因为他还在空中的对不对?他的速度呢?不是零,我们给他加一个小雨, 只有当 y 速度小于零,也就是他往下掉的时候,我们才把正在跳跃设定成零,加一个判断, 如果歪速度小于零,将正面跳跃设定成零,好,把他们放回到 原来的地方来,再次测试。好蹦,没问题,长按,哎,也不行,长按就变成连跳了,一直在这蹦了。好,那这个问题我们就解决了。那我们今天的重头戏怎么样让他切换关卡呢?我们建立一个新的变量, 叫场景编号, 然后这个场景编号呢,我们让他当接收到切换场景的时候, 不断的去变化。那一开始呢,长两边还要设定成一,然后当接收到 切换场景,当接受这个消息的时 后呢,就让他换成一个新的造型,换成哪个场景呢?这个编号 编号对应的造型,所以这个地方的你的顺序一二三四五一定要相对应才行。 好,然后啊,一开始的时候我们也加一个,因为一开始的时候是场景一嘛,现在还看不出来问题,因为我们只有一个啊,接下来呢,我们再创建一个场景 啊,复制一下。那这个跑酷游戏有一个特点,当他从这个地方出去的时候,到第二个场景,这个地方应该孩子连着的一条路,对不对?你要直接变成一个悬崖,那样 就没法玩了对不对?所以这个地方呢,我们要把它反过来,所以这时候要用到这样的功能,把它全部选中,然后这里有一个翻转,哎,他就翻转过来了,但是有一个小问题是这个地方离他有点远, 对不对?你可以简单的把它拖动一下,但是一拖动是不是上下的位置有可能发生变化呀?所以我们换一种方式啊。好,先恢复一下,然后我们给他套一个全屏的这么一个物体,然后把它放在中间,好,有点小,再大一点 套在中间,然后呢把它当成一个整体,让它左右翻转,左右翻转,然后呢再把它删除掉,哎,你会发现呢,它正好呢在边缘,没问题。 好,然后呢这次呢,我们再往前走一走,我们会发现这是场景二,那怎么让他切换呢?我们要在我们游戏过程中给他加一个判断条件,在这个移动的过程中加 一个判断条件,如果 x 坐标大于二百三十五,对吧?我们最大是两百四,让他大于二百三十五的时候,就认为他走到右边缘了,当他的 x 坐标 大于二百三十五的时候,我们就给他把场景编号增加一, 嗯,然后呢把他的这时候有个细节一定要注意啊, 当你这个小人走到这个地方的时候,他场景切换成下一个了,那这个人是不是也得到这个地方呀? 恢复到最左边呀?所以这个地方有一个将 x 坐标设 定成负二百三十五的这么一个动作,然后我们广播一个消息,让他真正的开始切换。 好,我们试验一下往前走蹦,哎,切换过来对不对?但现在是不是还回不去啊? 回不去。我们给他加一个往回回的功能,如果我发现他的 s 坐标小于负二百三十五,小于 负二百三十五, 然后呢场景编号增加 负一减少了一,然后呢 x 坐标设定成正的二百三五在最右边。好,来试验一下。 嘿,从这边过来了,哎,过来了对不对? 好的,这里面我们能看到刚才有一个小问题是我们正常跳跃的是这么高,但是跑起来是不是跳跃的就会特别高啊?那这个地方呢?是因为这个地方我们重复的次数 太多了,我们把它优化一下。这个原理呢,我们就不讲了啊,我们测验了一下,通过把这个地方连在一起的这种方式 可以解决这个问题。好, 他还是呃,上下呢,都不会穿透我们的我们的台阶,但是呢,这个速度呢,跟之前相比就好了很多,好往前走,哎,再回来没问题。 好的,那现在还有一个潜在的问题是什么呢?大家可以留意一下你的有没有这个问题,如果我们这个地方画的特别完整的话,是没有问题的, 如果你发现两边他的台阶不一样高的时候,就会有一个前债的八个出现,大家可以留意一下。但是最好画的时候呢,你就把它画平整,就不会有这个问题了。 好的,那我们今天的教程呢就到这里了,大家积极创作,积极的发散思维,一定记住地图不需要跟我一样,多发挥你自己的创意,可以多做几关,熟悉一下整个流程。好的,拜拜。

哈喽,大家好,从今天开始呢,我们来讲解 sure 二级考题的知识。好,那么今天呢,我们就先做一个小的例子,来认识一下二级中用到的一些知识啊。 好,那在二级的考级里边呢,又多了新的程序指定块,那么我们看一下都多了哪些呢?我们今天呢也来简单的说一下啊,那么今天呢,我们主要说面相,指针 啊,面向指针,这个呢,就是说他可以,嗯,一直呢面向以指针所在的方向啊,主针指针在哪里他就面向哪里啊。 好,然后呢我们再看有一个啊,一道啊,一道什么意思呢?这里边呢,我们也是要 他有两个指,一个是一到随机位置啊,随机位置就是说当他运行的时候,他的位置可以随机挑选啊,自己呢随机挑选, 那么还有一个呢是移到这个指针,鼠标指针所在的位置啊,鼠标指针呢,你说鼠标的这个指针在哪里他就移到哪里啊。好,那么这两条指令怎么运行呢? 他需要放在一个重复执行的这个指令里边啊,不管是重复执行十次还是重复重复执行, 那么一般呢,我们都采用重复执行。好,然后呢我们给他加一个,当立即被点击,我们试一下啊,当立即被点击 啊,我们的这个什么呢?我们重复执行,看一下,他就会什么呢啊,他就会面相,嗯,面 指针的方向啊。好,那么现在我们看一下,他在往下走,那他的脑袋就会朝下看到吧,我运行的快一点啊这是,呃,从这开始,比如说向右走好,向上走,他就会朝上向左走,向下走啊,这就是什么呀? 他的这个运行轨迹,你看一下他的脑袋啊,是真跟着我的鼠标在转,如果鼠标按着圆圈走的话啊,大家看一下,如果按着圆圈走的话, 那么他也会跟着圆圈转啊,如果是向左或向右的话,他呢也会改变方向,尤其是向左啊,向往他就会倒立啊,大家想一想,他为什么要倒立啊?为什么会倒立啊?因为他的旋转方式的问题啊,他默认的 旋转方式是任意旋转方式啊。好,然后我们把它改成左右翻转以后呢啊,左右翻转以后呢?大家看一下, 那么他呢,就绕圈圈就不起作用了啊,他只起什么呀?向上绕和向下要绕的时候,他只显示向左或者是向右这个显示的这个方式了啊,所以大家可以看到就是这样的一个形态 啊,他绕着我的指针转来转去。好,那今天课就到这里,谢谢大家收看,欢迎大家订阅、点赞转发,谢谢大家。