public class Arena extends Object
Modifier and Type | Field and Description |
---|---|
(package private) boolean |
applyAgingEffects
Apply aging effects?
|
(package private) Armor.Type |
baseArmorType
Base armor type for fighters.
|
(package private) Weapon |
baseWeaponType
Fix primary weapon for fighters.
|
(package private) Armor.Type |
DEFAULT_ARMOR |
(package private) int |
DEFAULT_FIGHTS_PER_YEAR |
(package private) int |
DEFAULT_NUM_FIGHTERS |
(package private) int |
DEFAULT_NUM_YEARS |
(package private) int |
DEFAULT_PCT_MAGIC_PER_LEVEL |
(package private) boolean |
exitAfterArgs
Flag to escape after parsing arguments.
|
(package private) Party |
fighterList
List of fighters for the arena.
|
(package private) boolean |
fightManVsMonster
Type of fights being arranged.
|
(package private) int |
fightsPerYear
Fights held per simulated year.
|
(package private) int |
numFighters
Desired size of the fighter list.
|
(package private) int |
numYears
Number of years to run simulation.
|
(package private) int |
pctMagicPerLevel
Percent chance of magic boost per level.
|
(package private) boolean |
reportFighterData
Report full details on each fighter?
|
(package private) boolean |
reportFighterStats
Report summary statistics?
|
(package private) boolean |
reportMonsterKills
Report kills achieved by each monster type?
|
(package private) boolean |
reportYearEnd
Report status at each year-end?
|
(package private) int |
startLevel
Starting level for new recruits.
|
(package private) int |
supMaxAge
Age of oldest fighter who ever lived.
|
Constructor and Description |
---|
Arena()
Constructor.
|
Arena(boolean fightManVsMonster,
int numFighters)
Constructor (set mode, size).
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
addToKillTally(Monster monster)
Add to the kill tally for winning monster type.
|
(package private) void |
awardXP(Monster m,
int xp)
Award XP and magic to one creature/character.
|
(package private) void |
awardXP(Monster m1,
Monster m2)
Award XP for victory to winning monster.
|
int |
countMenAboveLevel(int level)
Counts fighters at a given level or above.
|
boolean |
exitAfterArgs()
Should we exit after parsing arguments?
|
(package private) void |
fightDuels()
Fight duels for all fighters in list.
|
(package private) void |
fightDuelsManVsMan()
Duel each pair of fighters.
|
(package private) void |
fightDuelsManVsMonster()
Duel each fighter against a random monster.
|
(package private) Character |
getOldestFighter()
Find oldest fighter the list.
|
(package private) int |
getParamInt(String s)
Get integer following equals sign in command parameter.
|
static void |
main(String[] args)
Main application method.
|
(package private) Character |
newFighter(int level)
Create a new fighter of the indicated level.
|
void |
parseArgs(String[] args)
Parse arguments.
|
void |
printMenAboveLevel(int level)
Prints fighters at a given level or above.
|
void |
printUsage()
Print usage.
|
(package private) void |
recruitNewFighters()
Fill out the fighter list.
|
void |
reportEnd()
Print simulation ending info.
|
(package private) void |
reportFighterData()
Print every individual fighter (for testing small groups).
|
(package private) void |
reportFighterStatistics()
Generate and print statistics for the fighter list.
|
(package private) void |
reportMonsterKills()
Prints number killed by each monster type.
|
void |
reportStart()
Print simulation starting info.
|
(package private) void |
reportYearEnd(int year)
Report year-end summary.
|
void |
runOneCycle()
Run one cycle of fights for the whole list.
|
void |
runSim()
Run the arena's top-level algorithm.
|
void |
setBaseArmor(Armor.Type type)
Set the base armor type.
|
(package private) void |
setBaseArmorFromInt(int code)
Set base armor type from integer code.
|
void |
setBaseWeapon(Weapon weapon)
Set the base weapon type.
|
(package private) void |
setReportingFromParamCode(String s)
Set reporting for param char code.
|
(package private) int |
totalXPAward(Monster monster)
Compute total XP award from monster + treasure.
|
(package private) void |
yearEnd(int year)
End the year.
|
final int DEFAULT_NUM_YEARS
final int DEFAULT_FIGHTS_PER_YEAR
final int DEFAULT_NUM_FIGHTERS
final int DEFAULT_PCT_MAGIC_PER_LEVEL
final Armor.Type DEFAULT_ARMOR
Party fighterList
int numYears
int fightsPerYear
int numFighters
int startLevel
int pctMagicPerLevel
boolean fightManVsMonster
boolean applyAgingEffects
boolean reportFighterStats
boolean reportFighterData
boolean reportMonsterKills
boolean reportYearEnd
Armor.Type baseArmorType
Weapon baseWeaponType
int supMaxAge
boolean exitAfterArgs
public Arena()
public Arena(boolean fightManVsMonster, int numFighters)
public void printUsage()
public void parseArgs(String[] args)
public boolean exitAfterArgs()
int getParamInt(String s)
void setBaseArmorFromInt(int code)
void setReportingFromParamCode(String s)
public void runSim()
public void runOneCycle()
void recruitNewFighters()
Character newFighter(int level)
void fightDuels()
void fightDuelsManVsMan()
void fightDuelsManVsMonster()
void awardXP(Monster m, int xp)
int totalXPAward(Monster monster)
void addToKillTally(Monster monster)
void yearEnd(int year)
public void reportStart()
public void reportEnd()
void reportFighterData()
void reportFighterStatistics()
void reportMonsterKills()
void reportYearEnd(int year)
Character getOldestFighter()
public int countMenAboveLevel(int level)
public void printMenAboveLevel(int level)
public void setBaseArmor(Armor.Type type)
public void setBaseWeapon(Weapon weapon)
public static void main(String[] args)