继前不久写出了坦克大战单机版后,接着又升级到了图片版,使得游戏玩起来更有趣、更形象。
先上张效果图:
这个版本相对于单机版所做的修改(新接触到的知识点):
首先为了加入图片(坦克、子弹、以及爆炸效果图),在classpath中添加资源。
初步了解反射的概念:对于classloader, 每一个.class实际就是一个Class对象,Class是对类信息的表述,是类的metainfo / metadata
初步了解了Singleton模式:确保一个类只有一个实例,并提供一个全局的访问点,在这个实例中的代码为:
import java.io.IOException;
import java.util.Properties;
public class PropertyMgr {
static Properties props=new Properties();
static{
try {
props.load(PropertyMgr.class.getClassLoader().getResourceAsStream("config/tank.properties"));
} catch (IOException e1) {
e1.printStackTrace();
}
}
private PropertyMgr(){
};//private 只供内部调用 不允许再new出新的对象来
public static String getProperty(String key){
return props.getProperty(key);
}//提供了一个供外部访问本class的静态方法,可以直接访问
}
Java 中的Singleton禁止Java中的Singleton类实例,也就是说Java的Singleton类只能有一个实例,极大的节省了cpu的使用率。
通过这个程序,还初步了解了反射机制,同步异步等问题,现在还没有完全掌握它们,要在以后的学习过程中更深入的去学习才行。
把这个小游戏的单机版和图片版的代码贴出来,有兴趣的可以看看,若之前做过这个,可以和我的比较一下~~~
CSDN下载地址:http://download.csdn.net/detail/yanghai0321/3766202