www.pudn.com > 20063622273380188.rar > Creature.java


import javax.microedition.lcdui.Image; 
 
class Creature 
{ 
	int level,exp,hp,mp,nextExp,str,dex,spd,mag,maxhp,maxmp,attack,defence,miss,speed,abilityLevel,mission,mapState[],money; 
	String name,ability[],abilityDes[]={"回复少量体力","强力攻击技能","","","","","",""}; 
	Item items[],lose; 
	Image eImg; 
	boolean dead; 
	 
	public Creature(int kind)  
	{ 
		int s[]; 
		switch(kind) 
		{ 
			case 0: 
				name="九尾狐"; 
				eImg=Resourse.readImage(Resourse.ENEMY); 
				break; 
			case 1: 
				name="蜥蜴人"; 
				eImg=Resourse.readImage(Resourse.ENEMY2); 
				break; 
			default: 
				break; 
		} 
		s=Resourse.getEnemy(kind); 
		exp=s[0]; 
		maxhp=s[1]; 
		hp=maxhp; 
		attack=s[2]; 
		defence=s[3]; 
		miss=s[4]; 
		speed=s[5]; 
		money=s[6]; 
		dead=false; 
	} 
	 
	public Creature(String name,int level,int exp,int hp,int mp,int mapState[],Item items[],int mission) 
	{ 
		this.name=name; 
		this.level=level; 
		this.exp=exp; 
		this.hp=hp; 
		this.mp=mp; 
		this.mapState=mapState; 
		this.items=items; 
		this.mission=mission; 
		int s[]=Resourse.levelUp(level); 
		this.maxhp=s[0]; 
		this.maxmp=s[1]; 
		this.str=s[2]; 
		this.dex=s[3]; 
		this.spd=s[4]; 
		this.mag=s[5]; 
		this.nextExp=s[6]; 
		this.abilityLevel=s[7]; 
		this.attack=str+items[0].getPow(); 
		this.defence=str+items[1].getPow(); 
		this.miss=dex+items[2].getPow(); 
		this.speed=spd+items[3].getPow(); 
		s=null; 
		ability=new String[8]; 
		for(int i=0;i<8;i++) 
			ability[i]=""; 
		getAbility(abilityLevel); 
	} 
	 
	void refresh() 
	{ 
		this.attack=str+items[0].getPow(); 
		this.defence=str+items[1].getPow(); 
		this.miss=dex+items[2].getPow(); 
		this.speed=spd+items[3].getPow(); 
	} 
	 
	void levelup(int level) 
	{ 
		this.level=level; 
		int s[]=Resourse.levelUp(level); 
		this.maxhp=s[0]; 
		this.maxmp=s[1]; 
		this.str=s[2]; 
		this.dex=s[3]; 
		this.spd=s[4]; 
		this.mag=s[5]; 
		this.nextExp=s[6]; 
		this.abilityLevel=s[7]; 
		this.attack=str+items[0].getPow(); 
		this.defence=str+items[1].getPow(); 
		this.miss=dex+items[2].getPow(); 
		this.speed=spd+items[3].getPow(); 
		s=null; 
		hp=maxhp; 
		mp=maxmp; 
		getAbility(abilityLevel); 
	} 
	 
	private void getAbility(int abilityLevel) 
	{ 
		switch(abilityLevel) 
		{ 
			case 7: 
				ability[6]=""; 
			case 6: 
				ability[5]=""; 
			case 5: 
				ability[4]=""; 
			case 4: 
				ability[3]=""; 
			case 3: 
				ability[2]=""; 
			case 2: 
				ability[1]="三连击"; 
			case 1: 
				ability[0]="治疗"; 
				break; 
		} 
	} 
	 
	void useAbility(int select) 
	{ 
		if(abilityLevel>select) 
		{ 
			switch(select+1) 
			{ 
				case 1: 
					if(mp>=5) 
					{ 
						hp=(hp+40<=maxhp?hp+40:maxhp); 
						mp-=5; 
					} 
					break; 
				case 2: 
					break; 
			} 
		} 
	} 
}