package xmpDynamicType;

import java.util.Random;

public class Character {
	private String name;
	private int age;
	private int strength;
	static Random randGen = new Random();
	/**
	 * @param name
	 */
	public Character(String name) {
		this.name = name;
		this.age = 0;
		this.strength=10;
	}
	
	/**
	 * @return the strength
	 */
	public int getStrength() {
		return strength;
	}
	/**
	 * @param strength the strength to set
	 */
	public void addStrength(int adder) {
		strength += adder;
		if (strength<0) strength=0;
		if (strength>100) strength=100;
	}
	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}
	/**
	 * @return the age
	 */
	public int getAge() {
		return age;
	} 
	
	public void age() {
		age+=randGen.nextInt(6);
		if (age < 15) addStrength(3);
		else if (age < 30) addStrength(5);
		else if (age < 70) addStrength(-3);
		else addStrength(-10);
	}
	
	public void eulogy() {
		System.out.print(name + " died ");
		if (age<15) System.out.print("in tender years.");
		else if (age<40) System.out.print("in the prime of life.");
		else System.out.print("after a full life.");
		
		System.out.print("\n");
	}
	
	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
	   return name + " Age: " + age + " Strength: " + strength;
	}

}
