Minecraft(我的世界)中文论坛

 找回密码
 注册(register)
查看: 496|回复: 7

[单人游戏] pos[0]←这个[0]你们是怎么知道代表X的

[复制链接]
发表于 2018-3-13 21:37:32 来自手机 | 显示全部楼层 |阅读模式
30金粒
本帖最后由 2759159258 于 2018-3-13 21:46 编辑

无意中翻到了以前一个问答帖
pos[0]就是你的坐标里的第一个数,也就 是x

而我去翻了下wiki的区块格式
Pos:3 个TAG_Doubles 字段表示当 前实体的X、Y、Z 位置。


对pos[0]代表x,pos[1]代表y..........什么什么的压根没提QWQ

所以...RT
(哇问答版居然能编辑了!)

顺便解释下"元素"这个词什么意思呗...WIKI没有对这个名词定义...我也猜不出来(尤其是第0个元素,第1个元素什么的...)

最佳答案

查看完整内容

我不是很懂哪儿有明示或者暗示过数组了... 不过倒是可以解答一下题主问的几个问题 1. 怎么得知 Pos[0] 代表的是x,Pos[1]代表的是y,Pos[2]代表的是z呢? Wiki是这么写的: Pos:3 个TAG_Doubles 字段表示当 前实体的X、Y、Z 位置。 这代表了 Pos其实是这样的: [X, Y, Z] 而程序中的list或者是array大部分都是从0开始数的,第一个数X就是Pos[0],第二个数Y就是Pos[1],如此类推。 2. 什么是元素? 这绝对和化学没有关系。这里说的 ...

评分

参与人数 2金粒 +60 收起 理由
a6809936 + 50 MCBBS有你更精彩~
SPGoding + 10 。。。

查看全部评分

回复

使用道具 举报

发表于 2018-3-13 21:37:33 | 显示全部楼层
本帖最后由 pca006132 于 2018-3-14 13:18 编辑

我不是很懂哪儿有明示或者暗示过数组了...

不过倒是可以解答一下题主问的几个问题
1. 怎么得知 Pos[0] 代表的是x,Pos[1]代表的是y,Pos[2]代表的是z呢?
Wiki是这么写的: Pos:3 个TAG_Doubles 字段表示当 前实体的X、Y、Z 位置。
这代表了 Pos其实是这样的: [X, Y, Z]
而程序中的list或者是array大部分都是从0开始数的,第一个数X就是Pos[0],第二个数Y就是Pos[1],如此类推。

2. 什么是元素?
这绝对和化学没有关系。这里说的元素是一个合集(Collection,不是说的set)中的一个成员(部分/数据),比如说Pos就是一个坐标集合,里面一个数字就是里面的成员(元素)了。
//唉我都快被译名搞懵了

点评

不要说成是集合比较好,集合是无序的,集合里面的对象可以称之为元素。但是这个是列表,换言之,是有序的,对象称做item 项比较好  详情 回复 发表于 2018-3-14 11:46

评分

参与人数 1人气 +1 收起 理由
孟婆汤没了 + 1 个人理解吧看见他说的元素和写法首先就想到.

查看全部评分

回复

使用道具 举报

发表于 2018-3-13 22:46:14 | 显示全部楼层
如果你只写一个0,是不是就只指明了X咯?
写0,0就指明了XY
0,0,0就是XYZ

哪里的元素?具体点

评分

参与人数 1人气 +1 收起 理由
2759159258 + 1 列表里的元素= =(不过楼下也猜出来了).

查看全部评分

回复

使用道具 举报

发表于 2018-3-13 23:01:02 | 显示全部楼层
本帖最后由 孟婆汤没了 于 2018-3-13 23:31 编辑

这个我不知道你是在哪里看见的,我看你的描述觉得这个是那个回答者自己把pos的格式认为成了一个数组,但是实际在代码上和存档里都不是这样的,他就是三个分开的数据。 QQ截图20180313224542.jpg
QQ截图20180313225929.jpg
pos这个标签在mc里他只是使用了这种表示方式。
下面的的是随便科普一下可以忽略不过里面有你问的元素的解释。关于你说的元素突然想起来点其他的来编辑一下,可能会有人把nbt标签或者里面的子标签称为元素你查不到也不奇怪。不知道你是在哪里看见的也没办法说清楚具体意思,说出来给你参考一下。

数组这个概念是代码的,如果你不会任何一种编程语言那我这里给你简单科普一下了,数组看名字就知道是多个数字的组合(实际上不只是数字还可以有其他的这里就不多说了)。
array{5,9,4,3,8}
这样就是一数组现在来解释一下,array就是数组的名字,方括号里面的数字每一个就是你说的元素(你查的mcwiki不是关于编程语言的wiki当然查不到啦),数组的每个元素都有一个索引在Java中数组的索引是从0开始的之前我写的那个数组里数字5的索引就是0,9的索引是1以此类推8的索引就是4。

评分

参与人数 1人气 +1 收起 理由
2759159258 + 1 真丶看不懂TAT

查看全部评分

回复

使用道具 举报

发表于 2018-3-14 04:22:47 | 显示全部楼层
本帖最后由 SPGoding 于 2018-3-14 04:41 编辑

那个回答者就是我,嘿嘿。
给不明真相的吃瓜群众说明下,Pos[0]是在1.13新命令/data get entity命令中使用的,用于指定NBT路径,其中[0]是指定这个List的元素索引。
那么什么是元素呢?
列表(List)里的东西就是元素…其实是我习惯性起的名啦,叫它项啊item啊什么的无所谓的,mjsb也没个什么定义,看得懂就得了。就是代表一个东西。
Pos:[998f,233f,666f]
这个标签,包含三个浮点(float)类型的元素(东西),它们分别表示x y z坐标
使用Pos[0]就可以指定data get获取Pos标签的第一个元素的值(998f)
wiki里没有解释Pos[n]代表什么,因为这个写法是/data命令独有的,自然找不到。(其实exe store entity命令也是这个用法,不探讨了)
那么我们怎么知道[0]是X坐标的呢?
大概是经验之谈。其实区块格式的介绍已经给了些提示了。

至于楼上说一大堆的数组(array)是什么呢?你管它是什么呢。它和列表(list)不是一个东西,而我们正探讨的Pos标签就是一个列表(list)。至于数组(array)什么时候用呢?我到现在也没用上过,不过确实有这个结构。写法类似<key>:[<type>;<elements...>],总之是很罕见的稀有物种啦。

评分

参与人数 3人气 +1 金粒 +20 收起 理由
2759159258 + 1 内个....那个回复貌似不是你回答的....^W^.
⊙v⊙ + 10 pos是double不是float
a6809936 + 10 这……就是json的格式吧?……

查看全部评分

回复

使用道具 举报

发表于 2018-3-14 08:54:56 | 显示全部楼层
不是数组,是列表List,在nbt中用中括号圈起,然后0就表示这个列表的第一项。否则怎么定位到列表的项呢对吧。
如果是记成compound,比如pos:{x:1,y:2,z:3},那就得用pos.x了,然而mj并不是这么记的
回复

使用道具 举报

发表于 2018-3-14 11:46:52 | 显示全部楼层
pca006132 发表于 2018-3-14 10:28
我不是很懂哪儿有明示或者暗示过数组了...

不过倒是可以解答一下题主问的几个问题

不要说成是集合比较好,集合是无序的,集合里面的对象可以称之为元素。但是这个是列表,换言之,是有序的,对象称做item 项比较好

评分

参与人数 2人气 +2 收起 理由
逗比桃 + 1 MCBBS有你更精彩~
pca006132 + 1 Collection,忘了写清楚了

查看全部评分

回复

使用道具 举报

发表于 2018-3-16 20:37:14 | 显示全部楼层
因为它说了这个是xyz的顺序来啊
所以x是第0个 y是第一个 z是第二个啊
后面加方括号的写法是这个指令的格式 当然不会也不应该出现在这里





============

集合和元素是最基本的概念,没有定义(误)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 手机版本

GMT+8, 2018-9-21 00:47 , Processed in 0.177668 second(s), 10 queries , Memcache On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标。本站与Mojang以及微软公司没有从属关系。

© 2010-2017 我的世界中文论坛 版权所有。本站原创图文内容版权属于原创作者,未经许可不得转载。

快速回复 返回顶部 返回列表