当前位置:首页>python>续更-python主题课程 - 《我的世界》

续更-python主题课程 - 《我的世界》

  • 2026-08-25 04:50:27
续更-python主题课程 - 《我的世界》
我的世界开始程序的安装,请参照python之我的世界。上次我们更新了13节主题课程,接下来我们会接着更新补充至--40节。
这次课我们来看一下我的世界之瞬间移动。
在瞬间移动的这次课中,我们首先要明确两个知识点,一个是变量,一个是数据类型。
变量:
在python中,如果希望程序记住某些东西,以便于之后使用,我们首先要做的是就是给它取个名字,即变量。
变量是计算机语言中表示值得抽象概念。
只可以理解为数据。
比如:小明得年龄,去年9岁,今年10岁,可以用一个变量来表示小明得年龄这个数据(值)。
一个变量会包括名字和数据类型。
名字(变量名)用来使用(访问)变量。
数据类型用来表示变量的值的类型。
还是用小明的年龄来举例,它是一个变量,现在我们给它起个名字,叫xmAge(变量名),它的数据类型是整数型(int)
变量的命名规则:
智能包含字母、数字、下划线;不能以数字开头;不能用关键字、函数名作为变量名。
多个变量赋值:python允许同时为多个变量赋值。
例如:a=b=c=1
也可以为多个变量指定不同的值。
例如:a,b=800,500
数据类型的强制转化:
   转化为整型,(int)
   num1 = 1.25,尝试将(num1)强制转化为整数。print(int(num1))
   转化为浮点型,(float)
   num1 = 1,尝试将(num1)强制转化为小数。print(float(num1))
   转化为字符串,(str)
   num1 = 1.25,尝试将(num1)强制转化为字符串。print(str(num1))

算术运算符

算术运算符 用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、幂运算
(**)、取整除(//)。
求余运算 a% b 就是 a 除以 b 的余数
取整除运箅 a // b 是 a 除以 b 的商的整数部分(向下取整)
幂运算a**b就是 a的b次方,或使用 pow(a,b)
在she11中直接进行计算来练习

讲解完我们的理论知识,接下来我们要来看我们我的世界中的一些知识讲解。

首先我们要来认识minecraft坐标系。

Minecraft游戏是一款3D游戏,在游戏中确认位置,依赖坐标确定,其中平面为Xz面,垂直方向为Y,
x轴是东(+)西(-)方向;
z轴是南(+)北(-)方向;
r轴反应的是高低程度,

获取玩家坐标:

使用 mc.player.getTilePos()方法可以获得角色当前坐标。

函数执行的结果为三个数据组成的一组数据,表示一个坐标,格式为(x,y,z)

可以把结果赋值给一个变量:

pos = mc.player.getTilePos()

然后用pos.x,pos.y,pos.z分别表示坐标的x,y,z

也可以把结果赋值给三个变量:

x,y,z = mc.player.getTilePos()

用 print()函数或 mc.postTochat()方法将坐标显示出来,这里需要注意的是,mc.postTochat()
方法只能显示字符串,即括号中的内容需全部转换为字符串。
import mcpi.minecraft as minecraft
mc = minecraft.Minecraft.create()
x,y,z= mc.player.getTilePos()
mc.postTochat("x="+str(x)+" y="+str(y)+" z="+str(z))

设置玩家坐标:

mc.player.setTilePos()

该方法可将玩家移动到某个坐标,在括号中输入目标坐标值(x,y,z)。

学会了这个方法之后,思考一下能用来做什么?

瞬移:

瞬移是一种空间传送能力,把自己作为“传送物”传送到别的位置,由于传送所消耗的时间极短,所以也可以认为是瞬间移动。

写一个程序,控制角色往东(x轴正方向)瞬移20个方块的距离。

我们不知道瞬移之后的坐标,只知道是在当前坐标的x基础上加20

所以要先用 mc.player.getTilePos()获得角色当前坐标。

完整代码:

import mcpi.minecraft as minecraftmc = minecraft.Minecraft.create()pos = mc.player.getTilePos()x = pos.xy = pos.yz = pos.zmc.postToChat("x=" + str(x) + " y=" + str(y) + " z=" + str(z))mc.player.setTilePos(20, 0, 0)

每次运行这个程序,你的角色就会往东瞬移20个方块。

【运行效果】

【课后练习】

自己编写程序,在我的世界中瞬移到角色头顶上180个方块的位置。

最新文章

随机文章