2017-04-20 7 views
1

私はプログラミングが新しく、オブジェクトを生成してJavaゲームで重複を避けるための最良の方法やすばやい方法が不思議でした。重複のないランダムなオブジェクトを生成する

私はレベルにランダムに配置したいスパイクピットの配列を持っています。スクリーン上に画像をペイントするための私は現在持っているコードは:

// Initialise all Spike Pits 
    for (int k = 0; k < NUMBER_OF_SPIKEPITS; k++) { 
     spikepitX = rand.nextInt(3600) + (thePlayer.getX() + 20); //will ensure that the spike pit cannot spawn under the player start position 
     spikepitY = (GroundLevel - 33); 

     spikepit[k] = new SpikePit(spikepitX, spikepitY); 
    } 

    init(); 

これは、レベルの幅のために地面に沿ってランダムな点でそれらを印刷し、それらのいくつかは重複します。これを防ぐために追加できるものはありますか?

+0

[this](http://stackoverflow.com/questions/16000196/java-generating-non-repeating-random-numbers)は役に立ちますか? – jrook

+0

擬似乱数生成に頼っている場合は、プレイヤーが配置されていない座標範囲のみを考慮してください。それ以外の場合は、座標を連続的に生成し、有効であるかどうかを確認する必要があります。 –

答えて

-1

リストにspikepitXを追加して、新しいspikepitXがこれで利用可能かどうかを確認し、そうであれば別のspikepitXを取得してもう一度チェックします。

関連する問題