public enum Race { HUMAN("Human", 50, 20, 30), ELF("Elf", 40, 100, 500); private String name; private int genderPercentage; private int ageOfMajority; private int ageOfDeath; private Race(String name, int genderPercentage, int ageOfMajority, int ageOfDeath) { this.name = name; this.genderPercentage = genderPercentage; this.ageOfMajority = ageOfMajority; this.ageOfDeath = ageOfDeath; }}public class Person { int pid; Race race; // First Determine Race String sex; // Then Determine Sex String fName; String lName; int mother; int father; int spouse; int birthYear; int birthMonth; int birthDay; WorldSim world; public Person(WorldSim world, int mother, int father) { this.mother = mother; this.father = father; this.world = world; if((mother == 0)||(father == 0)) { // Determine Random Race // Determine Random Last Name based on Race // Determine Raw Stats(Child 1d6*5) } else { // Determine Race based on Parents // Determine Last Name based on Parents and Status // Children without Married Parents get mothers last name // Determine Modded Stats(Child 1d6*5+(50-ParStats/5)) } // Determine Sex Based on Race // Determine First Name based on Race } public void age() {// Increment Age by one month // Use the "world" variable here // Check for Major Events this month // Including Ongoing Events // Check for Minor Events // Check for personal Events // Age by One month } }