Reorganized structure.
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
public class CharacterStats {
|
||||
|
||||
private Stats[] stats;
|
||||
|
||||
public CharacterStats() {
|
||||
|
||||
stats = new Stats[]{};
|
||||
|
||||
}
|
||||
|
||||
// TODO: Need to implement constructor, validates all proposed ability scores and creates new objects containing corresponding values.
|
||||
public CharacterStats(int str, int dex, int con, int intel, int wis, int cha) {
|
||||
|
||||
this.stats = new Stats[]{
|
||||
|
||||
new Strength(str),
|
||||
new Dexterity(dex),
|
||||
new Constitution(con),
|
||||
new Intelligence(intel),
|
||||
new Wisdom(wis),
|
||||
new Charisma(cha)
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
public CharacterStats(Strength str, Dexterity dex, Constitution con, Intelligence intel, Wisdom wis, Charisma cha) {
|
||||
|
||||
this.stats = new Stats[]{str, dex, con, intel, wis, cha};
|
||||
|
||||
}
|
||||
|
||||
// TODO: Need to implement ability score validation.
|
||||
public boolean validateAbilityScore(int abilityScore) {
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
public Stats[] getStats() {
|
||||
|
||||
return stats;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Allows for access to a particular stat.
|
||||
*
|
||||
* @param index
|
||||
* @return a specific stat
|
||||
*/
|
||||
public Stats getStats(int index) {
|
||||
|
||||
return stats[index];
|
||||
|
||||
}
|
||||
|
||||
public void increaseStat(int targetStat) {
|
||||
|
||||
stats[targetStat].increaseScore();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
|
||||
String statsString = "";
|
||||
|
||||
for (int i = 0; i < stats.length; i++) {
|
||||
|
||||
statsString = statsString.concat(stats[i].getClass().getSimpleName() + ": " + stats[i].getScore() + " | ");
|
||||
|
||||
}
|
||||
|
||||
return statsString;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user