我们通过之前的文章和程序,学习了创建方块、设置玩家位置、获取玩家位置等功能,本次,我们通过判断语法和这些功能的组合,在游戏中产生一个带有魔法的方块,当我们走到该方块上时,会瞬间被传送至指定位置或随机位置。
效果展示
程序实现步骤:
1、在游戏中控制角色移动,并选中一个位置,通过代码获取角色的坐标。
2、使用创建方块积木,将主角脚下的方块改变为一个特殊方块(如冰块、金块等)。
3、增加判断语法,当游戏角色走到该方块上后,运行python程序即会将游戏角色传送到指定坐标。

需要用到的语法:
if判断语法:
if 判断条件: 执行语句#解析: #如果判断条件是正确的,则会运行对应的执行语句,否则不运行执行语句。
说明:冒号不能少,执行语句前要有缩进(即四个空格)。执行语句可能有多句,如果都与条件有关,则都需要增加缩进。
增加判断,角色坐标为(89,0,-5),玩家角色脚下的方块坐标应为:(89,-1,-5),代码如下:import mcpi.minecraft as minecraftimport mcpi.block as blockmc = minecraft.Minecraft.create()#获取坐标pos = mc.player.getTilePos()print(pos)#角色坐标为89,0,-5,玩家角色脚下的方块坐标应为:89,-1,-5mc.setBlock(89,-1,-5,block.ICE)#设置方块为冰块if pos.x == 89 and pos.y == 0 and pos.z == -5: mc.player.setTilePos(100,0,0)
当增加了无限循环,角色每次走到指定的方块都会被传送走
import mcpi.minecraft as minecraftimport mcpi.block as blockmc = minecraft.Minecraft.create()#获取坐标pos = mc.player.getTilePos()print(pos)#角色坐标为89,0,-5,玩家角色脚下的方块坐标应为:89,-1,-5mc.setBlock(89,-1,-5,block.ICE)#设置方块为冰块while True: #无限循环 if pos.x == 89 and pos.y == 0 and pos.z == -5: mc.player.setTilePos(100,0,0)
注意:请找到你的python code文件夹,然后将你的代码保存在该文件夹下的MinecraftCoding\MCDemo目录中。