zl程序教程

您现在的位置是:首页 >  其它

当前栏目

图片版坦克大战源代码之图片处理类(一)

处理 图片 源代码 大战 坦克
2023-09-14 09:06:43 时间
package tankImage;
import java.awt.Image;
import java.io.IOException;
import java.util.ArrayList;
/**
 * 存储图片的类,把图片放到ArrayList里面,
 * 之所以把图片存储起来,是为了避免频繁的文件读取工作
 * 这个有三个子类,分别是代表我方坦克图片的MyImage类,
 * 敌方坦克图片的EnemyImage类,爆炸图片类Explosion
 * 类,本类实现了对加入图片,删除图片,获得图片,获得图片的个数,以及
 * 删除所有图片的功能
 * 
 * @author dell
 *
 */
public class ImageUti {
private ArrayList<Image> image = new ArrayList<Image>();//存储图片的链表

/**
* 向链表里面添加图片
* @param imagePath注意图片的命名特点
* @param n不同种类的图片的数量
*/
public void addTankImage(String imagePath,int n){
for(int i=0;i<=n;i++){
try {
image.add(ImageUtil.getImage(imagePath + i + ".gif"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

/**
* 获得图片
* @param i
* @return
*/
public Image getImage(int i){
return image.get(i);
}

/**
* 在具体的子类初始化的时候就链表里添加图片
* @param imagePath图片路径
* @param n图片的数量
*/
public ImageUti(String imagePath,int n){
this.addTankImage(imagePath, n);
}

/**
* 删除指定的图片
* @param i
*/
public void remove(int i){
image.remove(i);
}

/**
* 获得图片的数量
* @return int 图片的数量
*/
public int size(){
return image.size();
}

/**
* 删除所有的图片
*/
public void removeAll(){
for(int i=0;i<size();i++){
remove(i);
}
}

}

*******************************************************************

package tankImage;
/**
 * 我方坦克的图片
 * @author dell
 *
 */
public class MyImage extends ImageUti {
/**'

* @param imagePath
* @param n我方坦克的数量
*/
public MyImage(String imagePath,int n){
super(imagePath,n);
}
}


*****************************************************************************

package tankImage;
/**
 * 敌方坦克的图片
 * @author dell
 *
 */
public class EnemyImage extends ImageUti{
/**

* @param imagePath
* @param n敌方坦克的数量
*/
public EnemyImage(String imagePath,int n){
super(imagePath,n);
}
}

***************************************************************************************

package tankImage;


/**
 * 爆炸类图片
 * @author dell
 *
 */
public class Explosion extends ImageUti{


/**

* @param imagePath图片路径
* @param n图片数量
*/
public Explosion(String imagePath, int n) {
super(imagePath, n);
// TODO Auto-generated constructor stub
}


}

************************************************************************