粉丝369获赞1160

学生作品展示图形化编程飞机大战极速版左右键移动飞机,按下空格发射子弹,击落一定数量的敌机后会出现 boss, 血量为一百,击落 boss 之后游戏结束。请屏幕前 的你在评论区留言,如果你是老师,本节课的重点会讲什么呢?

相信大家对飞机大战并不陌生,今天我就带大家实现飞机大战的子弹发射功能,先添加游戏背景, 再添加角色飞机,选择你想要的飞机,调整飞机的大小,然后寻找指令模块,实现飞机跟随鼠标。接下来添加角色子弹,隐藏子弹,当 下鼠标的时候再发射出来,我们在角色子弹里添加,当绿棋被点击,重复执行,重复判断有没有按下鼠标。由于屏幕上可以出现多个子弹,但我只有一个子弹的角色,那么我们就需要用到克隆的指令,我们先让子弹在飞机的位置克隆自己,然后让克隆出来的子弹显示出来,并且飞出去,飞 到边界,这个子弹的使命就终结了。所以要删除本科龙体,让他飞出去呢,就是改变他的外坐标,最上面就是外坐标为幺八零,所以当他的外坐标大于一百八十时,删除本科龙体,然后试一下游戏效果,你学会了吗?

你玩过飞机大战吗?用 scratch 怎么写出飞机大战游戏呢?添加背景音乐,让战机动起来。添加开场动画, 编写案件控制程序,测试一下控制程序。添加碰撞检测。 编写子弹程序,让子弹时刻跟随战机,每隔零点一秒克隆一个子弹, 子弹一五的速度向前移动,子弹移动过程中检测是否集中敌 机,测试子弹发射。编写敌机程序,敌机从屏幕上方的随机位置出现,每隔一段时间克隆一架敌机, 敌击以不同的速度向屏幕下方移动, 敌机被子弹击中后爆炸。写完了,测试一下吧,下期想看什么?

飞机战旗,人机对战,如何让电脑变得越来越聪明?今天让电脑进步一点点。现在电脑发起攻击的方式是完全随机,也就是每一枪都跟前面打的枪没有关系,不管之前打在哪,打中还是没打中当前的这一枪,只要是空地随机打, 那我们人就不一样了,如果发现有一个位置被打中了,就会围绕这个周围去进行形状的分析,找出最有可能的位置再进行击打。今天给电脑升级的策略就是,如果打中了一个地方,那么就围绕着这个点为中心,向他那四周进行攻击, 再来找到跟电脑攻击策略相关的代码。不了解代码情况的呢,可以先去看前面的视频,我们找到 pr 攻击这个消息,下边有一部分代码是不断的调整随机位置的,这就是在找他的攻击点了,表扬根据已经打中的位 位置来生成一个新的攻击点,那么你就得把这个已经打中的位置先给他记录起来。所以建立两个变量,一个是 pr 记录 x, 一个是 pr 记录 y, 那就是记录 已经打中的这个最新的点,他的坐标是什么?在点击立即的时候,把这两个变量初始化。这次初始化的方式有点特别,不是把它设成零,而是把它设成空白,回到偏二攻击的代码。 这个随机位置代码呢,并不是完全没有用了,当我们还没有击中一个位置的时候,我们仍然需要用随机的策略。所以呢,我们现在分两种情况, 如果我们当前这个 pr 记录 x 或者 pr 记录 y 无所谓了,他们还是空白状态,也就是我当前没有击中任何一个位置,那么我仍然采用原有的随机方式。相反,如果 pr 记录 x 不为空,也就是有一个点被击中了,那接下来的策略就是以这个已知点 为中心,以三为半径,在他的周围再找一个随机点。仍然是随机策略,但是限制了范围,这就是不同之处。为了实现有限范围内的随机,我们建立两个变量,一个是 x 随机数,一个是 y 随机数。 为了保证尽可能先把他周围的点攻击到,所以我们一开始先把学习数设为负一到一之间的学习范围,这样能够对应的围绕他紧挨着的这八个点 布置一下前面完全随机的代码,做一点改造。 in 的随机位置生成方法, x 坐标呢,就用 p r 记录 x, 也就是已知点的坐标加上 x 的随机数乘以三十,相应的 y 坐标呢,就是用 p r 记录 y 加上 y 的随机数乘以三十。 重复执行执道的这个条件呢,是要保留的,他可以保证我们的生存点呢,不会重复,也不会出界。把重复 执行的内容替换成我们新的方法。但是做一点微调,实际数的范围呢,从负一到一,扩大到负三到三, 把新的生存策略加回到代码当中去。当击中目标的时候,我们还要增加一些代码,如果击中了击头,那么就意味着当前这个区域已经没有意义了,打中也没有用了,因为已经是坠落的飞机了,所以击中击头之后,把 prglx 和 prgluy 暂时清空。 如果击中的是机身,那么我们就把这个坐标替换进去,作为最新的击中点,看一下新的策略下,电脑是不是真的变聪明了。这一局按说我的手气还是不错的,第一次打中他就是打中了机头,上来就击落了一架飞机。 电脑一开始也只能是随机策略,现在他打中了一枪,看后边下一枪他是怎么打的。我们看到他在 击中点的左下角找了一个新位置作为攻击点,这次也一样,仍然是围绕着击中点来找位置的。我还在漫无目的的寻找他的第二架飞机,但是电脑已经对我的飞机进行集中的狂轰乱炸了。 一个回合之后,击中点周围都已经布满了他的弹痕,看来他很快就要打中我的机头了。他打中了新的位置,我已经感受到了压力,我也被击落了,但是我现在还是没有找到他第二架飞机在哪里。 电脑已经找到我的位置了,我有点危险了, 我被击中了,看来电脑真的变聪明了一点,后边我还会让他变得更加聪明。

哈喽,小朋友们大家好,我是橘子变成的 老师,要带小朋友们来做一个飞机大战的小游,这个游戏是我们要操控大飞机,然后打败正面飞过来的飞机,我们要使用这个 子弹打败对方的一个飞机,如果我们的飞机碰到对方飞机的话,那么游戏就结束了。这个游戏需要三个角色, 第一个是我们操控的大飞机飞机,然后第二个是飞机发射的子弹,第三个是敌方的飞机,然后我们选择一个背景, 首先呢我们对第一个大的飞机进行编程, 第一步需要一个滤镜模块, 第二步需要增加一个变量分数,如果打败了对方飞机, 那这个分数就增加一日期被点击的时候是没有分数的,所以这里分数是为零。我们要用鼠标来控制飞机的移动, 所以要让鼠标无限次的重复执行,让飞机移到鼠标指针的位置。我们可以 看到飞机有三个造型,前面的造型连起来的话形成飞机飞行的动画。第三个就是碰到对方飞机之后就爆炸的造型, 首先要换成第一个造型, 然后我们等待零点零五秒,然后换成第二个造型, 这里需要政策有没有碰到敌方的飞机,如果碰到的话游戏就结束了, 所以我们这里要使用条件判断, 如果碰到要切换尾爆炸的造型, 然后游戏结束就需要停止全部脚本。 第二个步我们要发射子弹, 子弹是一直持续的发射,需要克隆 客人的时候呢,要记得把本体藏起来,然后这里用无限次重复执行,等待零点一秒 作为克隆体,启动时显示这个子弹是在飞机的正前方的,要把它移到飞机的正前方, 我们要用一道 xoy 做标,用到真正模块里的 飞机的 x 坐标以及飞机的 y 坐标, x 坐标跟飞机是对应的, 就在飞机的前面,所以 x 坐标是不变的,我要坐标这里就要加五十了,因为他是在飞机的上面。 然后呢,我们要重复执行不爱坐标证驾驶, 这里添加一个条件判断,所以我们就要判断他的外坐标是否大于幺八零 大雨就删除。此刻楼梯 笔记和子弹前面一组模块是相似的, 但是如果只等待零点一秒的话,这飞机出来的就会太挂了, 我们可以等待零点五秒, 可能自己 启动的时候同样的要显示出来,来设置他的二字位坐标, 我爱坐标为一百八十,爱词坐标他是有范围的,不是固定的, 所以要是一个随机术, 设为负两百二十到两百二十之间,取随机数 不限次,重复执行 外坐标增加向下移动, 添加两个条件判断, 首先判断外坐标是否小于负一百七十, 那么删除。此刻楼梯 在判断是否碰到飞机发射的子弹, 如果碰到了那门换成爆炸的造型, 等待零点音乐, 然后删除。此刻落地 不要忘记滤镜时切换为正常的造型哦,以及将分数变量显示在舞台上 来看看效果吧。 那么这个作品已经完成了, 小朋友们可以自己给作品添加计时或倒计时功能,或者添加一个背景音乐,也可以赞 我方飞机消灭敌方飞机的时候增加一个被消灭的一个音效,然后小朋友们也可以想一想,有没有更好玩的方法可以自己进行添加。 好了,我们今天的飞机大战就到这里了,小朋友们快点动手试试吧, 我们下次再见了。

如何实现游戏效果?老曾来告诉你。 哈喽,大家好,我是老陈,跟着老陈学编程,今天啊,要给大家带来一款老少皆宜的游戏,飞机大战。 要想实现飞机大战的效果,我们首先先要添加素材,比如飞机啊,敌机等等,需要实现效果是控制飞机移动啊,发射子弹攻击敌机。了解了效果之后怎么做呢? 首先啊,我们发现如果一直让飞机移动的话,飞机很容易就会飞出我们的舞台外面。呃,这个时候我们可以利用物理的相对运动原理,让背景不断的向下移动,从而实现啊 视觉上飞机不断往上移动的效果啊,但是只有向上飞行可以吗?哎,当然不行了,那怎么躲过敌机呢?嗯,我们就要用上我们的左右按钮来控制飞机上下左右的移动,注意观察啊 舞台区的范围,不要让飞机移动到了舞台区的外面了。 ok, 飞机移动效果实现了,但是没有子弹肯定是无法攻击的,子弹啊,就是通过克隆的方式被大量产生出来的, 不断发射,那么就会有不断的子弹产生出来,最后飞机啊,他这个子弹只打空气,对吧?当然还是要设置敌机的功能了,敌机也要通过之前的学习,克罗发誓也需要大量的产生,不然的话就只有一个敌机,那么子弹就不停的打空气了,对吧?那么 子弹攻击敌击以后还要被摧毁,最后有一个得分,哎,这个就是给玩家的一个奖励了。 ok, 这就是一个最简单版的飞机大战,你学会了吗? ok, 喜欢老陈的可以点个关注。那么对这个游戏还有一些疑问的同学们呢,可以在我们的评论区进行留言 啊,老陈在下一期的视频中会教大家更多更好玩的作品,或者说我们也可以把这个非洲人进行一个修改,在这里老陈就要和你说拜拜了哟,拜拜。

飞机战旗视频教程第一期,先搞定敌我双方的飞机部署,从绘制角色开始。首先画一个正方形,大小呢是三十乘三十,这里我的边框写成了四, 画好正方形之后,把它直接挪到中心点的位置,注意这个方格就是我们的机头了,确定中心之后不要移动他按着 out 点击方格得到复制品,通过移动这些复制品,拼出一个完整的飞机造型。我们的飞机是机头朝右的,默认的九十度方向, 用方向键移动这些方格,过程中要注意观察造型的大小,一格是三十,那两格就应该是六十,不能超了。最后把边框缩小一下到二,避免在碰撞真正的时候发生误判。开始编码,点击立题之后,本体先给大家演讲起来。我们需要建立一个变量,用来区分各个克隆体的 编号,所以变量的名字叫做 id, 注意它要仅适用于当前角色,这是很重要的,初始值设为零,再建立一个变量就叫做游戏状态,它是适用于所有角色的。初始值呢,我们把它设置为游戏部署, 也就是我们游戏的第一步。最后一个要促使化的变量调整 id, 他是对所有角色有效的,他的含义呢,就是对应的当前你正在调整的克隆体是哪一个。 然后给他一个初始的位置和方向,把 id 加一,克隆,自己产生第一个克隆体,同时记录第一个机头的位置,把它填入 pex 一和 pvie 这两个变量,后边我们要根据这个变量来判断是否击中了飞机。从位置开始,把这一段复制一下,我们要去产生第二个克隆体了, 调整一下对应的机头变量,变成 p ex 二和 p 一百二,末尾记得把 id 重新设为零,这样保证 本体的 id 是零,而克隆体分别是一和二,我们把角色的名字改成 p 一。那么当克隆体启动的时候,第一件事情先让自己显示出来,然后拿来一个重复执行,直到这个条件是什么呢?我们后边再说。先解决一个移动的问题, 我们的目标是用鼠标控制飞机可以按格子对应的移动,所以不能够直接使用一到鼠标位置,这里对鼠标的坐标做一点计算处理。以 x 坐标为例,先用 x 坐标除以三十,我们只要它的整数部分,所以向下取整,得到整数部分之后再乘以三十, 然后再加上一个十五的偏移量,这样就能保证我们的横坐标是落在格子的中心点上的。外坐标也是同样的处理方法,复制一下就可以,在这个游戏里我们还会多次用到这个。同时移动完之后,别忘了把这个机 头的位置也要更新一下,根据克隆写的 id 填到对应的备用里去。补充一下我们从事情指定的条件,那他只在游戏的部署阶段才可以让他去进行这个操作,到了游戏开始之后就不能再做这个操作了,所以限定一下 重复,直到的条件是游戏状态等于开始游戏现在重复执行的内容只能保证克隆体正确跟随鼠标移动,但是什么时候启停没有限制,所以继续加条件,双重条件限制游戏状态等于部署中。同时 各种体的 id 要等于被调整的 id, 不该动的时候不要动,不该你动的时候不要动,有依赖变量进行限制的位置就得有修改变量的地方。当角色被点击的时候, 如果当前游戏状态等于游戏部署,那么就把游戏状态改为部署中,同时把调整 id 改为当前克隆体的 id。 否则如果 如果当前的游戏状态等于部署中,那么就把它切换回游戏部署。点击滤镜验证一下效果 哦。有个问题,克隆体的坐标重合了,微调一下,再次进行验证,点击克隆体跟随移动,再次点击停到当前位置,换一克隆体,同样的效果,还可以再次进行修改, 现在仍然是不完整的,因为如果两个飞机重合了,也可以被固定下来,这是有问题的。我们是通过点击角色,把游戏状态作为开关变量来控制他的停止,那这里呢,就再加现实条件,当前的位置不能碰到舞台边缘,同时当前的这个客容体不能碰到其他克隆体, 那其他的克隆体也同样是角色 pe。 可是我们在碰撞政策里是找不到自身的,那方法呢,就是去其他角色找到碰撞 p 一这个判断,然后把它拖过来,这样就可以在 p 机里使用碰到自身了。三重条件叠加,只有都满足的时候,才能让飞机的位置固定下来,再次进行验证,看看 碰到边缘和碰到其他克隆体的时候都无法固定位置,目标达成。那还有一个问题,要让他进行旋转,按一下右键的时候右转九十度,按下左键的时候左转九十度,把他加入到位置移动的代码中去,再次的验证一下效果, 按一下转了好多次啊。我们加一点等待的限制,每次旋转后等待零点一秒,注意一定是旋转之后等待,不是整个从不执行的等待 位置一旦固定了,就要进入到下一环节。我们按空格把游戏状态改为游戏开始,同时也发送一个消息通知其他角色,游戏开始了,这里也是要有限制的,首先游戏 状态要等于游戏部署,避免在错误的时机发出消息,同时限制 id 等于零,也就是只有母体才能发消息,避免克隆体发出了多余的消息。复制角色 p 一,我们来制作角色 p 二的代码,先把造型颜色换成红色 上去。没有用到代码,但是我们保留那个计算格子坐标的公式。当 pr 接收到开始游戏的消息,就开始完成他的部署工作了。但是有一个特殊之处,我们这里是人机对战,所以我们全程是不应该看到电脑的,飞机放在哪呢? 那么电脑的飞机角色就要把它设置成显示,但是它的虚向设置为一百,处于一个不能看到,但是可以被碰到侦测的状态。位置部署完全采用随机,先移到随机位置,然后利用下边的这个公式对它进行调整,使它处在方格当中。只需要把公式当中的鼠标坐标替换 完成,结束坐标就可以了。再来一个方向随机九十乘以负一到二的随机数,这样我们就得到了第一个随机位置。但是这个位置就一定正确吗? 不一定呀,他有可能碰到了边缘,或者有可能碰到了其他的克隆体,当然就是第一个只有边缘没有克隆体,所以要加一个从不执行直道条件呢,就是碰到边缘不成立, 如果前面的随机位置符合要求,就不需要进入循环,如果不符合要求,就在循环里再次随机,直到他满足要求为止。现在可以给 id 加一克隆,同时记录机头的位置了,注意现在是 prx 一和 pry 一了,把最不用代码复制一下,再产生第二个克隆点, 调整队友呢?机头变量 prx 二和 prv 二。同时我们的从不执行持刀里要加一个条件,就是不能碰到 pr 角色本身,实现自身碰撞真实的方法跟前面是 一样的。最后也要把 id 设为零,让本体的 id 等于零,同时隐藏本体电脑的位置,部署就完成了,这时候可以再广播一个消息, p 一攻击,那么就开始真正的对战环节了,这个我们下次再说。