使用圆圈制作屏幕保护程序。如何为圆圈创建循环以便创建新圆圈?

时间:2012-12-10 23:34:57

标签: java methods constructor bluej

Hiya我在BlueJ做了一个屏幕保护程序..我做了几个圈但是需要做一个循环以便新的圈子在随机点创建虽然我不知道该怎么做..这是多少我已经完成了。

public class ScreenSaver
     {
    // instance variables - replace the example below with your own
    private Circle a;
    private Circle b;
    private Circle c;
    private Circle d;

    /**
     * Constructor for objects of class ScreenSaver
     */
    public ScreenSaver()
       {
        // initialise instance variables
        //x = 0;
       }
    public void draw()
       {
        a = new Circle();
        a.moveVertical(70);
        a.changeSize(70);
        a.slowMoveVertical(-100);
        a.makeVisible();

        b= new Circle();
        b.changeColor("red");
        b.moveHorizontal(30);
        b.makeVisible();
        b.slowMoveVertical(-100);
        b.slowMoveVertical(100);

       } 

如何制作循环以便在随机点创建新的圆圈?

3 个答案:

答案 0 :(得分:0)

我将尝试仅根据“与您现在最接近的内容”进行回答,并将draw()中的代码放在while循环中,直到此为止事情发生了。

要让圈子显示在随机位置,您可以在new java.util.Random()循环之前创建while并在每次迭代中调用其nextInt(int)方法以获取伪随机整数并强制它在你想要的范围内。

答案 1 :(得分:0)

使用类随机:

Random random = new Random();
int x = random.nextInt(screenWith);
int y = random.nextInt(screenyheight);
int radius = minradius + random.nextInt(50); 

答案 2 :(得分:0)

我是这样的循环的倡导者:

while(true)
{
    //code goes here
    if (<something happens>)
    {
        break;
    }
}

它的作用是它永远持续下去,然后在if语句到来时true打破循环。你有这个作为waitForClick()方法或类似的东西。同样,已经声明使用Random类作为随机点。只是我的建议!

我希望这会有所帮助:)