算术运算符
算术运算符 用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、幂运算
(**)、取整除(//)。
求余运算 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个方块的位置。
