【mcbe】【氵】一格寬水道結冰率
本文參考了 @bWFuanVzYWth 的 《水是怎么結冰的》

本文參考了 @AlanSchezar 的 《結冰速率測試》

本文借助了 @hhhxiao_ 的 trapdoor 插件加速測試


結冰的機制:
在每一個gametick
??對每一個區(qū)塊
????在區(qū)塊內隨機選取一個xz
????獲取能被淋到雨的最頂部方塊
????如果滿足1/16的成功率
??????如果滿足結冰判定
????????把這個方塊替換成冰
其中結冰的判定包括這個方塊是水,是否有相鄰的方塊,所在的群系與海拔等。
????????????????????????????????????????????????????????????????????????????????????????——《水是怎么結冰的》
這些機制在原文附的代碼中有更好地體現,包括 打亂區(qū)塊更新順序、采用隨機數來選擇水源、判斷水源附近是否有方塊存在 等(沒有注釋讀起來是真痛苦 _(:з」∠)_ )
但是對于一格寬水道來說所需要考慮的事情沒有這么多,因為水池內每一格水都有水池壁可以作為旁邊的方塊。所以相對來說只需要乘上結冰率就可以很好地模擬了。所以雖然程序的通用性差了很多,但編寫起來更容易、得出結論的速度快一點了
下圖第一行 為結冰率,第二行 為六次實測的平均值(800格水源),第四行為程序計算結果??梢钥闯龀绦蛴嬎憬Y果和實際情況比較接近

下圖左側為程序計算結果,右側為linlin的程序模擬結果,可以看到結果比較接近


附錄:
由于文章內容里附的數據更多是證明程序計算數據的可用性,完整數據請聯(lián)系作者
程序采用的均為c++的標準庫,如有可以歡迎自行修改代碼以適配自己的需求
標簽: