使用break来停止java中的移动线

时间:2015-10-05 04:14:15

标签: java acm

我是java的新手,我有一个问题,我想解决。我正在使用ACM库。我的目标如下:

  1. 移动标签1
  2. 移动标签2
  3. 比较标签1和标签2的位置(文字点击时相互之间)“使用'if'语句”
  4. 一旦登上,请使用break声明停止。
  5. 重新开始循环。
  6. 如果有人可以通过解释如何实施来帮助我。那将是真棒。我在尝试学习。谢谢!

    import acm.graphics.GLabel;
    import acm.program.CommandLineProgram;
    import acm.program.GraphicsProgram;
    
    public class Main extends GraphicsProgram {
    
        public void run( )
    
        {
                int label1_xy = 50;
                int label2_xy = 200;
    
                GLabel label1 = new GLabel("Hello World.");
                add(label1, label1_xy,label1_xy);
    
                GLabel label2 = new GLabel("Goodbye World.");
                add(label2, label2_xy,label2_xy);
    
                while (true)
                {
                label1.move(10,10);
                    pause(500);
                label2.move(-10,-10);
                break;
                }
        }
    }
    

1 个答案:

答案 0 :(得分:1)

  1. 移动标签1
  2. 移动标签2
  3. 你做了这两件事。

    1. 比较标签1和标签2的位置(当文字点击时彼此相对)“使用'if'语句
    2. 一旦登上,请使用break语句停止。
    3. 您可以通过尝试检索对象的“绑定”来比较这两个标签的位置。例如:

      label1.move(10,10);
      pause(500);
      if (label1.getBounds().getX() == label2.getBounds().getX() 
           && label1.getBounds().getY() == label2.getBounds().getY()) {
          break;
      } else {
          label2.move(-10,-10);
      }
      
      1. 重新启动周期
      2. 您可以通过为run()代码添加另一个while块来重新启动它,也可以只调用run()(请注意此处的StackOverflowError)。