欢迎光临散文网 会员登陆 & 注册

【mcbe】【氵】一格宽水道结冰率

2022-07-23 10:57 作者:叼叼的名字  | 我要投稿

本文参考了 @bWFuanVzYWth 的 《水是怎么结冰的》

本文参考了 @AlanSchezar 的 《结冰速率测试》

本文借助了 @hhhxiao_ 的 trapdoor 插件加速测试


结冰的机制:

在每一个gametick

  对每一个区块

    在区块内随机选取一个xz

    获取能被淋到雨的最顶部方块

    如果满足1/16的成功率

      如果满足结冰判定

        把这个方块替换成冰

其中结冰的判定包括这个方块是水,是否有相邻的方块,所在的群系与海拔等。

                                                                                        ——《水是怎么结冰的》

这些机制在原文附的代码中有更好地体现,包括 打乱区块更新顺序、采用随机数来选择水源、判断水源附近是否有方块存在 等(没有注释读起来是真痛苦 _(:з」∠)_ )

但是对于一格宽水道来说所需要考虑的事情没有这么多,因为水池内每一格水都有水池壁可以作为旁边的方块。所以相对来说只需要乘上结冰率就可以很好地模拟了。所以虽然程序的通用性差了很多,但编写起来更容易、得出结论的速度快一点了

下图第一行 为结冰率,第二行 为六次实测的平均值(800格水源),第四行为程序计算结果。可以看出程序计算结果和实际情况比较接近


下图左侧为程序计算结果,右侧为linlin的程序模拟结果,可以看到结果比较接近


附录:


由于文章内容里附的数据更多是证明程序计算数据的可用性,完整数据请联系作者

程序采用的均为c++的标准库,如有可以欢迎自行修改代码以适配自己的需求

【mcbe】【氵】一格宽水道结冰率的评论 (共 条)

分享到微博请遵守国家法律