我写的是一张小片,偶尔在2D地图上点燃。 (“火park”只是一个更光明的col。) 我像park块一样,随意和统一地在(有限)平面上分配,但我希望,火焰在X和Y坐标的基础上是决定性的。 我尝试从坐标处创造种子,并从这一种子中创建 JavaRandom
,但迄今为止,我的努力已形成了可识别的模式。 这一职能经常被称作(几百万倍),因此业绩至关重要。
首先,我尝试将我的<代码>hashCode()执行付诸东流,使用一个数字乘数避免碰撞。 由此,在地图上出现了明显可见的气体,其中一系列点共用同样的种子。
I then tried to create a seed by concatenating the coordinates like so:
long seed = ((long) x << 32) | (long) y;
Random rand = new Random(seed);
这似乎也产生了模式数据,尽管模式是显而易见的。 选定的坐标线上显示,根本不平均分配。
我避免使用MD5或其他加密洗衣算法,因为我害怕履约影响。