例如,用户注册游戏,他得到坐标 (5;5)。另一个用户之前在用户附近的某个地方获得坐标,比如说 (8;5),等等。因此,所有最新注册的用户都彼此接近。
问题是 - 以前生成靠近用户的坐标的最佳方法是什么?
对不起英语不好
例如,用户注册游戏,他得到坐标 (5;5)。另一个用户之前在用户附近的某个地方获得坐标,比如说 (8;5),等等。因此,所有最新注册的用户都彼此接近。
问题是 - 以前生成靠近用户的坐标的最佳方法是什么?
对不起英语不好
首先,您必须定义新用户将出现多远,然后从现有用户生成位置。
例如,假设 (2;6) 中有一个用户和一个新用户注册。您定义新注册用户将出现的最大距离为 5 个单位。新注册用户的位置将类似于:x = 2 +/- 随机 (0-5) y = 6 +/- 随机 (0-5)
这样,新的用法可能会出现在 (5;4), (7;2), (3;5)......
您应该决定新用户的距离取决于什么。
案例 1:所有用户在某个点附近生成,例如 (50;50),两个轴上的最大偏差为 25。
案例 2:所有用户都在前一个生成点附近生成,但有一些偏差。
案例 3:所有用户在前一个生成点附近生成,并根据注册时间差异产生偏差,例如如果两个用户同时注册,他们将在同一点生成,但是如果第二个用户在第一个用户之后 2 分钟生成,偏差将乘以 2。
无论哪种方式,您都必须保存最后一个生成点才能从中计算出一个新生成点。
至于什么是最好的——你必须自己选择。