【问题标题】:Making a screensaver using circles.. How do i make a loop for circles so that new circles get created?使用圆圈制作屏幕保护程序.. 我如何为圆圈制作循环以便创建新圆圈?
【发布时间】:2012-11-28 11:15:24
【问题描述】:

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

       } 

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

【问题讨论】:

  • 首先很抱歉你必须使用bluej。你为什么不尝试一些东西,然后如果你仍然卡在 CS 实验室。
  • “我正在做一个屏幕保护程序” 你迟到了 SaverBeans(Java 屏幕保护程序 API)大约 7 年。
  • 查看this answer 创建多个椭圆。

标签: java methods constructor bluej


【解决方案1】:

我提倡这样的循环:

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

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

我希望这会有所帮助:)

【讨论】:

    【解决方案2】:

    使用随机类:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-07-19
        • 1970-01-01
        • 2019-09-04
        • 2018-12-15
        • 2017-07-22
        • 2021-10-15
        • 1970-01-01
        相关资源
        最近更新 更多