Raspbian操作系统默认搭载了一个特别的我的世界,特别之处在于可以使用python与外界进行交互,这意味着可以在游戏中控制实体世界中的传感器和执行器。还可以自定义搭建各种物品。

1.使用python与minecraft交互
在交互的时候要用到应用程序接口(API),用键盘控制部分就不多说了,我直接说与python如何交互。
在python3 IDE中创建.py文本
作为程序员的行规,入手第一件事就是向世界问好

#向minecraft发送消息
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
mc.postToChat("hello Minecraft World")

运行后效果出现

除此以外,还可以获取角色在游戏中的实时位置

#获取人物的环境和实时信息
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
position=mc.player.getTilePos()
print("X position :"+str(position.x)+",Y position :"+str(position.y)+",Z position:"+str(position.z))from mcpi.minecraft import Minecraft
mc = Minecraft.create()
mc.player.setPos(0,0,0)

获取环境信息

#寻找世界中某个坐标点的地形情况
from mcpi.minecraft import Minecraft
import mcpi.block as block
def getSafePos(x_pos, y_pos, z_pos):black_id=mc.getBlock(x_pos,y_pos,z_pos)if(block_id==block.AIR.id):while(block_id==block.AIR.id):y_pos=y_pos-1block_id=mc.getBlock(x_pos,y_pos,z_pos)y_pos=y_pos+1else :while (block_id != block.AIR.id):y_pos=y_pos+1block_id=mc.getBlock(x_pos,y_pos,z_pos)return (x_pos,y_pos,z_pos)
mc = Minecraft.create()
mc.player.setPos(getSafePos(0,0,0))

注意:运行最后的代码要确定周围的环境情况,否则会造成人物无法运动,游戏也就无法进行下去。

import mcpi.minecraft as minecraft
import mcpi.block as block
from mcpi.minecraft import Minecraft
from gpiozero import Button
import time#设置按键所连接的GPIO端口 &将程序连接到Minecraft
mc=Minecraft.create()BTN_HOUSE=18#房屋尺寸
house_size_x=16
house_size_y=6
house_size_z=10#将房屋坐标保存,方便传送
#如果没有定义,则设置为0,0,0
#wec3可以用来创建位置向量house_position=minecraft.Vec3(0,0,0)#移动前的延迟
DELAY=1#用于检测按键的主循环
def main():btn_house=Button(BTN_HOUSE)while True:if(btn_house.is_pressed):#将当前坐标设置为房屋坐标#该坐标将会是房屋的中点house_position=mc.player.getTilePos()build_house(house_position,house_size_x,house_size_y,house_size_z)time.sleep(DELAY)time.sleep(0.2)def build_house (house_position,house_size_x,house_size_y,house_size_z):#平整土地mc.setBlocks(house_position.x-(house_size_x/2,house_position.y,house_position.z-(house_size_z/2),block.AIR.id)


这里就举一个列子,同样的方法建造墙壁,房屋的尺寸根据左上角的坐标来调整一下,如图我是参考了github里面一位国外玩家的方法所做,等等,同样用函数模块化, 这里用到了mcpi.minecraft,mcpi.block,gpiozero

树莓派自定义游戏,Minecraft硬件编程,建造房屋,我的世界还可以这样玩相关推荐

  1. 15 个边玩游戏边学编程的网站(包含 Python)

    前言 经常听到有朋友说,学习编程是一件非常枯燥无味的事情.其实,大家有没有认真想过,可能是我们的学习方法不对? 比方说,你有没有想过,可以通过打游戏来学编程? 今天我想跟大家分享几个网站,教你如何通过 ...

  2. 15 个边玩游戏边学编程的网站

    作者 | 创客星辰 来源 | 公众号:辰语学习笔记 前言 经常听到有朋友说,学习编程是一件非常枯燥无味的事情.其实,大家有没有认真想过,可能是我们的学习方法不对? 比方说,你有没有想过,可以通过打游戏 ...

  3. python硬件编程_Python学习日记_《Python硬件编程实战》笔记_Mr_Ouyang

    书名: Python硬件编程实战 作者: 李茂 出版社: 机械工业出版社 [此处需要插入图片 Python封面] 笔者简评:不太适宜购买,全书大篇幅在用图片来解释极简单的细节,对于那些需要作者去深挖. ...

  4. NanoPi NEO的Matrix库硬件编程

    NanoPi NEO的Matrix库硬件编程 1.准备工作 (1)安装Matrix函数库,类似于树莓派的wiringPi函数库,用来对Nano Pi的硬件进行操作: 先安装git: $ sudo ap ...

  5. 树莓派python开发教程_树莓派教程(基于python编程)--入门篇

    原标题:树莓派教程(基于python编程)--入门篇 一:格式化SD卡 SD卡插入读卡器连接电脑,使用SDFormatter对SD卡进行格式化 (重装烧录也要进行着SD卡格式化操作) 二:下载官方镜像 ...

  6. 如何学好游戏3D引擎编程(摘抄)

    网上看到,觉得很好,因此收藏一下,侵删. <如何学好游戏3D引擎编程> 此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术 ...

  7. python 儿童 游戏_少儿编程分享:手把手教你用Python编写战斗机游戏(完)

    原标题:少儿编程分享:手把手教你用Python编写战斗机游戏(完) 加入图像 现在我们已经能够玩游戏了,但这个游戏丑确实有点丑 .接下来,我们要把单调的白色矩形换成好看的图片. 在前面的代码中,我们用 ...

  8. 如何学好游戏3D引擎编程

    <如何学好游戏3D引擎编程>     此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰 --阿哲VS自己 QQ7 ...

  9. rust沙河游戏_十款特别好玩的沙盒建造游戏,喜欢生存建造的朋友千万不要错过...

    原标题:十款特别好玩的沙盒建造游戏,喜欢生存建造的朋友千万不要错过 各位上期在文章里我把鬼泣(ACT)弄到RPG游戏里,非常的抱歉,希望大家给我多多提建议,我会做的更好,喜欢的朋友可以关注我一下,毕竟 ...

最新文章

  1. 1600802071
  2. Skia的SkCamera.cpp的doUpdate() 算法。
  3. Go 语言编程 — panic 和 recover
  4. 重试次数配置_TestNG实践——2.用例失败重试
  5. 数据分析学习01-matplotlib绘图工具基本操作
  6. 验证 decimal 和 数字
  7. ScrollView和listview的冲突问题,关于宽度,和滑动
  8. NekoHtml 乱码出现问号的解决
  9. 50道CSS基础面试题(附答案)
  10. Esxi 6.7安装教程
  11. java后台通过http请求下载文件
  12. SOLD2算法详解之2: 特征点检测,点NMS(CVPR 2021)
  13. 手机应用误删怎么恢复
  14. pig的安装、pig的数据模型和pig的常用命令
  15. 转载---SQL Server XML基础学习之7--XML modify() 方法对 XML 数据中插入、更新或删除...
  16. Excel高级功能 数据工具
  17. 交换机crc错误是什么意思_OSN1800设备LDX对接S9706交换机,交换机持续有CRC错误告警...
  18. 通过调用接口查询ISBN的图书信息
  19. 【嵌入式Linux驱动入门】二、上手Hello驱动,了解驱动开发流程
  20. 青岛 android培训哪家好,青岛android培训学习班

热门文章

  1. C++ Primer Plus课后编程练习第6章参考代码
  2. 乐筑加速推进绿色建筑理念执行落地
  3. 基于MATLAB/Simulink的电力电子电路仿真技术——三相电流滞环跟踪逆变器
  4. php 游戏开发swoole,《基于 Swoole 的对战游戏实践》开课啦
  5. mac的mysql关机后打不开了_mysql for mac服务无法启动
  6. 二阶混合偏导数连续则相等的证明
  7. 富文本及编辑器的跨平台方案
  8. 英特尔的新硬件套装使制作机器人和无人机更加简单
  9. 实验室安全与危化品信息管理平台建设
  10. 道路智慧路灯:山西省长治市道路智慧灯杆(多功能交通一体式综合杆)项目案例分享