网站建设改版目的,莱州相亲网站,wordpress网页登陆,wordpress备案号不显示文章目录前言一、准备二、运行及操作三.代码解读与自定义总结前言
《我的世界 Minecraft》大家应该都听说过#xff0c;但你有没有想过自己写一个这样的游戏呢#xff1f;太难、太复杂了#xff1f;也许吧#xff0c;但是不试一试你怎么知道能不能成呢#xff1f;
国外有…
文章目录前言一、准备二、运行及操作三.代码解读与自定义总结前言
《我的世界 Minecraft》大家应该都听说过但你有没有想过自己写一个这样的游戏呢太难、太复杂了也许吧但是不试一试你怎么知道能不能成呢
国外有位叫fogleman的开发者就用Python做了这样的一件事——自制《我的世界 Minecraft》谁能想到仅仅900行的代码玩起来竟然还像模像样的 接下来我们就带你运行这个项目并对这个开源的小游戏做一下简单的更改让它变成“你的”世界。
一、准备
开始之前你要确保Python和pip已经成功安装在电脑上噢如果没有请访问这篇文章超详细Python安装指南 进行安装。如果你用Python的目的是数据分析可以直接安装AnacondaPython数据分析与挖掘好帮手—Anaconda
Windows环境下打开Cmd(开始—运行—CMD)苹果系统环境下请打开Terminal(command空格输入Terminal)准备开始输入命令安装依赖。
当然我更推荐大家用VSCode编辑器把本文代码Copy下来在编辑器下方的终端运行命令安装依赖模块多舒服的一件事啊Python 编程的最好搭档—VSCode 详细指南。
在终端输入以下命令安装我们所需要的依赖模块:
pip install pyglet
看到 Successfully installed xxx 则说明安装成功
git clone https://github.com/fogleman/Minecraft.git
二、运行及操作
—运行这个项目非常简单你只需要进入源代码文件夹输入以下命令
python main.py
即可成功运行该游戏项目然后体验一下这个游戏
移动 W: 前进
S: 后退
A: 往左
D: 往右
鼠标移动: 视角
空格: 跳跃
Tab: 切换到飞行模式
建筑 选择建造类型:
1: 砖块
2: 草丛
3: 沙丘
鼠标左键去除建筑
鼠标右键增加建筑
退出 ESC: 关闭窗口
来看看我的实画 这个“实”字着实难画宝典两个字被我略去了因为我选的地儿右边空位不够。
三.代码解读与自定义
接下来让我们看看这份游戏的代码整个游戏代码只有902行真优秀 在上图红框的位置可以设定默认的窗口大小。不仅如此作者还给了一些参数以供自定义速度、重力、跳跃高度等
# 每秒帧数
TICKS_PER_SEC 60
# 砖块大小
SECTOR_SIZE 16
# 行走速度与飞行速度
WALKING_SPEED 5
FLYING_SPEED 15
# 重力与跳跃高度
GRAVITY 20.0
MAX_JUMP_HEIGHT 1.0我们能不能自定义砖块类型呢源代码文件夹下有一个texture图片 在源代码中涉及到用户增加区块的代码只有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))是什么意思呢看看下面这2个函数 看完tex_coords函数的参数你大概就知道了这里第一个参数代表砖块的顶部图像第二个参数代表底部图像第三个参数代表四个边的图像。而传入的参数中(1, 0) 则表示为texture.png 的第(1,0)个图 比如沙子顶边、底边、四边都为一样的(1,1)这个图像因此是
SAND tex_coords((1, 1), (1, 1), (1, 1))
相信明白了这个原理后你自己加一个自定义图形的砖块也不难了吧大家可以动手试一试。给这个项目添砖加瓦如果好看的话说不定还能给作者提个PR成为4k stars项目的贡献者之一
总结
如果你喜欢今天的Python 教程请持续关注徐浪老师如果对你有帮助麻烦在下面点一个赞