线程游戏-飞机大战
1.运用ArrayList或者数组存放对象,在此用到了ArrayList存放对象。开辟新线程用于定时生成新的对象存放在ArrayList中,在主线程中循环取出ArrayList中的元素,达到并发效果
private ArrayList<Bullet> mybulletlist = new ArrayList<Bullet>(); 用于存放我方飞机的子弹
private ArrayList<Plane> enemyplanelist = new ArrayList<Plane>(); 用于存放敌方飞机
private ArrayList<Bullet> enemybulletlist = new ArrayList<Bullet>(); 用于存放敌方飞机子弹
private ArrayList<Bullet> bossbulletlist = new ArrayList<Bullet>(); 用于存放boss子弹
private ArrayList<Rank> ranklist = new ArrayList<Rank>(); 用于存放排行榜中的数据
使用到了原始流FileInputStream、FileOutputStream
1.运用ArrayList或者数组存放对象,在此用到了ArrayList存放对象。开辟新线程用于定时生成新的对象存放在ArrayList中,在主线程中循环取出ArrayList中的元素,达到并发效果
private ArrayList<Bullet> mybulletlist = new ArrayList<Bullet>(); 用于存放我方飞机的子弹
private ArrayList<Plane> enemyplanelist = new ArrayList<Plane>(); 用于存放敌方飞机
private ArrayList<Bullet> enemybulletlist = new ArrayList<Bullet>(); 用于存放敌方飞机子弹
private ArrayList<Bullet> bossbulletlist = new ArrayList<Bullet>(); 用于存放boss子弹
private ArrayList<Rank> ranklist = new ArrayList<Rank>(); 用于存放排行榜中的数据
2.运用函数的重载提升代码的重用性,提高程序可读性,节省类似类的重复定义。
在本程序中将敌机,我机,和boss飞机定义在同一个类的构造函数中,使用不同参数区分
public Plane(JPanel p,Graphics g){ //我方飞机构造方法
}
public Plane(Graphics g,JPanel p){ // boss飞机构造方法
}
public Plane(JPanel p){ // 敌人飞机构造方法
}
我方子弹、敌方子弹、boss子弹在Bullet中用构造函数重载区别
public Bullet(int x,int y){ //我方子弹的构造函数
}
public Bullet(ArrayList<Plane> enemyplanelist,ArrayList<Bullet> enemybulletlist){ //敌方子弹的构造函数
}
public Bullet(Plane bossplane){ //Boss子弹的构造函数
}
使用到了原始流FileInputStream、FileOutputStream
处理流DataInputStream、DataOutputStream