教你用 Python 自制简单版《我的世界》

python实现简单的我的世界 可以使用Pycharm,也可以使用shel(记得用cmd导入pygame和ursina)。提示一下,maxOS无法使用ursina。左键放置方块,右键破坏方块。使用a、s、d、w移动。使用0~9切换放置的方块,按Tab键退出。 阅读详情
AI摘要

这篇文章介绍了一位开发者如何用Python编写自己的简易版《我的世界》,仅900行代码便能运行,教你如何定制砖块和操作,尝试自定义游戏元素并分享了核心代码解读。

《我的世界 Minecraft》大家应该都听说过,但你有没有想过自己写一个这样的游戏呢?太难、太复杂了?也许吧,但是不试一试你怎么知道能不能成呢?

国外有位叫fogleman的开发者就用Python做了这样的一件事——自制《我的世界 Minecraft》,谁能想到,仅仅900行的代码,玩起来竟然还像模像样的:

图片

接下来,我们就带你运行这个项目,并对这个开源的小游戏做一下简单的更改,让它变成“你的”世界。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果你用Python的目的是数据分析,可以直接安装Anaconda

Windows环境下打开Cmd(开始—运行—CMD),苹果系统环境下请打开Terminal(command+空格输入Terminal),准备开始输入命令安装依赖。

当然,我更推荐大家用VSCode编辑器,把本文代码Copy下来,在编辑器下方的终端运行命令安装依赖模块,多舒服的一件事啊

在终端输入以下命令安装我们所需要的依赖模块:

pip install pyglet

看到 Successfully installed xxx 则说明安装成功

git clone https://github.com/fogleman/Minecraft.git

也可以在Python实用宝典公众号后台回复:MC 下载。

2.运行及操作

运行这个项目非常简单,你只需要进入源代码文件夹输入以下命令:

python main.py

即可成功运行该游戏项目,然后体验一下这个游戏:

移动

  • W: 前进

  • S: 后退

  • A: 往左

  • D: 往右

  • 鼠标移动: 视角

  • 空格: 跳跃

  • Tab: 切换到飞行模式

建筑

  • 选择建造类型:

    • 1: 砖块

    • 2: 草丛

    • 3: 沙丘

  • 鼠标左键:去除建筑

  • 鼠标右键:增加建筑

退出

  • ESC: 关闭窗口

来看看我的实画:

图片

这个“实”字着实难画,宝典两个字被我略去了,因为我选的地儿右边空位不够。

3.代码解读与自定义

接下来让我们看看这份游戏的代码,整个游戏代码只有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实现简易版《Minecraft》 """"""setup()main()import sys# 每秒帧数# 你可以走的大小# 行走速度与飞行速度# 重力与跳跃高度"""return [""""""dx = x * mdy = y * m""""""FACES = [Parameters----------Returns-------"""Parameters----------Returns-------""""""o = n -15continuecontinue。 阅读详情

相关推荐

【Python】《我的世界》简简单单就可以完成?OMG~(附教学)

我的世界 Minecraft》大家应该都听说过,但你有没有想过自己写一个这样的游戏呢?太难、太复杂了?也许吧,但是不试一试你怎么知道能不能成呢?国外有位叫fogleman的开发者就用Python做了这样的一件事——自制《我的世界 Minecraft》,谁能想到,仅仅900行的代码,玩起来竟然还像模像样的:接下来,我们就带你运行这个项目,并对这个开源的小游戏做一下简单的更改,让它变成“你的”世界。

liaozp88的博客 3429

入门java编程-我的世界mc编程入门

[oeasy]教你玩转java编程-我的世界mc编程入门

python之我的世界编程mcpi(1)环境安装

使用python编程我的世界

qq_42987761的博客 9697

python如何连接创建我的世界_快来用Python写一个简单版《我的世界》

以下文章来源于Python实用宝典,作者Ckend来自公众号:Python实用宝典《我的世界 Minecraft》大家应该都听说过,但你有没有想过自己写一个这样的游戏呢?太难、太复杂了?也许吧,但是不试一试你怎么知道能不能成呢?国外有位叫fogleman的开发者就用Python做了这样的一件事——自制《我的世界 Minecraft》,谁能想到,仅仅900行的代码,玩起来竟然还像模像样的:接下来,...

weixin_36065817的博客 1019

在我的世界中用 python 编程

1.下载我的世界 1.12.2,并运行。百度  我的世界 1.12.2 不要网易版要mojang版下载 纯净版安装文件解压到某个目录例如 e:\mc1.12.2完成后如下。下载启动器https://ci.to2mbn.org/job/HMCL/放到刚才解压的目录下安装jdk1.8http://www.oracle.com/technetwork/java/javase/downloads/jdk8...

努力练功 不自宫 3万+

我的世界源代码python_快来试试Python写的游戏《我的世界》

《我的世界 Minecraft》大家应该都听说过,但你有没有想过自己用Python写一个这样的游戏呢?太难、太复杂了?也许吧,但是不试一试你怎么知道能不能成呢?国外有位叫fogleman的开发者就用Python做了这样的一件事——自制《我的世界 Minecraft》,谁能想到,仅仅900行的代码,玩起来竟然还像模像样的:接下来,我们就带你运行这个项目,并对这个开源的小游戏做一下简单的更改,让它变成...

weixin_39953629的博客 7325

快来用Python写一个简单版《我的世界》

《我的世界 Minecraft》大家应该都听说过,但你有没有想过自己写一个这样的游戏呢?太难、太复杂了?也许吧,但是不试一试你怎么知道能不能成呢?国外有位叫fogleman的开发者就用P...

Python实用宝典网 7619

PYTHON玩转我的世界(1)——环境搭建

开发环境 JAVA JRE Python:3.7.4 游戏客户端 我的世界1.14.4 下载地址:https://pan.baidu.com/s/1SkWr9TK5cuSsGFXD3yJ6MA 提取码: b15k 启动器HMCL 3.2.130 游戏服务端 服务端由Spigot和插件JuicyRaspberryPie组成 觉得服务端安装过程比较麻烦的朋友可以直接跳过,下载后面的服务端...

非零非非零 1万+

【Java】我的世界Java版外挂制作 [0] - 配置环境

0 配置环境

weixin_73094528的博客 1万+

用Python写的游戏《我的世界》 还原初代世界

之前在抖音上刷到,有位程序员小哥哥用Python写出了《我的世界》游戏,这个游戏大家都是耳熟能详的 起初是在国外有个叫fogleman的开发者就用Python做了这样的一件事——自制《我的世界 Minecraft》,谁能想到,仅仅900行的代码,玩起来竟然还像模像样的: 接下来,我们就带你运行这个项目,并对这个开源的小游戏做一下简单的更改,让它变成“你的”世界。 1.准备 开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细Python安装指南.

小分享 9328

在我的世界minecraft中学习python【配置环境】

参考链接:https://blog.youkuaiyun.com/dunelfree/article/details/80202382 步骤: 一、下载我的世界纯净版 我的世界1.12.2纯净版客户端 安装好后,主要保留其中的.minecraft文件,其他文件可以删除掉 二、下载HMCL启动器 我的世界HMCL启动器最新版(3.3.170) 打开可能会提示有最新版本,可以选择升级 三、安装jdk,即java环境,可以百度下载 四、下载并安装Forge Downloads for Minecraft Forge - .

Brianone的博客 2687

python我的世界给予物品指令_我的世界指令:强大的 /give 指令

原标题:我的世界指令:强大的 /give 指令哈喽,亲爱的冒险家们,大家好,我是小豆。众所周知,我的世界中有许多的指令,这些指令给游戏增添了许多乐趣。今天就来讲一下我的世界中非常强大的存在:/give 指令语法Java版give [数量]基岩版give [数量:整数] [数据:整数] [成分:成分]参数目标(基岩版:玩家:目标)指定给予物品的目标。必须为一个玩家名或目标选择器。物品(基岩版...

weixin_39966740的博客 4465

用Python写《我的世界》(MC)

《我的世界》这款游戏相信不少人玩过,但是你有没有想过自己编写一个类似的游戏呢? 国外有位叫fogleman的开发这就利用python编写了一款与《我的世界》很相似的游戏,可以说是《我的世界》的简化版。 这个简化版的《我的世界》保留了原版的核心之一:创造。玩法与原版的创造模式基本相同只是没有物品栏与更多的方块 游戏截图: 操控: wasd前后移动 space跳跃 数字键选择方块 tab飞行 运行方法: 1.打开命令提示符,输入 pip install pyglet 2.等待..

m0_63176080的博客 1万+

快来试试Python写的游戏《我的世界》

《我的世界 Minecraft》大家应该都听说过,但你有没有想过自己用Python写一个这样的游戏呢?太难、太复杂了?也许吧,但是不试一试你怎么知道能不能成呢? 国外有位叫fogleman的开发者就用Python做了这样的一件事——自制《我的世界 Minecraft》,谁能想到,仅仅900行的代码,玩起来竟然还像模像样的: 接下来,我们就带你运行这个项目,并对这个开源的小游戏做一下简单的更改,让它变成“你的”世界。 1.准备 开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这

Python实用宝典网 1万+

告别第三方应用!用Android原生API搭建Miracast投屏接收器

本文深入探讨如何利用Android原生API开发Miracast接收器,绕过第三方依赖,实现高效的屏幕共享。通过Wi-Fi P2P直连、反射调用隐藏API和RTSP会话协商等核心技术,为开发者提供了一套完整的Miracast接收端解决方案,适用于多屏协同场景。

weixin_29174141的博客 383
上一篇: 16道关于Python基础方面的练习题
下一篇: 利用 Conda 尝鲜 Python 3.10 不一样的特性 快来试试
编程老袁
博客等级 码龄5年 588粉丝 37原创
评论 19
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值