/* Author: James Tam Version Feb 17A, 2021 * Added method so an Entity can damage another Entity. Version: Feb 12A, 2021 * Added attribute to track if Entity has been moved or not. Version: Feb 11B, 2021 * Changed references from dwarves to elves. * Added a new damage attribute. Version: October 12, 2015 * Original program */ public class Entity { public static final char DEFAULT_APPEARANCE = 'X'; public static final char ELF = 'E'; public static final char EMPTY = ' '; public static final char ORC = 'O'; public static final int DEFAULT_HP = 1; public static final int ORC_DAMAGE = 3; public static final int ELF_DAMAGE = 7; public static final int ORC_HP = 10; public static final int ELF_HP = 15; private char appearance; private int hitPoints; private int damage; public Entity() { setAppearance(DEFAULT_APPEARANCE); setHitPoints(DEFAULT_HP); } public Entity(char newAppearance) { appearance = newAppearance; hitPoints = DEFAULT_HP; damage = ORC_DAMAGE; } public Entity(char newAppearance, int newHitPoints, int newDamage) { setAppearance(newAppearance); setDamage(newDamage); setHitPoints(newHitPoints); } public char getAppearance() { return(appearance); } public int getDamage() { return(damage); } public int getHitPoints() { return(hitPoints); } private void setAppearance(char newAppearance) { appearance = newAppearance; } private void setDamage(int newDamage) { if (newDamage < 1) { System.out.println("Damage must be 1 or greater"); } else { damage = newDamage; } } private void setHitPoints(int newHitPoints) { hitPoints = newHitPoints; } }