小球四处碰撞运动
单词
flag ——标志
else——否则
if —— 如果
package day05;
import day04.Test04;
import javax.swing.*;
import java.awt.*;
public class Test01 extends JPanel {
int y=0;
int x=0;
int flag=1;//初始运行状态 flag:标志 1:下 2:上
@Override
public void paint(Graphics g) {
super.paint(g);
g.fillOval(x,y,20,20);
}
public void run() throws InterruptedException {
if (flag==1){x=x+1;y=y+1;}
if (flag==2){x=x-1;y=y+1;}
if (flag==3){x=x-1;y=y-1;}
if (flag==4){x=x+1;y=y-1;}
if (x>=260){//右边界
//如果flag为1,修改为2,否则修改为3
//if(){}else{}
//如果小括号内结果为true,执行if花括号内容,否则执行else里面的内容
if (flag==1) {
flag=2;
} else
{
flag=3;
}
}
if(y>=334){//下边界
if (flag==2){flag=3;} else {flag=4;}
}
if (x<=0){//左边界
if (flag==3){flag=4;} else {flag=1;}
}
if (y<=0) {//上边界
if (flag == 4){flag=1;}else{flag=2;}
}
repaint();
Thread.sleep(5);
}
public static void main(String[] args) throws InterruptedException {
JFrame n=new JFrame();
n.setBounds(0,0,300,400);
n.setResizable(false);
n.setDefaultCloseOperation(3);
Test01 b=new Test01();
n.add(b);
n.setVisible(true);
while ( true)
b.run();
注意:小球向一个方向碰撞 结果有两个 注意处理边界越界问题