《我的世界》Python编程入门(4)欢迎回家!

案例要求

动态监测玩家位置,只有当玩家站到某个位置时,游戏才会输出“welcome home!”。

需求分析

  1. 动态监测玩家位置,需要用到前面讲到的while循环语句
  2. 判定玩家站到某个位置时,需要用到上节课讲到的判断语句
  3. 玩家站到某个位置时,退出动态监测,游戏输出“welcome home”!

游戏操作:

在游戏中放置一块地毯,并记录下这块地毯的位置
1.按E键打开背包,在装饰性方块中找到 地毯,拖到下方的物品栏中,按E键关闭背包
在这里插入图片描述在这里插入图片描述

2.滚动鼠标滚轮,将地毯设为当前物品,鼠标右键放置一块地毯。
3.按F3查看信息,将鼠标左键指向地毯(即黑色实线框指向地毯),获取屏幕上
Looking at:后面的3个数值,即为地毯的位置,这里为-112 68 -260,练习时要重新获取游戏中地毯的具体坐标。
在这里插入图片描述
4,操作游戏,将玩家的位置移动到其他位置。移动玩家时,屏幕上不断输出玩家所在位置,当玩家移动到我们实现放置的地毯上时,屏幕输出welcome home!,程序终止,游戏屏幕上不再输出内容。

代码实现:

import mcpi.minecraft as minecraft

mc = minecraft.Minecraft.create()
while True:
    pos = mc.player.getTilePos()
    mc.postToChat("x=" + str(pos.x) + "y=" + str(pos.y) + "z=" + str(pos.z))
    if pos.x == -168 and pos.y == 64 and pos.z == 177:
        mc.postToChat("welcome home!")
        break

关键代码解读

if pos.x == -168 and pos.y == 64 and pos.z == 177:
#判断玩家位置是否为我们设置的地毯的位置,如果是,执行子代码块
    mc.postToChat("welcome home!")
    #在游戏中输出welcome home!
    break
    #退出while循环

要点

  1. 注意区分===,在Python中=为赋值,==为等值判断
  2. 多个条件需要同时判断时,可以用and运算符。
    and运算符又称为与运算符,二元逻辑运算符。and两边的条件都为True时,即两个条件同时成立时,表达式结果为True,两个条件只要有一个不成为结果就为False。
    例如: a and b
aba and b
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse
  1. 在嵌套多个流程语句(while/if)时,缩进要根据程序的预定目标进行缩进。
    简而言之,遇到:就要再缩进一个级别,一个缩进级别4个空格。
    因此,while的子代码块要缩进1个级别(4个空格),while子代码块中的if语句的代码块要在原有缩进基础上再缩进一个级别(8个空格)。
  • 9
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值