📄 model.java
字号:
package jegg;
import java.awt.Dimension;
import java.awt.Image;
import java.util.ArrayList;
import java.util.Observable;
import mqqqvpppm.activeObject.AbstractActiveObject;
import mqqqvpppm.util.ImagesTools;
/**
* @author mqqqvpppm
*
* TODO record game state, if need model will notify his observer
*
* Create on Sep 13,2005
*/
public class Model extends Observable{
public Model(Dimension dimension){
this.dimension = dimension;
Image imageTemp = ImagesTools.createImage(JEgg.class.getResource("images/bowl.gif"));
bowl1 = new Bowl(imageTemp);
bowl2 = new Bowl(imageTemp);
bowl3 = new Bowl(imageTemp);
bowl1.setDeminsion(new Dimension(35,17));
bowl2.setDeminsion(new Dimension(35,17));
bowl3.setDeminsion(new Dimension(35,17));
imageTemp = ImagesTools.createImage(JEgg.class.getResource("images/egg.gif"));
egg = new Egg(imageTemp);
egg.setDeminsion(new Dimension(14,17));
level = 0;
startTime = 0;
activeObjects = new ArrayList();
activeObjects.add(egg);
activeObjects.add(bowl1);
activeObjects.add(bowl2);
activeObjects.add(bowl3);
}
public Dimension getDeminsion(){
return dimension;
}
public ArrayList getActiveObjects(){
return activeObjects;
}
public void activateObservers(){
setChanged();
notifyObservers(activeObjects);
}
public AbstractActiveObject getActiveObjectByName(String name){
if(name.equalsIgnoreCase("bowl1")) return bowl1;
else if(name.equalsIgnoreCase("bowl2")) return bowl2;
else if(name.equalsIgnoreCase("bowl3")) return bowl3;
else if(name.equalsIgnoreCase("egg")) return egg;
else return null;
}
public void setStartTime(long elapsedTime){
this.startTime = elapsedTime;
}
public void setLevel(int level){
this.level = level;
}
public long getStartTime(){
return startTime;
}
public int getLevel(){
return level;
}
public static final String BOWL1 = "bowl1";
public static final String BOWL2 = "bowl2";
public static final String BOWL3 = "bowl3";
public static final String EGG = "egg";
private Dimension dimension;
private int level;
private long startTime;
private AbstractActiveObject bowl1;
private AbstractActiveObject bowl2;
private AbstractActiveObject bowl3;
private AbstractActiveObject egg;
private ArrayList activeObjects;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -