📄 ball_两球相撞_多次.java.txt
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Ball extends JApplet {
private OneBall blueBall, redBall;
private boolean xUp,yUp,bouncing,start=false;
private int x, y, xDx, yDy;
private final int MAX_X=200, MAX_Y=200;
private Color color;
public void init(){
xUp=false;
yUp=false;
xDx=1;
yDy=1;
addMouseListener(
new MouseListener(){
public void mousePressed(MouseEvent event){
showStatus("开始");
creatBall(event);
}
public void mouseExited(MouseEvent event){}
public void mouseClicked(MouseEvent event){}
public void mouseReleased(MouseEvent event){}
public void mouseEntered(MouseEvent event){}
}//end new
);
setSize(MAX_X,MAX_Y);
}//end init();
private void creatBall(MouseEvent event){
if(start==false){
x=event.getX();
y=event.getY();
blueBall=new OneBall(x,y,xDx,yDy,MAX_X,MAX_Y,Color.blue,this);
bouncing=true;
blueBall.start();
redBall=new OneBall(x,y,xDx,yDy,MAX_X,MAX_Y,Color.red,this);
redBall.start();
try{
redBall.sleep(1000);
}catch(InterruptedException e){
System.err.println(e.toString());
}
}
}//end creatball
public void stop(){ blueBall=null;}
public void paint(Graphics g){
super.paint(g);
if(bouncing){
x=blueBall.getX();
y=blueBall.getY();
color=blueBall.getColor();
g.setColor(color);
g.fillOval(x,y,20,20);
int x1=x,y1=y;
x=redBall.getX();
y=redBall.getY();
color=redBall.getColor();
g.setColor(color);
g.fillOval(x,y,20,20);
System.out.println("x:"+x+"x1:"+x1+"y:"+y+"y1:"+y1);
if(Math.abs(x-x1)<20&&Math.abs(y-y1)<20){
redBall.setBool(false);
blueBall.setBool(false); //两球相撞,则停止运行
showStatus("撞上了");
start=false;
}
}
}//end paint
}//end Class Ball
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -