《我的世界》Python编程入门(8)建造房屋

您所在的位置:网站首页 mc怎么用指令建房子 《我的世界》Python编程入门(8)建造房屋

《我的世界》Python编程入门(8)建造房屋

2024-07-13 14:49| 来源: 网络整理| 查看: 265

一、字典

首先,复习下前面学习的一些Python内置数据类型: 字符串在表示上有什么特点?数字呢? Python内置的数据类型主要有:数字、字符串、列表、元组、字典。

1.1 字典的基本概念

字典(dict或者dictionaries)是一种可变(mutable)集合(collections),可以存储各种类型的数据。 集合说明这种数据类型由多个元素构成。 可变指的是元素可增删改。 字典用{ } 表示开始和结束,字典的元素(item或element)为键:值对(key:value),键值用:分隔,元素用 , 分隔。

案例1:

d={'a':1,'b':2,'c':3} #为具有3个元素的字典, print(type(d)) 结果为 b={} #b为空字典 1.2 字典的基本特性

元素的键必须在字典中是唯一的! 元素的键和值具有一一对应关系!

案例2: a={'a':1,'a':2} print(a) 结果为{'a': 2} #'a':1被覆盖掉了

字典的这两个基本特性可以用于搜索或去重。(想想新华字典是不是可以通过拼音或者偏旁部首快速查到对应的字)

1.3 字典元素的基本操作 1.3.1 新增或修改元素

格式:字典[键]=新值 注意:如果原字典中没有对应的键则为新增元素,若已存在该键则为修改元素 案例3:

a={'a':1} a['a']=2 print(a) #结果为{'a': 2} a['a1']=2 print(a) #结果为{'a': 2, 'a1': 2} 1.3.2 访问字典元素

字典元素访问的核心为按元素的键访问,得到的是对应的值。 格式:字典[键] 注意:若键不存在,则会报错! 案例4:

a={'a':1} print(a['a']) #结果为1 print(a['b']) #结果为 Traceback (most recent call last): File "", line 1, in KeyError: 'b' 1.3.3 删除元素

格式:del 字典[键] 注意:如果被删除的元素不存在,则会报错。 案例5:

a={'a':1} del a['a'] print(a) #结果为{} del a['a'] #结果为 Traceback (most recent call last): File "", line 1, in KeyError: 'a' 二、案例:建造房子 2.1 空气方块

block.AIR.id可以把方块设置为空气,即清除掉对应区域

2.2 setBlocks()方法

作用:将一个3D区域内的所有方块设置为一种相同的方法。 参数:7个,前6个为2组坐标,即3D区域的对角线端点坐标,最后一个参数为方块类型。 案例6:创建立方体

import mcpi.minecraft as minecraft import mcpi.block as block mc = minecraft.Minecraft.create() pos = mc.player.getTilePos() mc.setBlocks(pos.x+2, pos.y, pos.z, pos.x+12, pos.y+10, pos.z+10, block.DIAMOND_BLOCK.id) 2.3 综合案例:建造房子

房屋要求: 在这里插入图片描述

案例分析

先建造一个立方体,再掏空立方体,只留下表面。 得到x轴与y轴最中间的坐标点 根据设计图规划房子 石头:COBBLESTONE 空气:AIR 玻璃:GLASS 木材:WOOD 羊毛:WOOL

案例参考效果

在这里插入图片描述

案例代码 import mcpi.minecraft as minecraft import mcpi.block as block #先导入所需模块,然后连接游戏 mc = minecraft.Minecraft.create() #size表示所建房屋的大小,改变size可以改变房子的大小 size = 20 #获取玩家所在坐标点 pos = mc.player.getTilePos() x=pos.x y=pos.y z=pos.z #midx、midy为正面方向房子在x、y轴上的中间点,便于计算窗户和门的坐标 #如果房子大小改变,窗户、门的位置也会随之变化 midx = x + size/2 midy = y + size/2 #根据size建造一个实心立方体 mc.setBlocks(x, y, z, x+size, y+size, z+size, block.COBBLESTONE.id) #将立方体的内部掏空 mc.setBlocks(x+1, y, z+1, x+size-1, y+size-1, z+size-1, block.AIR.id) #实现门,midx代表了x轴坐标的中间位置 mc.setBlocks(midx-1, y, z, midx+1, y+3, z, block.AIR.id) #填充玻璃窗户 mc.setBlocks(x+3, y+size-3, z, midx-3, midy+3, z, block.GLASS.id) mc.setBlocks(midx+3, y+size-3, z, x+size-3, midy+3, z, block.GLASS.id) #使用木材方块建造一个屋顶 mc.setBlocks(x, y+size, z, x+size, y+size, z+size, block.WOOD.id) #在房子内增加一个羊毛地毯 mc.setBlocks(x+1, y-1, z+1, x+size-1, y-1, z+size-1, block.WOOL.id) 本课重难点 字典的基本概念空气方块和setBlocks方法的使用如何结合案例计算坐标点


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3