《我的世界 Minecraft》。大家应该都听说过,但是大家有没有想过用Python写一个这样的游戏呢?太难,太复杂?也许吧,但是在您尝试之前,您怎么知道它是否有效?国外一个叫fogleman的开发者用Python做了这样一件事——自制《我的世界 Minecraft》。谁能想到只有900行代码还能玩得体:接下来,我们将带你运行项目,对这款开源小游戏进行简单的改动,让它成为“你的”世界。1.在开始之前,您需要确保您的计算机上已经成功安装了Python和pip。如果没有,请访问这篇文章:超级详细的Python安装指南进行安装。如果使用Python进行数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手-AnacondaWindows环境打开Cmd(开始-运行-CMD),苹果系统环境请打开Terminal(命令+空格输入Terminal),准备开始输入命令来安装依赖。当然,我更推荐你使用VSCode编辑器,将本文代码复制,在编辑器下方的终端中运行命令安装依赖模块。多么惬意的一件事:Python编程的最佳搭档——VSCode详解指南。在终端输入以下命令安装我们需要的依赖模块:pipinstallpyglet如果看到Successfullyinstalledxxx,则安装成功。然后需要下载这个游戏的源码,输入命令即可下载:gitclonehttps://github.com/fogleman/Minecraft.git也可以在Python实战宝典后台回复公众号:MC下载。2.运行与操作运行本项目非常简单,只需要进入源代码文件夹,输入以下命令:pythonmain.py即可成功运行游戏项目,然后体验本游戏:moveW:forwardS:backA:LeftD:Rightmousemovement:Anglespace:JumpTab:SwitchtoflightmodeBuildingselection:1:Bricks2:Grass3:Dunes鼠标左键:移除建筑鼠标右键:添加建筑[](https://github.com/fogleman/M...ESC:关窗看我的真图:真字真难画,空间不够。3.代码解读与定制接下来我们来看一下这款游戏的代码。整个游戏代码只有902行,真是太棒了:默认窗口大小可以在上图红框位置设置。作者还给出了一些自定义速度、重力、跳跃高度等参数:#FramespersecondTICKS_PER_SEC=60#BricksizeSECTOR_SIZE=16#行走速度和飞行速度WALKING_SPEED=5FLYING_SPEED=15#重力和跳跃高度GRAVITY=20.0MAX_JUMP_HEIGHT=1.0我们可以自定义积木类型吗?注意源代码文件夹下有一张贴图图片:在源代码中,只有3行与用户添加块相关的代码,如SAND:SAND=tex_coords((1,1),(1,1),(1,1))#......t=random.choice([GRASS,SAND,BRICK])#......self.inventory=[BRICK,GRASS,SAND]#1.brick,2.grass,3.sand也就是说,我们完全可以自己添加块,那么这个tex_coords((1,1),(1,1),(1,1))是什么意思?deftex_coord(x,y,n=4):"""返回纹理正方形的边界顶点。"""m=1.0/ndx=x*mdy=y*mreturndx,dy,dx+m,dy,dx+m,dy+m,dx,dy+mdeftex_coords(top,bottom,side):"""返回顶部、底部和侧面的纹理方块列表。"""top=tex_coord(*top)bottom=tex_coord(*bottom)side=tex_coord(*side)result=[]result.extend(top)result.extend(bottom)result.extend(side*4)返回结果TEXTURE_PATH='texture.png'GRASS=tex_coords((1,0),(0,1),(0,0))SAND=tex_coords((1,1),(1,1),(1,1))BRICK=tex_coords((2,0),(2,0),(2,0))STONE=tex_coords((2,1),(2,1),(2,1))读取tex_coords函数后你可能知道参数。这里的第一个参数表示砖块的顶部图像,第二个参数表示底部图像,第三个参数表示四个面的图像。传入的参数中,(1,0)表示为texture.png的第(1,0)张图片:比如沙子,顶边,底边,四个边都是一样的(1,1)image,所以就是:SAND=tex_coords((1,1),(1,1),(1,1))相信理解了这个原理后,你添加自定义图形就不难了自己变砖?大家可以试试看。这是我们文章的结尾。想要我们今天的Python实战教程,请继续关注我们。如果对您有帮助,请在下方点赞/观看。有什么问题可以在下方评论留言,我们会耐心解答!Python实用宝典不只是收藏欢迎关注公众号:Python实用宝典原文来自Python实用宝典:来试试用Python写的游戏《我的世界》
