今天带来的是用拍蛋制作开心消消乐,步骤十分简单,小白也能轻松学会。接下来运行代码出现观察页面,我们来开始游戏,可以看到画面是清晰且流畅的,并且有背景音乐, 完成目标之后也是可以正常进入下一关,如果说你想切换其他关卡也是可以的, 这些呢,就是整体的游戏效果了,是不是很有意思,几百行代码就可以轻松实现,非常适合新手小白练手。演示就到这里,素材都准备好了,留下学习, nice!
粉丝36获赞255

上期视频教学了怎么注册和下载开发工作台这期视频会教学你要用到的工具,现在你分别需要去下载一款代码编辑器、像素绘画工具和三 d 建模,并且我们要知道我的世界使用的是拍丧制作模组。 现在我们打开浏览器搜索川 e 或者 versus code, 两款编辑器各有各的优点。下一集视频会详细讲解之前下载的所有软件。这里我们进入了川 e 官网之后就可以直接下载了, versus code 也是一样,但是要有一点注意,我这下的所有工具没有任何强制付费,如有强制 付费就是盗版,这里的建模软件也同理,然后点击下载就好了。这里拍丧的官网选择从左到右第二个选项,然后就可以直接下载了。这里推荐下版本比较老的,因为我的世界用的是拍丧二点七版本,如果你下载太慢,可以让 ai 给你下。

一天一个拍神干货分享,今天给大家带来用拍神代码制作恐龙快跑游戏。 ok, 各位小伙伴,那么今天呢,给大家分享一个用拍神写的小游戏啊,我们首先来看一下效果,呃,打开这个拍相工具啊,进到这个界面,然后我们点击运行。 好,那么接下来就会打开一个这样的窗体啊,好,我们点击任意按键可以进到游戏,对吧?呃,然后呢就可以开始进行一个游玩。好,那么这边应该是结束了啊, 好,就大概的话呢,是有几种障碍物啊,有这个需要跳跃躲避的啊,当然也有需要这个下蹲躲避的,那么障碍物的出现呢,是随机的啊,你看这里全部都是这个跳跃的啊,然后这个飞鸟的话呢就下蹲对吧?好, 那么这个游戏本身代码并不复杂啊,呃,总共来总共来说呢也就是两三百行的样子啊,除了这些代码之外呢,其他的都是一些资源文件啊,包括在这个地方有这个飞鸟的对吧?啊,有这个小恐龙自身的啊,包括一些其他的资源啊, 好,那么具体是怎么实现的呢?我们一起来看一下。首先我们用到了三个库啊,第一个库的话呢是这个拍 game 啊,就是专门用于这个游戏制作的一个库啊,就是拍省中比较常用的一个游戏库。 第二个是这个 os 啊,呃,用于这个文件已经目录管理的啊,就主要用于目录管理啊,啊,你像我们去读取这样的资源文件对吧?啊,他都要去找某个目录,那么就用了这个 os 啊, 然后再就是那个 random 啊,你像我们刚刚那个障碍物的生成是随机的嘛?啊,那么既然是随机的啊,我们就可以用到这个 random 来生成一个随机数。 好,呃,那么基于这几个库呢,我们就可以进行一个实现了。呃,我们在这里呢,就对这个 python 做了一个通俗化 啊,然后呢我们去设置一些敞亮啊,那么这个敞亮就包括了,比如说这个屏幕的高度是六百,宽度是一千一,对吧?然后把整个屏幕呢去居中摆放啊,所以呢,我们运行之后就是这个界面啊,就是宽度是一千一,高度是六百的一个界面。 好,那么除了这个之外呢,我们所有的这个图片资源啊,都是从这个 assess 这个里面去拿到的啊。啊,那么比如说啊,这个小恐龙在跑的时候用这个 running 啊,啊,在跳的时候用这个 jumping, 对 吧?在低头的时候用这个 ducking 啊, 所以呢,他们都是对应到的一些个资源文件啊,那么相应的这个资源文件的图片啊,给大家稍微看一下啊,比如说跑步的第一个图,这个对吧?第二个图是这个啊,这个两帧图呢,可以组合起来变成这个奔跑的动作, 对吧?呃,再比如说呢,这个低头也有两张图啊,来描述低头奔跑。好,所以这个 就是我们说的这个敞亮设置啊,设置了一些游戏的图像资源。敞亮好,然后呢我们去定了一个小恐龙 啊,小恐龙自身的一个坐标,先给他固定好,对吧?呃,然后呢这个跳跃的一个高度啊,给他定一下,然后再往下走啊,你像这边呢,就他所对应的几张图,比如说低头的时候,对吧?比如说这个 奔跑的时候啊,用这个 running, 就 我们刚定好这个场量啊。再就是跳跃的时候,让它的状态呢?默认是一个奔跑状态,对吧?所以它是一个曲啊。 当然呢,我们可以通过呃去使用不同的按键啊,来使它进行不同的状态,比如说按上那个上键的话,就变成跳跃状态,对吧?那这个东西呢?在哪里设置啊?注意在这里设置,看到没有啊?就如果说你当前是一个低头状态,那我就执行低头方法,如果你是一个什么呢? 奔跑状态,那我就奔跑,对吧?跳跃就跳跃啊,那么根据用户不同的输入呢,我们就可以去更新这一个小小恐龙的状态,对吧?啊?其实很简单的一件事啊,那就比如说你当前按的是这个 app 就是 上键啊,我们就把它的这个状态改成一个 jump, 一个跳跃,对吧?啊?如果你按的是这一个 向下的键啊,那就变成这个低头状态啊,变成一个低头状态,好,就大概是这么回事啊,好,然后呢往下走啊,他的每一个动作在这里都有描述,对吧?啊?第一件事就是换图片 啊,你蹲下的话肯定有蹲下的图片,对吧?奔跑的话有奔跑图片啊,这个地方就是他的每一个动作的一个处理啊,集中在这三个方法里面,呃,然后呢会制小恐龙的方法,用这个叫啊,然后除了定义小恐龙之外呢,还有这个云,对吧? 包括什么呢?这个障碍物啊,障碍物的话呢,他肯定和这个小恐龙的碰撞有相应的逻辑关系啊,那就如果碰到了之后呢,就要结束游戏,对吧?好, 然后再就是这个仙人掌和这个大仙人掌以及这个鸟啊,因为他们三个都是属于这个障碍物的啊,所以呢,我们在写代码的时候让他们去继承了这个障碍物啊。好,所以呢,他们这三都是被小朋小恐龙碰到之后就游戏结束了啊, 好,然后再就是有些主函数啊,啊,那就包括去呃定一些个,就是创建一些个窗体啊,对吧?定一些计时器啊,好,然后呢去进行一个得分计算呀,对吧?进行这个背景的滚动啊,就是这样的一个操作啊。 ok, 那 么这一来的话呢,我们整个的这个游戏功能就实现了啊,实现了,那么相关的原版呢,已经打包好了,如果大家伙需要的话呢,都会发给大家。好,那么这个分享到这里就结束。


今天跟大家分享的是用 python 代码制作捕鱼达人小游戏。 hello, 大家好,我是玉米,今天给你们分享一个用 python 实现的一个捕鱼达人的游戏,我们先来看一下这个游戏的一个运行效果, 来,我们点击开始 按下鼠标之后可以发射子弹啊,好,然后这个游戏里面的话,我设置的鱼的数量会比较少一点,你如果想要这个小鱼的数量多一点的话,你是可以自己在代码里面去改的,明白吗?你也可以给这个游戏加一个背景音乐, 那么稍微演示一下吧,当你攻击到这个鱼的时候,它会有一个金币的效果啊,会有一个得分, 然后这个小鱼的种类也是比较多的。 好,那么效果的话我们就看到这样来看一下我们的代码是怎么实现的。好,如果说你想运行这个代码,那么首先第一步呢,你肯定需要是先去安装这几个我们需要的库啊,你可以直接安装这个文本文件,然后就可以直接把这几个库都安装好, 那么这个的话是我们的一个主函数的一个主类啊,这个主类的话我们主要是来调用我们其余的一些类啊,这些类里面,比如说这个的话,我是在这里写了子弹的效果,以及像这个的话是用于这个大炮发射攻击,然后还有这个的话是一个硬币啊, 这个代码的话也是不是很多啊,每一个类的代码量不是很多,可能就几十行的样子,也比较简单。好,然后这个是小鱼的类,小鱼的坐标看到没有? 他的话其实是一个随机位置出现啊,但是如果说他超过,刚刚我们就是看到了这个框的这个页面啊,比如说他的一个路径啊,他已经从这一边,然后走到这一边的话,那么他超过这个框他就会消失, 看到没有,他不会说从上面游下来啊?这个是我们去给他设置好的。



一天一个 python 干货分享,今天给大家带来用 python 代码制作捕鱼达人游戏。 hello, 大家好,今天给你们分享一个用 python 实现的一个捕鱼达人的游戏,我们先来看一下这个游戏的一个运行效果, 来,我们点击开始 按下鼠标之后可以发射子弹啊,好,然后这个游戏里面的话,我设置的鱼的数量会比较少一点,你如果想要这个小鱼的数量多一点的话,你是可以自己在代码里面去改的,明白吗?你也可以给这个游戏加一个背景音乐, 那么稍微演示一下吧,当你攻击到这个鱼的时候,他会有一个金币的效果啊,会有一个得分, 然后这个小鱼的种类也是比较多的。 好,那么效果的话我们就看到这里啊,来看一下我们的代码是怎么实现的。好,如果说你想运行这个代码,那么首先第一步呢,你肯定需要是先去安装这几个我们需要的库啊,你可以直接安装这个文本文件,然后就可以直接把这几个库都安装好, 那么这个的话是我们的一个主函数的一个主类啊,这个主类的话我们主要是来调用我们其余的一些类啊,这些类里面,比如说这个的话,我是在这里写了子弹的效果,以及像这个的话是用于这个大炮发射攻击,然后还有这个的话是一个硬币啊, 这个代码的话也是不是很多啊,每一个类的代码量不是很多,可能就几十行的样子,也比较简单。好,然后这个是小鱼的类,小鱼的坐标看到没有? 好,他的话其实是一个随机位置出现啊,但是如果说他超过,刚刚我们就是看到了这个框的这个页面啊,比如说他的一个路径啊,他已经从这一边,然后走到这一边的话,那么他超过这个框他就会消失。 看到没有?他不会说从上面游下来啊?这个是我们去给他设置好的。


一天一个拍森干货分享,今天给大家带来用拍森代码制作桌面宠物。好,咱们来分享一个拍森游戏开发之桌面宠物啊,那么像拍森的话呢,怎么做游戏?我相信可能说你们都已经有看过对不对 啊?能够做出一些什么效果呀?但是的话呢,做游戏他总是有一些瓶颈的啊,所以说的话呢,我们来尝试一下来完成一个桌面宠物。呃,那么这个东西的话,大家可能都明白啊是什么意思?那么首先的话呢,我们来看一下啊,我们的是一个素材是怎样子的,其实呢我是准备了一些表情包呢, 对吧?就是那个动图表情包呢,用他们呢来生成一个效果的,比方说这是一个图片啊,降落图片,然后呢这个是待机动作,然后这个是来回跑动, 对吧?我会用他们的话呢来做出一款就是我们的一个专门小宠物啊,所以说的话这个原码的话呢是一样的,但是的话大家可以自己呢去准备一些你自己所心仪的那些动图,然后自己去 diy 啊,把名字的话呢做一做一些修改就可以呢,变成一个你所想要的那个效果了。 好吧,我们来右键把它来运行一下,看看是什么样子的啊?好,那么这个小角色的话呢,从天而降,然后呢就是先是啊跑动了,对不对?好,来个跑动,然后呢我们有一个道具啊,带节奏,我们来看一下啊,如果说啊在桌面的话就是这个样子的, 好吧,这是我们的一个小原版啊,厉害厉害。

今天跟大家分享的是用拍算代码制作俄罗斯方块游戏,哈喽,大家好,今天给大家讲解如何用拍省做俄罗斯方块游戏代码呢比较多,我们一步步讲解每个具体步骤的实现。咱们先看到代码部分,首先啊,第一部分我们会创建一个 显示游戏界面的窗体啊,在这里面我们会用到一个 tikin 啊这样的一个第三方库,大家来看一下实现效果。 那这个时候是不是就拿到了一个这样的能够显示游戏机游戏界面的窗体,但是窗体呢还不是特别的符合我们的一个大小规范,以及呢里面呢也没有俄罗斯方块所需要用到的格子,所以呢我们就会需要用到第二一步。 第二一步啊,我们就利用啊这样的一个第三方库,它的一些特性来给它绘出一些相对应的格子,那这里面会用到这个 tikinitor 里面的一个 canvas 啊这样的一个功能,画布功能, 具体代码在这里大家可以参考一下。然后咱们再点击右键运行一下,这个时候我们可以看到这个窗体里面呢,它就已经能够显示对应的一些格子数了,对不对?呃, 这样的话,我们的这个俄罗斯方块就能够运行在这些格子当中。 ok, 这是咱们的第二步,那么咱们再来看一下第三步, 第三步啊,我们就要开始绘制各种俄罗斯方块的图标,也就是游戏里面会出现的像正方形啊,呃,竖形啊,对吧,这样的一些 这样的一些相关的图标,那么我们就需要去设置不同形状的格子,这里面呢咱们就先以最简单的这个俄罗斯方块,也就是田字格啊来举个例子啊,这个具体代码大家看一下, ok, 所以 咱们在之前的代码记录上面呢,给了一个会制格子的代码,然后再填入它相关的一些坐标的一些参数,以及设置好一下这个格子啊,它的一个颜色, 点击右键运行一下,这里咱们是不是就能够成看到呢,已经成功的绘制出来了这样的一个方形的俄罗斯方块,就这样填字格, ok, 咱们再往下面看啊,那么再按照上一个格式,我们再以坐标轴的方式啊,定点的方式呢,会在不同形状的一些格子啊, 一些不同形状格子啊,分别写在这里,并且呢给每一种不同颜色的格子,给他,给他赋予啊这个对应的颜色点代码啊给大家先看一下, 我们每一步呢都是在之前基础上面啊进行的这样的一个添加操作,这样的话呢可能各位同学在理解起来也会更加的简单一点,那么这里面就是我们刚刚所画图形啊的一个测试代码,点击右键运行,我们看一下 现在是不是每一种类型的格子咱们就都已经拿到了,好,那么咱们再来往下面看啊,看下第五步 俄罗斯方块里面呢,他是每一个不同的图标啊,从上往下啊进行的一个什么进行的一个下坠,然后掉到最后最下面没办法掉下去的时候,或者有一个累积的时候呢,他就能够根据是否满行,然后进行一个消除, 对不对?那么在咱们游戏实践当中啊,可能他的一种实验方式跟你们之前的一些理解呢,是有一定的区别的, 因为像俄罗斯方块他动起来本质上面是干嘛?是设置一个刷新时间,然后让整个页面的格子进行不断的加载,不断的刷新页面,得到的是一种动态累积的效果。 你也可以联想一下咱们现在所看到的电影,电影其实就是什么一秒钟多少多少张不同的图片,然后进行了一个累积,对吧?咱们称之为多少多少帧啊?例如三十帧啊,一秒钟三十张图片啊,大概是这个意思,然后他连起来就是能够看到一个完整的动图,这是咱们的一个代码实现, 代码实现啊,那么这就是让他啊进行移动的一个方法,然后呢让游戏不断的循环进行一个刷新, 那么这个时候是不是就能够看到这样的一个俄罗斯方块他下坠的这种效果,实际上面他是不断的去刷新这样的一个什么窗体页面来实现的。 ok, 那 么咱们再来看一下第六步啊,第六步 我们就开始模拟在游戏当中生成和固定某个俄罗斯方块的图标了啊,生成什么生成的?是不是随机生成?随机生成完以后如何固定它呢?它坠到无法再进行下坠的时候,咱们就把它固定了,对不对?咱们就把它进行固定了,所以呢,咱们来看一下这样的一些相关的代码啊,相关代码, ok, 点击右键运行一下,好,现在是不是能够下坠了?然后每一个图标是不是就能够累积在一起啊?累积在一起,累积到最上面, ok, 好, 这一个下坠就已经把它实现了,如何去固定和生成这样的一个俄罗斯方块,咱们再看下一步 实现一个什么呢?实现俄罗斯方块图标左右移动的效果,那么咱们玩俄罗斯方块时候,是不是能够让这样的下载的图标进行左右移动,来把它放到合适的位置上面,然后呢来确定它是否能够去消除某一行或者某几行,对不对? 那么咱们再来看一下这个相关的代码,大家可以参考一下。 ok, 点击右键看一下效果,好,现在我们就可以通过键盘去移动它了, ok, 好, 这就咱们的一个啊,这个第七步的一个效果展示,然后咱们再往下面看啊,现在啊我们就需要实现俄罗斯方块图标的一个旋转了, 因为咱们在进行拼接的时候呢,我们需要不断的去旋转俄罗斯方块里面的一些图标,然后达到我们所想要的一种效果,把它恰好的插在一个可以满行的一个位置上面啊,这就是咱们这第八步所要实现的一个一个 一个目的啊,大家也可以看一下相关的代码啊,在这边给大给大家出来的看一下,如果说你需要用到原码的话呢,那么你就可以,呃, 给我留言啊,给我留言,或者说啊一键三连啊,这个的话评论区留言也可以啊,直接私信我也可以好吗?大家可以看一下啊,这个相关的代码, ok, 这里呢因为时间问题,咱们就不过度的演示了,点击右键运行 好,按上这个鼠标,按着键盘的向上的这个方向键,它就能够更换形状,对吧? ok, 好, 这咱们第八步,然后咱们再来看一下第九一步啊,我们就需要去做一个清除语句得分的一个操作,也就是一行满了以后呢,我们就消除一行,并且呢记录得分十分这样的效果,咱们看一下代码, ok, 点击右键运行,咱们来尝试下效果啊, 哎,是不是能够消好,并且这里还能够把这个分数怎么样添加到十分,对不对? ok, 这咱们第九一步, 那么第十一步呢,就比较简单了,它会追加一个什么记录,就是你每次游戏得分结果最后的一个标题,添加到咱们这样的一个画板当中,这个窗体上,上面啊进行显示, 然后咱们这个的话呢,就只要去修改一下窗体上面的一些相关的一些参数,就能够实现这样的一个步骤啊。这个代码的话呢,大家先出来的看一下啊,先出来的看一下, ok, 所以呢就是这样的分成十个步骤,咱们就一步一步的最终实现了最后的一个效果啊,咱们运行一下最后效果, ok, 那 咱们就快一点啊, 好,对不对?最后显示啊,你得了十分啊,就是这样的一个效果。那这就是咱们本节课啊所简单讲解的一个啊,按照十个不同的步骤讲解这个俄罗斯的一个代码啊,那么咱们今天这节课就先到这里,各位亲爱的同学,下次再见,拜拜。

本期编程代码教程,用 python 制作超级玛丽宝子们,本期代码简单易上手。首先我会把这份代码分享给屏幕前的你,接着需要右击运行屏幕中的代码 就可以开始进行游戏。开始界面可以选择单人模式,或者和朋友一起点击键盘上面的回车键就能开始游戏。游戏的还原程度还是十分高,角色会出现在我们的屏幕当中,我们需要控制角色在途中躲避或者击败出现的怪物, 还有很多隐藏道具需要我们去获取,让我们获得更高的分数,最终走到终点。操作起来还是很简单的,在我们的代码中也是很容易就能进行制作,做起来也是十分容易,非常适合零基础小白练手。 nice!

教大家怎么拍照片,各位亲爱的同学,欢迎大家来到咱们今天的拍省小课堂,咱们今天会讲解一个拍省的游戏案例啊,用拍省实现咱们的天天酷宝这个简单小游戏的制作。 那么关于这个游戏的话呢,有以下几个注意点啊,大家注意一下。首先第一个是关于游戏它的一个设计思路,呃,如果说你对于 python 编程没有太多的基础的话呢,可能这样的一种写法你会有点懵,因为咱们这个游戏它全程是以面向对象的方式进行书写的, 也就说他把里面所有的游戏角色,例如玩家障碍物和背景封装成了类,然后再通过去调类的实力化对象去实现他的相关功能的啊,大家不要 诧异,因为以后的代码基本上都是那么写的,而而我们平时所见的游戏呢,也基本上都是这么开发的。 第二一个就是关于游戏的设置问题啊,我们需要去设置一下游戏的界面,例如他的长和宽是什么样子的对不对?所以呢,他就会在你的电脑屏幕上面一个特定的尺寸进行展现。第三一个就是设置游戏逻辑, 这个天天酷跑游戏呢,他主要就是通过玩家啊操纵这个游戏角色,躲避障碍物,如果说你跑的距离更长,那么你就能够 得到更高的分,以及呢在这个跑的过程里面,你可以去吃这样的金币啊,提升你得分,如果一旦碰到障碍物,就算你的游戏结束。所以 里面的一个非常重要的点就在于它得分是如何设置的,第一个时间,第二个通过吞吞食金币,对吧?第二一个就是怎么样去宣告这个游戏是结束的, 在咱们的这个游戏当中,不管你是玩家角色还是咱们将要躲避的障碍物,都是以一个图片,也就是说有一个特定的尺寸出现在咱们的这个屏幕当中去, 然后咱们对玩家角色或者障碍物的图片进行定位以后,如果发现你们的图片有重叠,那么就说明你们已经碰撞在一起了,这个时候就算游戏角色,所以这就是一个思路啊,这是游戏它的一个思路, 那么咱们来看一下注意点啊,关于这种游戏的制作,它重点就是在于相关库的使用,向拍子里面提供了一个非常好用的库,叫做拍 game, 对 吧?可能很多同学有用过, 但是它的重点在于你是如何去使用里面的功能,或者说如何去配置里面各项参数的设置,呃,在这里呢,并没有很好的体现出来说啊,这个对于拍损代码逻辑它的一个 展示对不对?所以这个大家注意点啊,游戏的制作重点就是在于相关库的使用,并且呢还要包括各项参数它的一个设置,那么咱们来看一下相关的代码, 在这个代码当中,首先第一个啊,当然是代码部分啊,这是咱们整个游戏代码,不管你是导入的模块配置的相关属性以及定义的相关类或者相关函数的实现,都在这个文件里面实现啊, 都是在这里实现的。然后我们还需要以下的两个东西,第一个文件夹里面是包含了我们等一下可能会用到背景图片,对吧?这样的一个开场图片,以及呃,玩这个障碍物图片 以及游戏玩家图片啊,这都是咱们要用到的,还有一个以点 ttf 截图的结尾的,那这就是我们在游戏当中要用到的字体这样的文件, ok, 那 么主要呢就是包含图片字体以及代码文件这三个部分,那么咱们就先来看一下代码文件, 关于代码文件的话呢,代码游戏他是怎么玩的?我先给大家演示一下,点击鼠标右键 run 啊,这个时候是不是就可以看到一个游戏角色啊?他在这里奔跑,然后我们可以通过控制空格键来对他进行跳跃或者进行躲避, ok, 然后的话大家看一下,哎,吃到金币以后,他是不是他的得分会提高,以及伴随着这个游戏时间的拉长,他的这个得分也会得高,也会提高,对吧?但是刚刚咱们不小心碰到这个障碍物, 所以这个游戏他就结束了,也展示出来的是什么,你目前所得的分数以及最终的一个这样的一个图片,他的一个展示, ok, 这就是咱们整个游戏的思路,那么咱们擦掉它, 大概来给大家讲解一下,好吧。首先第一部分需要你导入一个拍 game 啊,这个 game, 这个游戏这个模块的话呢,它是一个第三方模块,是需要你自己通过终端用 ipad install 的 命令进行下载的。 来一个 cs 模块, cs 模块,呃, cs 模块它跟 os 模块区别在于 os 模块是对操作系统进行交互,而 cs 模块呢,它是对于 python 解释器环境来进行交互的,这个大家注意一下,并且呢我们还会用到一个 random 模块, random 模块跟 cs 模块呢,都是咱们的标准库, cs 模块做到是一个跟解释器进行 交互的作用,而 random 模块它所起的作用是产生一个随机数啊,可能很多同学有所了解,对吧?然后我们就开始进行相关的游戏配置,例如这个游戏它的尺寸长和高,对吧?进行一个设置,然后呢,再把这样的长和高的设置,把它变成一个圆组,在 python 代码当中,用逗号连接两个 连间,两个数据都会被打包成一个圆组,所以 size 它就是个包含长和宽的圆组。以及咱们设置一下初始得分等于 long 对 吧?因为没开始游戏,那当然是等于 long 的, 再设置一下所谓的字体,然后图片变量这些暂时都不用管,全部设置为 long 啊,所以说设置为 long。 然后接下来呢,定义完这些初始化的属性以后,我们就可以开始了设计我们的游戏角色类的,无非就是你首先要传入了几个相关的实力化的参数, ok, 例如人物类的构造函数啊,这样的一些,他所俗称话的就是对于人物对象的属性啊,对于人物对象属性,以及我们会在里面用到相关的 数字来代表人物的一个状态,奔跑,跳跃或者连续跳跃啊,连续按两下空格,他就是连续跳跃以及相关属性,并且啊,我们会得到一个人物对象,他在当前操作的这个游戏尺寸上面的一个矩形区域啊, 这个是关于游戏角色定义,以及我们会用相同的方法去定义一下障碍物类啊,障碍物类也能够得到相关障碍物对象它的一个游戏举行区域,并且你会发现在障碍物类对象里面它还包含了一个什么东西, 它还包含了一个判断两个举行区域是否发生碰撞的一个函数,如果说发生碰撞,那么就会返回处, ok, 那么咱们再往下面看看一下他的背景类啊,没错,这个背景也是被定义成了一个类啊,那么就定义他就比较简单啊,只有一个构造函数,一个因子函数,初识化一下 这个背景对象他的一个相关的属性。然后的话我们就开始来看一下咱们的这个游戏函数的初识化了,包括你要加载图片创造对象,在这个函数当中去 定义,或者说就是使用咱们的相关的全卷变量啊,这样的一些问题,大家看一下啊,看一下, ok, 例如啊,分数抽象对吧?加载字体 创建时钟对象,它的作用是用来控制游戏循环的一个频率,然后输出游戏的状态以及游戏背景的设置,并且啊设置一下结束画面以及人物图片,障碍物图片,这些都是刚刚咱们在介绍第一部分这个图片里面来给大家展示到的。 然后咱们再看一下生成障碍的函数,它的作用就是通过这样的一个函数,它能够确保你是否来生成一个障碍物,如果说当它生成的障碍物的时候,它就会调用障碍物生成的类 名,再加上什么相关的参数式,实际化这样的一个障碍物对象啊,然后让它出现在咱们的这个游戏屏幕当中, 然后呢还有更新游戏逻辑的函数,包括你要怎么去处理键盘的事件,对吧?移动角色和账户等操作,键盘是通过空格摁一下跳,摁两下就是连续起跳,以及你能够决定他什么时候跳以及什么时候不跳,再通过循环加判断的方式 不断的对他啊进行相关的一些背景的移动啊,人物的移动啊, ok, 还有咱们障碍物的一些移动的东西,是吧?其实其其实就是通过这样的图片让他不断的移动位置来造成一种他这个角色在奔跑以及图片呢,在迎面走来的啊,这个障碍物在迎面走来的一种错觉, 对不对? ok, 那 么还有一个就是更新游戏台的一个矢图函数啊,例如贴图、背景啊,角色和障碍物等等啊,这些东西的话呢,几乎都是一些游戏它的一些设定啊,大家可以看一下啊,它是怎么样去形成的?最后我们再定义一下游戏运行结束时的页面, 它包含首先它要显示出你最终所能够得到的分数是多少,并且呢它还会调用到 游戏某一个图片,用来宣告游戏运行结束,对不对? ok, 然后最后就是最重要的就是主运行函数,因为咱们一般在内的封装以及调用当中, 我们会怎么去处理这样的一些函数,也好对象的方法的调用呢?我们会把所有的调用把它放到一个主运行函数当中去, 所以当我们最终运行这个代码的时候,我只需要通过调用这个主运行函数就能够直接实现,所以我们是把封装的复杂啊留给了自己,对吧?调用的简单呢,留给了别人。那么最终在设置完这个主运行函数以后啊,这个主运行函数面去实体化的对象 去呃,做了一些相关的循环,去调用相关的方法或者属性,最终我们就只需要运行这个函数,然后就能够实现这个相关的游戏功能了,那么咱们点击右键运行再试一遍。 ok, 大家可以看到,其实图片他就是不断的去更改他的一个位置,造成一种他在人在往前走的在那种错觉,对不对? ok, 因为屏幕他始终都没有变过的,只不过呢是一定特定的速度,把你的图片从左从右往左移动。 ok, 好, 那么咱们可以跳一下啊,跳两下。 好, 好,那这就是你的最终得粉。 ok, 那 咱们今天这个项目呢,就先讲到这里啊,各位同学可以去熟悉一下拍 game, 它里面的相关游戏设置里面非常的齐全,功能也是非常的多 啊,但是呢还是要去熟练掌,还是还是要多去练习才能够熟练掌握。好嘛,那么咱们今天课程就先上这里啊,咱们下节课再见。拜拜。

哈喽,大家好,我是居然今天来给大家讲一个贪吃蛇的小游戏啊,那我们还是先来看一下它的实现的一个主要的思路啊,首先我们要安装一个 pygame 这个模块啊,我们通过 python 去安装就可以了, 那安装完成之后的话,我们首先要导入这个模块,然后并出使画游戏引擎啊,这块给了一个势利的代码,当我们真正在做这个游戏的时候,肯定不会代码就这么简单,对吧?包括我们最后一个这代码比较多,我就没有给大家放。 然后呢我们接下来要定义游戏的窗口大小和其他一些参数啊,这都是些视力,咱们那接下来就是创建窗口并设置一些标题,然后呢定一些颜色啊,还有就是我们要抽象贪吃蛇的一个触食位置和长度啊,还有我们的食物,对吧?因为大家知道贪吃蛇是什么, 就是一个蛇一个食物是吧?比如说这个是你的蛇,是不是这是你的食物啊?你要把它的位置啊, 大小啊,我们一开始初始化的时候要把它定义出来,然后最主要的其实是我们这里啊,编辑游戏的主要循环,包括时间处理啊,对不对?当你按下了这个方向键,上下左右是不是?然后包括我们要会制一些游戏元素, 你的这个食物啊,然后还有更新我们贪吃蛇的一些位置,包括碰撞检测啊,就是你的蛇如果撞墙了啊,我们就认为这个游戏呢就结束了,是不是? 那我们来看一下具体代码实现啊,这个具体代码呢,大家看啊,嗯,比较多,对吧?但是我教大家怎么去看啊?如果大家是刚刚学习的时候啊,在面对代码比较多的时候,我们怎么去看啊? 来啊,大家可以把所有代码都先收起来,把所有的代码你都先收起来,我们就看主要的业务逻辑啊,从上往下看,往下找,找一个什么呢?找他最下面这个, 找到最下面这个,这就是一个主函数啊,这就是一个主函数。那我们来看这个主函数啊,通过主函数来什么来看上面的代码?如果大家一行行看起来的话,其实是比较困难的,对不对?我们通过主函数往下去看, 首先出水话啊,这个我们刚才在笔记里面给大家看了一下,对不对?这出水话,然后接下来呢,设置了一下什么屏幕的啊?这个大小对不对?这个是上面定义的一个两个什么全局变量啊,我们也可以认为它是常量。 然后接下来的话,他把设置的什么,通过这个 display site model 啊,把这个窗口大小设置了一下,然后呢他又设置一下什么?应该是窗口的一个标题,对不对?那我们回头看一眼,是不是设置的应该是窗口的一个标题啊? 那接下来呢?这个 clock 是 时钟的意思,对不对? pygame 点 time 点 clock, 这什么意思呢?我们暂时先放在这里啊,暂时先放在这里,对不对?我们知道它是一个跟时间有关系的,是不是?然后这个呢?这是抽象的一个分数,这是定义了一个变量啊,抽象等于 false, 那 我们也不知道干嘛的,我们继续往下看,对吧? 接下来大家注意看他实力化了两个类,一个是什么?一个是蛇的,一个类,一个什么?一个是食物的,是不是?那实力化的时候,他如果没有调用内里面的方法的时候,我们也不需要去看内里面这个具体的,那写了什么,是不是如果大家想看的话,看一下以内的方法就可以了 啊?看一下他的以内的方法就可以了。其他的方法我们其实不用去看,因为他并没有调用,是不是?他在没有调用的时候,我们先暂时不用看里面方法,看一下出水话就可以了。 首先他定义了一个什么,一个这个变量啊,一些变量,然后去做了一些循环,是不是啊?然后接下来呢?接下来我们看实物这个量,看他注的话做了什么,这块其实也是设置一些什么 一个变量,对不对啊?他是做什么呢?我们一会再来说啊,来看完触手画方法的话,我们就可以把这个什么泪给合上,你就不用看了。那接下来的话,这是一个死循环,是不是?然后呢?这个死循环他一定是有推出的,大家不用这个不用担心啊,首先我们去循环获取,对不对啊?获取什么呢? 获取啊,这个 type q 的 pi game 点 q 的, 这肯定是退出,是不是?如果这个啊,他的事件是什么是退出的话,那我们 system 就是 相当于把这个游戏给退掉了,是不是?如果说他按的是什么键盘啊等等,那现在的话他要什么? 他要移动,是不是?这个时候他调用了蛇里面的一个什么一个方法,这个方法干什么呢?改变方向的对不对?他是怎么改变呢? 来啊,他是通过什么?他最后啊,其实跟我们返回是不是 c f 点,然后等于什么? caron, 是 不是?他这个是什么 能改变左右啊?但是不能上下改变,这是啥意思啊?我给大家来看一下,我们实际演示一下这游戏啊,大家注意看,当我现在按上的时候,其实是没有用的,也就是我们的这个蛇啊,他只能怎么走呢?这样往上他不能直接掉头啊,这样不能直接掉头。好吧,这是我们这个游戏的一个业务逻辑啊, 他只能这样,就是你如果往上的话,只能拐个弯,然后他不能直接的啊,这样回去,好吧,所以说他这里这个方法是做这个的, 那我们接下来的话继续往后看啊,他又判断了一下 k 等于什么?空格,是不是这个空格?什么意思?当我们这个游戏啊,当你挂了之后啊,他会有个,比如说你按空格,是不是按空格,然后揣个根,你就说再来一次吗?当我们按空格的时候,这个游戏是不是又再来了一次,对不对 啊?那就是这个啊,他如果是空格的话,如果你的摁下的键子是空格的话,并且是什么,他是什么?他是处的情况下,对不对?那大家现在知道他是干什么?这个变量应该是有关什么? 应该是有关这个折折了,就是这个游戏啊,你的挂了之后,对不对?然后呢?他应该是把这个变量赋,为什么赋为一个处,对不对?然后接下来再重新的调用这个漫画,就是重新再来一次, 对吧?那接下来呢?这是设置这个背景颜色,这二五五,二五五啊,他是这个 rgb 啊,颜色 rgb, 来,那我们接下来再往上看啊,如果说他 note 对 不对啊? note 的 话就是吗?没挂对不对?没挂的话就是每走一步啊,这是分是不是?那我们刚才看到他出出发定一个变量,这是每走一分,每走一步就加一分,然后呢调用里面的木这个方法是不是?你看现在我们去 看这个木方法,那木方法里面它调用了一个什么 a, d, d, one, 然后呢又调用了一个 delete one, 那 我们一个一个看,首先看 a, d, d, one 这个方法, a, d, d, one 这个方法来 left, 首先定一个什么?一个圆组,然后呢? bode, 对吧?他把这个绑定呢? left 和什么 top 啊?放进去是不是定义了什么?相当于一个负值,然后接下来的话来去画,对不对?这个呢?这个方法就是画的意思啊,在屏幕上显示出来啊,你的这个具体位置是不是?然后呢?二十五,二十五啊?这 接下来的话,如果大家看明白的话,可以看一下它的一个注示啊,等于这个,然后呢它里面有一些这个方法,我们可以看一下 是不是它这个方法。你看啊,我们现在传的是什么?四个参数,那这四个参数是什么呢? left, top, 然后宽,然后呢?宽高是不是?那也就这四个参数,这后面俩是宽高呗,前面是吗?左和上是不是? left, top, 然后接下来的话他又去什么啊?又去判断对不对?如果说判断他相等的话,就是摁的是上下左右,对吧?然后呢分别把四个方向的位置啊,进行什么加或者减,对不对?然后呢把这个 body, 这个 body 呢是一个列表,是不是?然后呢? insert 啊?零 把这个 node 添加进去,添进去之后呢?他后面一定是有什么有对这个 body 啊,这个位置做什么?做处理, 对不对?那也就是说他这个蛇啊,当我们在移动的时候,他是怎么进行这个增加呢?就是你看他是当我们移动的时候,他是把最后一个去掉,然后把头上给他加上一个 这种方式啊,让我们整个蛇显示出来,好吧?这是指示在移动的时候,然后移动的时候你不能光增加,对不对?如果你四个就是在你移动的时候,你的蛇身光增加的话,那个蛇是很长的,是吧?然后呢?你还有什么?你还要把最后一个踢出去,是不是啊?把最后一个踢出去, 那现在的话,我们来逻辑看到这里,看到这里之后的话,哎,他接下来紧接着就循环这个包队了,是不是?他后面往这个包队里面添加,添加元素的话,他一定是为了什么 用,是吧?然后接下来这里会制矩形啊,这个是往哪个对象往这个屏幕上会制一个矩形,这是一个颜色 rgb, 对 吧?然后这个呢,就是这个矩形的宽高,然后这是线条,那个矩形的线条的一个这个宽高,是吧? 那接下来显示死亡啊,就是如果说你已经挂了,对不对啊?这个方法就是 a 字,什么 a 字带的,对吧?就是你挂了,是不是 挂了之后呢?然后我们看它的业务逻辑处理啊?来这里如果挂了之后呢,就显示啊,这个 show text 的 话,它不是咱们 pygame 里面,而是自己定义的啊,而是自己定义的这么一个方法,然后呢它显示啊,把一些这个字体显示上去,对吧?你看 在屏幕上,然后这是位置,这是文本,这是颜色,剩下都有一些默认参数,我们就不用管了,对不对?那来这是什么?你如果大家不知道的话,就看咱们这个方法,这是位置,是不是?他在屏幕上哪个位置显示的是什么?然后呢这个是颜色啊,等等, 那接下来还有什么?还有就是当我们吃掉,就是你把那个食物吃掉之后,是不是来看这里啊?等于对不对?吃掉之后呢要移动对不对?然后舌身呢?要增加, 对吧?蛇身的长度呢?你要去增加一个,然后接下来呢这个食物的位置呢?你要把它重新的去定一下,然后呢再去让它显示出来,是不是把这个食物啊重新显示到屏幕上,然后接下来显示分数,对吧?这是更新啊,这是更新你的游戏画面的话,要实时更新的, 接起来 clock, 哎,这时候看到我们刚才在上面看到那个 clock 了,这什么意思啊?就是他要更新画面,每十毫秒去更新一下我们的画面啊, 那整体的优逻辑我们就看完了,对不对?我们是不是通过查看慢方法,然后把整个贪吃蛇的游戏来给大家说了一下啊?当然这个大家还要回去自己练习啊。