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

📄 rank.java

📁 SIMULATION FOURMILIERE -3D-ISOMETRIQUE
💻 JAVA
字号:

package fr.umlv.fourmIR2000.insect;

/**
 * Ranks of the insects
 */
public enum Rank {
	PRIVATE {
		@Override public void increaseExperience(Insect insect) {
			pvIncreaseExperience(insect, SERGEANT);
		}},
	SERGEANT {
		@Override public void increaseExperience(Insect insect) {
			pvIncreaseExperience(insect, CAPTAIN);
		}},
	CAPTAIN {
		@Override public void increaseExperience(Insect insect) {
			pvIncreaseExperience(insect, MAJOR);
		}},
	MAJOR {
		@Override public void increaseExperience(Insect insect) {
			pvIncreaseExperience(insect, COLONEL);
		}},
	COLONEL {
		@Override public void increaseExperience(Insect insect) {
			pvIncreaseExperience(insect, GENERAL);
		}},
	GENERAL {
		@Override public void increaseExperience(Insect insect) {
			// We do nothing because we can't increase experience
		}};
	
	
	/** Number of values before increasing the rank */
	private final static int NEXT_RANK = 5;
	

	/**
	 * Increase the experience of the insect
	 * @param insect	the insect to use
	 * @param nextRank	the next possible rank
	 */
	private static void pvIncreaseExperience(Insect insect, Rank nextRank) {
		insect.addStrength(Insect.STRENGTH_PER_FIGHT);
		insect.maxEnergy += Insect.STRENGTH_PER_FIGHT;
		int rank = insect.getNextRank();
		rank++;
		if(rank >= NEXT_RANK) {
			rank = 0;
			insect.rank = nextRank;
		}
		insect.setNextRank(rank);
	}
	
	
	/**
	 * Increase the experience of an insect.
	 * @param insect the insect to use
	 */
	public abstract void increaseExperience(Insect insect);
}

⌨️ 快捷键说明

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