原标题:PYTHON玩转我的世界——找钻石小游戏
非常简单的小游戏,总共代码50多行,新手也很容易理解。
游戏效果
随机放置一个钻石在玩家附近,同时每隔1秒在消息框中提示钻石和玩家之间的距离,并提示出是远离钻石还是接近钻石,玩家走到钻石边上,游戏结束,提示用时多少秒。
游戏演示视频
视频加载中...
程序代码import mcpi.minecraft as minecraft import time import random import math # 获取两点之间的距离 def distanceBetweenPoints(point1, point2): xd = point2.x - point1.x yd = point2.y - point1.y zd = point2.z - point1.z return math.sqrt((xd * xd) + (yd * yd) + (zd * zd)) if __name__ == "__main__": mc = minecraft.Minecraft.create time.sleep(2) playerPos = mc.player.getTilePos # 随机产生钻石坐标 randomBlockPos = playerPos randomBlockPos.x = random.randrange(randomBlockPos.x - 50, randomBlockPos.x + 50) randomBlockPos.y = random.randrange(randomBlockPos.y - 5, randomBlockPos.y + 5) randomBlockPos.z = random.randrange(randomBlockPos.z - 50, randomBlockPos.z + 50) # 放置一个钻石 mc.setBlock(randomBlockPos.x, randomBlockPos.y, randomBlockPos.z, 'DIAMOND_BLOCK') mc.postToChat("一个钻石被藏了起来,去把它找出来吧!") # 开始主循环 seeking = True lastDistanceFromBlock = -1 timeStarted = time.time while (seeking == True): time.sleep(2) # 获取玩家位置 playerPos = mc.player.getPos # 获取玩家位置和钻石位置的距离 distanceFromBlock = distanceBetweenPoints(randomBlockPos, playerPos) if lastDistanceFromBlock >= 0: if distanceFromBlock < 2: # 找到钻石! seeking = False else: if distanceFromBlock < lastDistanceFromBlock: mc.postToChat("目标接近中...距离:" + str(int(distanceFromBlock))) if distanceFromBlock > lastDistanceFromBlock: mc.postToChat("目标远离中...距离:" + str(int(distanceFromBlock))) lastDistanceFromBlock = distanceFromBlock timeTaken = time.time - timeStarted mc.postToChat("找到了!用时:" + str(int(timeTaken)) + "秒")
参考资料:https://blog.csdn.net/gogir/article/details/100074563
参考资料:https://www.stuffaboutcode.com/2013/01/raspberry-pi-minecraft-hide-and-seek.html返回搜狐,查看更多
责任编辑: