我时常想象人生就是一颗颗不同颜色的球,我们在特定的空间里面做自由的运动,偶尔会与另一颗美丽或者平凡的小球碰撞在一起,然后我们仍走向截然不同的道路。
生命如此,每个人都是独立的个体。也许有一天吧,你遇到了比你强大,比你包容的另一个生命,他或者她会告诉你,来我的怀里吧;于是乎你毅然决然的放弃了所有,奋不顾身的投入了他的怀抱,两颗不同的心,不同的生命也能融为一体。
于是我们终于知道,生命可以是坚硬的碰撞,也可以是温柔的拥抱。在碰撞与拥抱之间,整个宇宙中的生命得以延续,文明才能得到继续。
在这里作为java初步学习的小结,下面是我所做的小球碰撞以及包容(吞噬)的多线程程序。
以下:
我们用一个黑色的界面来代表整个宇宙,在其中放入五颜六色的形状不一的小球(代表生命),这些球在遇到界面的边界时会发生反弹,在遇到其他球时则会发生吞噬或者碰撞的随机过程。
将小球定义为Ball类,每次在黑色界面上的鼠标点击都会在点击处生成一个颜色随机,大小随机(有上限),速度随机(大小和方向随机,但x,y方向的速度不会同时为0)。将所有小球存放在Arraylist中,然后利用多线程对Arraylist进行操作。其中主要实现的是小球的碰撞以及吞噬的 功能。此外还引入暂停,继续,停止等功能。
下面是小球类
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.util.Random;
/*
* 这里定义的小球类
* 属性有坐标x,y;大小size;速度xspeed,yspeed;颜色color。全部定义为private型
* 各属性都有他们的setters和getters
* 方法有move方法来控制其移动
*
*/
public class Ball {
private int x,y,size;
private int xspeed;
private int yspeed;
private Color color;
public int getXspeed() {
return xspeed;
}
public void setXspeed(int xspeed) {
this.xspeed = xspeed;
}
public int getYspeed() {
return yspeed;
}
public void setYspeed(int yspeed) {
this.yspeed = yspeed;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public Color getColor() {