我的世界Java种子算法_Minecraft:说说“种子”的使用和原理吧

3c03e5e0bb85474c181c2ea08ffb8966.png

很多小伙伴都对Minecraft的种子感到很神奇,就这么个一串数字就可以创建出自己想要的地图?好神奇有没有?今天小编就给大家讲讲这个让人困惑的“种子”,看望下面的讲解后,伙伴们玩Minecraft的逼格就会提高些哟~~

d8e8700e8aa9bc81e56a212511d53abc.png

先说说咋用

首先到网上百度一下种子们

4458a99bca9db7c4fddfda2955ad4c1d.png

例如上图,我百度到这么一个种子。将其拷贝下来。

先用启动侠演示

0b283376e486f191a97c2e1a0ed9ea02.png

f6aeb50902613c4ef192e3ccd60a173b.png

创建新世界,然后打开“更多世界选项”,在后续界面的输入栏里面粘贴刚刚复制到的种子,然后点击创建世界。

4523026fb34c68ce64c19f1a1aac2685.png

可以看到,和百度到的种子介绍生成的图形是一样的哟~~

再用网易

9634b26f6b72665659217314104367ce.png

38e2b4d15e80331b1a9ad0504c0fc11b.png

上面有输入种子选项,粘贴上就是,出来的效果也是一样的。

说说原理吧

很神奇的是吧,就这么一行数字,就能产生一个地图!嘿嘿,咱么讲讲原理吧。其实种子并不是Minecraft特有的概念,“种子”还是一个编程语言(Java、C,Python)概念呢。“下面先引用一下关于Java random方法的介绍:

在Random()中,Random()的参数值指的是种子(种子,用于随机数生成的初始化值,随机数生成器对于特定的种子产生相同的随机数序列)。种子(即参数)相同的Random对象,生成的随机数序列是一样的。

说的有些晕是不是。在C语言中也有一样的定义,是rand()函数。下面上一下代码:

6b61639d4a573db541b388422c77eca6.png

伙伴们可以自行度娘一下“Java random”,大致有与上图一样的代码。将代码拷贝到Java开发工具中运行一下,就会发现运行的结果是一串数列。而且不管运行多少次,这个数列是不变的。

32319aa35a41c684630b85db1db07d73.gif

看到这里,没编程基础的伙伴们估计是上面的表情。耐心继续听我说,我下面说的话,你百度不到的。

一个种子与一个数列对应。而Minecraft中的地图信息,是可以用数列表达的。数列的长短,只取决于循环次数。在Minecraft中处理的过程是,Minecraft底层运行系统得到这个种子,运行random方法取得数列。然后根据数列中的信息,将地图构造出来~~。

d65d2cbe972e0befb09d6b4209c0719e.png

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值