租金游戏案例
案例要求
动态监测玩家位置,当玩家进入栅栏即开始收取租金。
需求分析
- 动态监测玩家位置
- 判定玩家是否进入栅栏区域,需要确定栅栏4个角的坐标。
- 玩家进入栅栏中,需要开始计费
游戏操作
在游戏中放置一块地毯,并记录下这块地毯的位置
- 按E键打开背包,在装饰性方块中找到 栅栏,拖到下方的物品栏中,按E键关闭背包
- 滚动鼠标滚轮,将栅栏设为当前物品,鼠标右键放置一个长方形或者正方形的栅栏区域。
- 按F3查看信息,将鼠标左键指向栅栏4个角,获取4个角栅栏的坐标。
- 操作游戏,移动玩家,进入栅栏区域则开始计费。
代码实现
import mcpi.minecraft as minecraft
mc = minecraft.Minecraft.create()
x1 = 265
x2 = 271
x3 = 134
x4 = 138
m = 0
while True:
pos = mc.player.getTilePos()
mc.postToChat("x=" + str(pos.x) + "y=" + str(pos.y) + "z=" + str(pos.z))
if pos.x > x1 and pos.x < x2 and pos.z > x3 and pos.z < x4:
m =m + 1
mc.postToChat(m)
关键代码解读
x1、x2、x3、x4为栅栏4个角的坐标
m为租金,初始值为0
if pos.x > x1 and pos.x < x2 and pos.z > x3 and pos.z < x4
# 判断玩家坐标是否在栅栏内。
m =m + 1 累计租金