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

📄 hero.java

📁 应用j2me技术开发的手机游戏
💻 JAVA
字号:
import java.io.IOException;

import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;

public class Hero extends Sprite {

	public String aname;
	public Image imgplayer;

	public int trait = 0;// 主角独有特性,轮回结局的重要判断依据,以及对话的控制走向;

	public final String strAtr[] = new String[8];
	public int atr[] = new int[8];// 总共8项主角属性;,最好改成两位数组,一个代表当前,一个代表最大之;为了方便把它引入给主角;
	public int exp = 1000;// 经验值;還是得翻頁才行;
	public int feng = 70;// 青梅竹马;
	public int friendfeina = 10;// 王国公主友好度
	// public int friendxiya = 10;// 神界公主友好度;扩展
	// public int friendlisi = 10;// 魔界公主友好度;扩展用;
	public int arm[] = new int[8];// 装备8件和武器;这里指正在装备的武器;;//

	public int skill[] = new int[10];// 最多10种技能;
	public int lev;// 最高200级;
	public int item[] = new int[40];// 最多同时拥有40种物品,0到9代表物品,10到33代表3种套装,33到40代表8种任务物品;

	// 每种包括五件装备和3樣:武器,法杖,一件組合套装;10到17,18到25,26到33;
	// 前面是物品序列的编号,开始是10种物品,后面是24武器,还有15个留待扩充;数值代表该样物品的数量,为-1代表该种物品为零;;
	public int frameup[] = { 3, 4, 5 };
	public int framedown[] = { 0, 1, 2 };
	public int frameright[] = { 6, 7, 8 };
	public int frameleft[] = { 9, 10, 11 };
	public int hdx, hdy;// 主角移动的坐标差;
	public int zmap = 0;
	public int hx = 230, hy = 80;// 主角在所在大地图上的坐标;
	public int[] task = new int[15];// 15个主线任务;序号代表第几个任务,为-1的时候标记没有接到,为0时表示接到但没有完成,为1时表示已经完成;
	public int gold = 1000;
	public int diagState = -1;
	public int maxHp = 0;
	public int maxMp = 0;
	public boolean load = false;

	public boolean firstLoad = true;
	public boolean secondLoad = false;

	public Hero() throws IOException {
		super(Image.createImage("/character/player.png"), 16, 32);
		try {
			imgplayer = Image.createImage("/character/player1.png");
		} catch (IOException e) {
			e.printStackTrace();
		}
		aname = "希洛";
		lev = 1;

		atr[2] = 12;//
		atr[3] = 35;//
		atr[4] = 15;
		atr[5] = 61;

		strAtr[0] = "生命 ";
		strAtr[1] = "魔力 ";
		strAtr[2] = "力量 ";
		strAtr[3] = "智力 ";
		strAtr[4] = "体质 ";
		strAtr[5] = "魅力 ";
		strAtr[6] = "攻击 ";
		strAtr[7] = "防御 ";

		hdx = 3;
		hdy = 3;
		for (int i = 0; i < arm.length; i++)
			// 0代表头,1代表
			arm[i] = -1;
		arm[5] = 15;// 初始白银剑和白银杖;
		arm[6] = 16;

		for (int i = 0; i < item.length; i++)

			item[i] = 0;

		item[0] = 10;
		item[1] = 5;
		item[15] = 1;
		item[16] = 1;

		for (int i = 0; i < skill.length; i++) {
			skill[i] = 0;
		}
		skill[0] = 1;
		skill[1] = 1;
		atr[0] = atr[2] * atr[4] * 2;// 最大生命等于体质乘以力量;;
		atr[1] = atr[3] * atr[4] / 5;// 魔力;最大魔力等于体质乘以智力;身体越强容纳的魔力越多;
		atr[6] = atr[2] * 1 + atr[3] * 2 + 16 + 20; // 初始攻击力防御力计算公式;以后还要计算上其他的装备;
		atr[7] = atr[4] * 2;

		this.maxHp = atr[0];
		this.maxMp = atr[1];
		for (int i = 0; i < task.length; i++)
			task[i] = -1;

	}

	/**
	 * @return 返回是否套装;
	 */
	public int judgeSuit() {

		if (arm[0] == 10) {// 在第一件是白银之首的前提下,如果后面有不是白银装备的那么就不是套装
			for (int i = 1; i < arm.length - 1; i++)
				if (arm[i] != arm[0] + i)
					return -1;
			return 17;

		}

		if (arm[0] == 18) {
			for (int i = 0; i < arm.length - 1; i++)
				if (arm[i + 1] != arm[i] + 1)
					return -1;
			return 25;
		}

		if (arm[0] == 25) {
			for (int i = 0; i < arm.length - 1; i++)
				if (arm[i + 1] != arm[i] + 1)
					return -1;
			return 33;
		}
		return -1;
	}

	// }
	// { "白银之首:防御加3", "白银之手:防御加2",
	// "白银之胸:防御加5", "白银之腿:防御加4",
	// "白银之脚:防御+2", "白银之剑:攻击+20",
	// "白银之杖:攻击+16,提升魅力", "白银装甲:防御额外+10,各属性上升两点",
	// "黄金之首:防御加6",
	// "黄金之手:防御加5", "黄金之胸:防御加10", "黄金之腿:防御加8",
	// "黄金之脚:防御加5", "黄金之剑:攻击+40",
	// "黄金之杖:攻击加32,提升魅力", "黄金战衣:防御额外+30,各属性上升五点",
	// "战神之首:防御加20",
	// "战神之手:防御加20", "战神之胸:防御加100",
	// "战神之腿:防御加30", "战神之脚:防御加20",
	// "战神之剑:攻击加150",
	// "天使权杖:攻击加120,圣天使召唤必备",
	// "战神武装:防御额外+100,各属性上升二十点,对恶魔伤害增加百分之百"
	// }

	void judgeMaxhpMp() {
		maxHp = atr[2] * atr[4] * 2;// 最大生命等于体质乘以力量;;
		maxMp = atr[3] * atr[4] / 5;//
	}

	void judgeSkill() {
		if (lev > 5)
			skill[2] = 1;
		if (lev > 10)
			skill[3] = 1;
		if (lev > 15)
			skill[4] = 1;
		if (lev > 20)
			skill[5] = 1;
		if (lev > 30)
			skill[6] = 1;
		if (lev > 40)
			skill[7] = 1;

	}

	void judgeAd() {

		atr[6] = atr[2] * 1 + atr[3] * 2; // 初始攻击力防御力计算公式;以后还要计算上其他的装备;
		atr[7] = atr[4] * 2;
		switch (arm[0]) {
		case -1:
			break;
		case 10:
			atr[7] += 3;
			break;
		case 18:
			atr[7] += 6;
			break;
		case 26:
			atr[7] += 20;
			break;
		}
		switch (arm[1]) {
		case -1:
			break;
		case 11:
			atr[7] += 2;
			break;
		case 19:
			atr[7] += 5;
			break;
		case 27:
			atr[7] += 20;
			break;
		}
		switch (arm[2]) {
		case -1:
			break;
		case 12:
			atr[7] += 5;
			break;
		case 20:
			atr[7] += 10;
			break;
		case 28:
			atr[7] += 100;
			break;
		}
		switch (arm[3]) {
		case -1:
			break;
		case 13:
			atr[7] += 4;
			break;
		case 21:
			atr[7] += 8;
			break;
		case 29:
			atr[7] += 30;
			break;
		}
		switch (arm[4]) {
		case -1:
			break;
		case 14:
			atr[7] += 2;
			break;
		case 22:
			atr[7] += 5;
			break;
		case 30:
			atr[7] += 20;
			break;
		}
		switch (arm[5]) {
		case -1:
			break;
		case 15:
			atr[6] += 20;
			break;
		case 23:
			atr[6] += 40;
			break;
		case 31:
			atr[6] += 150;
			break;
		}
		switch (arm[6]) {
		case -1:
			break;
		case 16:
			atr[6] += 16;
			break;
		case 24:
			atr[6] += 32;
			break;
		case 32:
			atr[6] += 120;
			break;
		}
		switch (arm[7]) {
		case -1:
			break;
		case 17:
			atr[7] += 10;
			break;
		case 25:
			atr[7] += 30;
			break;
		case 33:
			atr[7] += 100;
			break;
		}
	}
}

⌨️ 快捷键说明

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