たとえば、ユーザーがゲームに登録すると、座標 (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: すべてのユーザーは、両方の軸で 25 の最大偏差で (50;50) など、あるポイントの近くでスポーンします。
ケース 2: すべてのユーザーが、以前のスポーン ポイントの近くでスポーンしますが、多少の偏差があります。
ケース 3: すべてのユーザーが、登録時間の差に基づいて、以前のスポーン ポイントの近くでスポーンします。たとえば、2 人のユーザーが同時に登録した場合、それらは同じポイントでスポーンしますが、2 番目のユーザーが最初のユーザーの 2 分後にスポーンした場合、偏差は 2 倍になります。
いずれにせよ、そこから新しいスポーン ポイントを計算するには、最後のスポーン ポイントを保存する必要があります。
何が最善かについては、自分で選択する必要があります。