Galaxy ID を SHA1 で入力していただけませんか、EG:
ギャラクシー 1
Sha1(1) = 356a192b7913b04c54574d18c28d46e6395428ab
ギャラクシー 2
Sha1(2) = da4b9237bacccdf19c0760cab7aec4a8359010b0
ギャラクシー3
Sha1(3) = 77de68daecd823babbb58edb1c8e14d7106e83bb
その後、IE のコードをセグメント化できます。
最初の 4 文字 = 惑星の数
356a
da4b
77de
ある種の文字列から数値へのアルゴリズムが必要になります。単純なものの1つは、数値以外のすべての文字のASCIIコードを取得し、それらをすべて一緒に乗算することです。
では、銀河系に惑星がいくつあるかがわかったところで、銀河の x、y、z 次元はどうでしょうか?
次の 9 文字 = Galaxy の寸法 (x、y、z)
上記と同じ原理で、コードを大きな数に変換します。感度チェックもいくつか行ってください。10milesx10milesx10miles の銀河に 2000 万の惑星は必要ありません。最小サイズが惑星の数 * 10000 のように、ある種の加重アルゴリズムを使用します。範囲がすべて互換性があり、ハッシュから選択された文字が実際に妥当な範囲を与えることを確認するために、数値を操作する必要があります。
または、これの代わりに、銀河の最小サイズと最大サイズの間の数値を乱数で選択することができますが、銀河 ID などの一定の RNG シードを使用してください! このように、銀河のサイズは観察者にとって本質的に「ランダム」ですが、毎回同じになります。
などなど!
これは宇宙のプロパティを取得する 1 つの方法ですが、惑星のプロパティはどうでしょうか。人口とかその他とか?
20,000 の惑星を持つ Galaxy 1 がある場合、次のことができます。
Sha1('1:340') = bc02ab36f163baee2a04cebaed8b141505cc26b5
つまり、銀河 1、惑星 340 です。その後、そのコードを好きなようにつなぎ合わせることができます。ハッシュを使用する利点は、すべての惑星が完全に一意のコードを持つ必要があることです。