• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

JAVA窗体中2个小球怎样能互不干涉反弹移动?

这段代码运行后,两小球距离总是恒定,怎样让他们两个是各自独立,有各自的轨迹?import java.awt.*;
public class Rebound{
        public static void main(String args[]) {
                Frame w=new Frame();
                w.setSize(800, 800);
       
                MyRebound mp=new MyRebound();
                w.add(mp);


             Thread t=new Thread(mp);
                      t.start();
                     
                     w.show();               
        }
}
class MyRebound extends Panel implements Runnable{
             int x=(int)(Math.random()*800);
             int y=(int)(Math.random()*800);
             int i=(int)(Math.random()*800);
             int j=(int)(Math.random()*800);
             int att=0;
        public void paint(Graphics g) {
                g.fillOval(x, y, 50, 50);
                g.setColor(Color.yellow);
                g.fillOval(i, j, 50, 50);
        }
        public void run(){
                      while(true) {
                              //定义飞行姿态
              if(att==0) {
                      x++;   
                      y++;
                      i++;
                     j++;
              }
              if(att==1) {
                      x--;
                      y++;
                      i--;
                      j++;
              }
              if(att==2) {
                      x--;
                      y--;
                      i--;
                      j--;
              }
              if(att==3) {
                      x++;
                      y--;
                      i++;
                      j--;
              }
                               //改变飞行姿态
                   if(x>730) {
                   if        (att==0) {
                           att=1;
                   }else {                                
                           att=2;
               }
         }            
                 if(y>700) {
                         if(att==1) {
                                 att=2;
                         }else {
                                 att=3;
                         }
                 }
                 if(x700) {
                                 if(att==1) {
                                         att=2;
                                 }else {
                                         att=3;
                                 }
                         }

                         if(i

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

发新帖

发布任务需求已有1031167位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!