1

私はJava初心者で、白いボールが常に画面に表示されるプログラムを作成しようとしています。1 つのボールが次のボールの前に表示されるまでに数秒の休止が必要であり、ボールは画面上のさまざまな場所に表示される必要があります。RandomGenerator を使用して、ボールをさまざまな場所に表示する方法を教えてください。どんな助けでも大歓迎です!

プライベート RandomGenerator rgen = 新しい RandomGenerator();

//~ Constructor ...........................................................

// ----------------------------------------------------------
/**
 * Creates a new BubbleGame object.
 */
public void init()
{
    //call method to create regions
    CreateRegions();

    //add mouse listeners
    addMouseListeners();

    //loop to add bubbles
    while (true)
    {
        //create a filled bubble
        GOval bubble = new GOval (100, 100, 50, 50);
        bubble.setFilled(true);
        bubble.setColor(Color.WHITE);

        //randomly generate coordinates within the field
        int rgen = 

        //add the bubble and pause 
        add(bubble);
        Thread.sleep(3000);

    }
}
4

3 に答える 3

0

この関数は、_minVal と _maxVal の間の値として、_size を渡すのと同じくらい多くの乱数で配列を埋めます。したがって、4 つの座標が必要な場合は、サイズなどとして 4 を渡します。

public int[] makeRanArray(int _Size, int _minVal, int _maxVal)
{
    int[] arr = new int[_Size];

    for (int i = 0; i < _Size; i++){ 
        arr[i] = _minVal + (int)(Math.random() * _maxVal);
    }
    return arr;
}
于 2013-11-15T07:57:51.910 に答える
0

を使用Random.nextInt(maxInt)して、0 から maxInt-1 までの数値を生成できます。

Random rnd = new Random();
rnd.nextInt(10); // 0-9
于 2013-11-15T07:47:58.057 に答える
0

Swing(または同様のテクノロジー)を使用していると思います。イベント ディスパッチ スレッドで while(true) を使用することは常に悪い考えです。代わりに Swing Worker を使用してください。

ランダムは非常に使いやすいです。Random.nextInt(n)0 から n-1 までの整数を返します。

バブルの色、位置、サイズをランダム化することもできます。それはあなたの選択です。マウスクリックで消すことができます。

于 2013-11-15T07:48:31.973 に答える