-2

Minecraft のスライム計算機を作成したいのですが、ここでアルゴリズムを見つけました。しかし、私は Java をまったくよく知らないので、これを Python に翻訳したいと考えています。そのためには、そのようなものが何を0x4c1906意味するのかを知る必要があります。それは私がPythonで同じように保つことができる単なる基本的なポインタですか? ある種のバイナリ変換などを使用する必要がありますか? ポインターとは何か、Python プログラミングでそれらをどのように処理する必要があるかについて、私は混乱しています。

4

3 に答える 3

2

0x4c1906はポインターではなく、16 進数値であり、10 進数表記で 4987142 を意味します。

于 2012-11-03T04:36:08.243 に答える
1

Python でコーディングしたいが、Java の疑似乱数ジェネレーターを使用する場合は、Jython を調べてください。

于 2013-07-23T19:26:07.380 に答える
0

Java コード スニペットのいくつかの 16 進数定数は、

Random rnd = new Random(seed + 
                    (long) (xPosition * xPosition * 0x4c1906) + 
                    (long) (xPosition * 0x5ac0db) + 
                    (long) (zPosition * zPosition) * 0x4307a7L + 
                    (long) (zPosition * 0x5f24f) ^ 0x3ad8025f);
return rnd.nextInt(10) == 0;

乱数ジェネレーター (RNG) のシードを計算するために使用されています。Java コードの効果を再現するには、Java ランタイム システムが提供する RNG を使用する必要があります。C++ では、Java と非常によく似た C++ コードによってシードの同じ値を簡単に計算でき、srand() を介して RNG を簡単に初期化できますが、乱数シーケンスは通常 C++ と Java では異なります。古い daniweb の投稿で述べたように、異なる C++ 実装は通常、互いに異なる RNG を使用し、開始するシードを指定すると、異なる数列が生成されます。対照的に、Java 標準では、クラスの「特定のアルゴリズム」を指定Randomして、結果を複製および移植可能にします。同じ結果を得るために実装する必要がある追加のコードについては、リンクを参照してください。

于 2012-11-03T05:40:13.480 に答える