2

嗨,我在 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);

       } 

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

4

3 回答 3

0

我将尝试仅根据“与您现在拥有的最接近的内容”来回答,那就是将代码封闭draw()在一个while循环中,直到发生某些事情。

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

于 2012-12-10T23:42:55.810 回答
0

使用随机类:

Random random = new Random();
int x = random.nextInt(screenWith);
int y = random.nextInt(screenyheight);
int radius = minradius + random.nextInt(50); 
于 2012-12-10T23:43:05.213 回答
0

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

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

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

我希望这有帮助 :)

于 2013-01-12T17:13:10.553 回答