⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 actor.java

📁 a java game code for java
💻 JAVA
字号:
//Source file: d:/MyProjects/Java/eatbean/eatbean/Actor.java

package eatbean;

import java.awt.*;
//
import java.util.Vector;
//
import eatbean.util.*;
import java.util.Hashtable;

public abstract class Actor implements Runnable {
	public static final int LEVEL_1 = 1;    //精灵级别常量
	public static final int LEVEL_2 = 2;
	public static final int LEVEL_3 = 3;

	protected Thread thread = null;
	/** 对象在屏幕上的绝对位置及大小 */
	protected Rect rect = new Rect();
	/** 对象在地图上的数组索引 */
	protected Pos mapPos = new Pos();
	protected Mediator mediator = null;
	/** 下一步可能的方向 */
	protected int nextDirection = DIR_EAST;
	/** 当前行动方向 */
	protected int direction = nextDirection;
	/** 精灵的级别,级数大的吃级数小的 */
	protected int level = LEVEL_2;
	protected static int step = 2;
	//protected int step = 2;
	protected boolean paused;
	/** 当前被Actor覆盖的Map上的元素索引集 */
	protected Pos[] currCoveredPos = null;
	public static final int DIR_WEST = 1;
	public static final int DIR_EAST = -1;
	public static final int DIR_NORTH = 2;
	public static final int DIR_SOUTH = -2;

	public Actor(Mediator m) {
		mediator = m;
	}
	public void setPaused(boolean paused) { this.paused = paused; }
	public void setLevel(int level) { this.level = level; }
	public void setStep(int step) { this.step = step; }
	public boolean getPaused() { return paused; }
	public int getLevel() { return level; }
	public int getStep() { return step; }
	public void setNextDirection(int dir) {
		if(!((dir != DIR_WEST) && (dir != DIR_EAST) && (dir != DIR_NORTH) &&
						(dir != DIR_SOUTH)))
			nextDirection = dir;
	}
	public Pos[] getCurrCoveredPos() { return currCoveredPos; }
	public int getDirection() { return direction; }
	public int getReverse() { return -direction; }
	public Rect getRect() { return (Rect)rect.clone(); }
	public Pos getMapPos() { return (Pos)mapPos.clone(); }
	protected Image getImage(Hashtable imgBuffTable, Hashtable frameTable, int imgIndex) {
		Integer key = new Integer(imgIndex);
		Image result = (Image)imgBuffTable.get(key);
		if(result == null) {
			String fileName = frameTable.get(key).toString();
			result = ImageTool.getImage(fileName);
			if(result != null) imgBuffTable.put(key, result);
		}
		return result;
	}
	public abstract boolean act();
	public abstract void paint();
	public abstract void run();
	public abstract void die();
	public abstract void clear();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -