diff --git a/dndcharacterbuilder/src/main/java/com/builder/CharacterStats.java b/dndcharacterbuilder/src/main/java/com/builder/CharacterStats.java index a00f17f..074526d 100644 --- a/dndcharacterbuilder/src/main/java/com/builder/CharacterStats.java +++ b/dndcharacterbuilder/src/main/java/com/builder/CharacterStats.java @@ -6,22 +6,57 @@ public class CharacterStats { 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) + + }; } -// FIXME: Need to implement constructor, validates all proposed ability scores and creates new objects containing corresponding values. public CharacterStats(Strength str, Dexterity dex, Constitution con, Intelligence intel, Wisdom wis, Charisma cha) { this.stats = new Stats[]{str, dex, con, intel, wis, cha}; } -// FIXME: Need to implement ability score validation. +// 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 int stat + * @return a specific stat + * + */ + public Stats getStats(int stat) { + + return stats[stat]; + + } + } diff --git a/dndcharacterbuilder/src/main/java/com/builder/Charisma.java b/dndcharacterbuilder/src/main/java/com/builder/Charisma.java index 6949379..b2d9202 100644 --- a/dndcharacterbuilder/src/main/java/com/builder/Charisma.java +++ b/dndcharacterbuilder/src/main/java/com/builder/Charisma.java @@ -2,28 +2,47 @@ package com.builder; public class Charisma extends Stats { - @Override - int getScore() { - // TODO Auto-generated method stub - return 0; + private int abilityScore; + private int abilityScoreModifier; + + public Charisma(int abilityScore) { + + this.abilityScore = abilityScore; + this.abilityScoreModifier = calcSavingThrow(abilityScore); + + } + + public int getScore() { + + return abilityScore; + + } + + public int getModifier() { + + return abilityScoreModifier; + + } + + public int getSavingThrow() { + + return getModifier(); + + } + +// TODO: Need description. + public String getDescription() { + + return ""; + } @Override - int getModifier() { - // TODO Auto-generated method stub - return 0; - } + public String toString() { - @Override - String getDescription() { - // TODO Auto-generated method stub - return null; - } + return "Ability Score: " + abilityScore + " | Modifier: " + abilityScoreModifier + " | Description: " + + getDescription(); - @Override - int getSavingThrow() { - // TODO Auto-generated method stub - return 0; } } diff --git a/dndcharacterbuilder/src/main/java/com/builder/Constitution.java b/dndcharacterbuilder/src/main/java/com/builder/Constitution.java index 33e1691..85f7ebe 100644 --- a/dndcharacterbuilder/src/main/java/com/builder/Constitution.java +++ b/dndcharacterbuilder/src/main/java/com/builder/Constitution.java @@ -2,28 +2,47 @@ package com.builder; public class Constitution extends Stats { - @Override - int getScore() { - // TODO Auto-generated method stub - return 0; + private int abilityScore; + private int abilityScoreModifier; + + public Constitution(int abilityScore) { + + this.abilityScore = abilityScore; + this.abilityScoreModifier = calcSavingThrow(abilityScore); + + } + + public int getScore() { + + return abilityScore; + + } + + public int getModifier() { + + return abilityScoreModifier; + + } + + public int getSavingThrow() { + + return getModifier(); + + } + +// TODO: Need description. + public String getDescription() { + + return ""; + } @Override - int getModifier() { - // TODO Auto-generated method stub - return 0; - } + public String toString() { - @Override - String getDescription() { - // TODO Auto-generated method stub - return null; - } + return "Ability Score: " + abilityScore + " | Modifier: " + abilityScoreModifier + " | Description: " + + getDescription(); - @Override - int getSavingThrow() { - // TODO Auto-generated method stub - return 0; } } diff --git a/dndcharacterbuilder/src/main/java/com/builder/Dexterity.java b/dndcharacterbuilder/src/main/java/com/builder/Dexterity.java index 1cfcff5..2b8a7cd 100644 --- a/dndcharacterbuilder/src/main/java/com/builder/Dexterity.java +++ b/dndcharacterbuilder/src/main/java/com/builder/Dexterity.java @@ -30,7 +30,7 @@ public class Dexterity extends Stats { } -// FIXME: Need to implement. +// TODO: Need description. public String getDescription() { return ""; diff --git a/dndcharacterbuilder/src/main/java/com/builder/Intelligence.java b/dndcharacterbuilder/src/main/java/com/builder/Intelligence.java index 7ae9392..16f8fc4 100644 --- a/dndcharacterbuilder/src/main/java/com/builder/Intelligence.java +++ b/dndcharacterbuilder/src/main/java/com/builder/Intelligence.java @@ -2,28 +2,47 @@ package com.builder; public class Intelligence extends Stats{ - @Override - int getScore() { - // TODO Auto-generated method stub - return 0; + private int abilityScore; + private int abilityScoreModifier; + + public Intelligence(int abilityScore) { + + this.abilityScore = abilityScore; + this.abilityScoreModifier = calcSavingThrow(abilityScore); + + } + + public int getScore() { + + return abilityScore; + + } + + public int getModifier() { + + return abilityScoreModifier; + + } + + public int getSavingThrow() { + + return getModifier(); + + } + +// TODO: Need description. + public String getDescription() { + + return ""; + } @Override - int getModifier() { - // TODO Auto-generated method stub - return 0; - } + public String toString() { - @Override - String getDescription() { - // TODO Auto-generated method stub - return null; - } + return "Ability Score: " + abilityScore + " | Modifier: " + abilityScoreModifier + " | Description: " + + getDescription(); - @Override - int getSavingThrow() { - // TODO Auto-generated method stub - return 0; } } diff --git a/dndcharacterbuilder/src/main/java/com/builder/Skills.java b/dndcharacterbuilder/src/main/java/com/builder/Skills.java index be94262..0b850f4 100644 --- a/dndcharacterbuilder/src/main/java/com/builder/Skills.java +++ b/dndcharacterbuilder/src/main/java/com/builder/Skills.java @@ -1,13 +1,16 @@ package com.builder; +/** + * + * Object stores information about a character's skills arrays. Firstly, the name of each skill, and secondly the value of each skill. When constructed, a private method is called + * which adds any proficiency bonus to each skill and then adds the ability score modifier to each skill. + * + */ public class Skills { // TODO: Need to verify skills are in correct order. private String[] allSkillsText = {"Acrobatics", "Animal Handling", "Arcana", "Athletics", "Deception", "History", "Insight", "Intimidation", "Investigation", "Medicine", "Nature", "Perception", "Performance", "Persuasion", "Religion", "Sleight of Hand", "Stealth", "Survival"}; -// TODO: Need to verify these are the correct ability scores for each skill. - private int[] skillsAbilities = {1, 4, 3, 0, 5, 3, 4, 5, 3, 4, 3, 4, 5, 5, 3, 1, 4}; - private final int profBonus = 5; private Stats[] stats; @@ -17,8 +20,7 @@ public class Skills { /** * - * Default constructor for the Skills class. Should be constructed AFTER the user has generated their stats and chosen the skills they are - * proficient in. + * Default constructor for the Skills class. Should be constructed AFTER the user has generated their stats and chosen the skills they are proficient in. * * @param int[] skills * @param Stats[] stats @@ -41,6 +43,9 @@ public class Skills { */ private void setSkills() { +// TODO: Need to verify these are the correct ability scores for each skill. + int[] skillsAbilities = { 1, 4, 3, 0, 5, 3, 4, 5, 3, 4, 3, 4, 5, 5, 3, 1, 4 }; + for(int i = 0; i < allSkillsText.length; i++) { if(skills[i] == 1) { diff --git a/dndcharacterbuilder/src/main/java/com/builder/Strength.java b/dndcharacterbuilder/src/main/java/com/builder/Strength.java index 62a1ddd..70e5be5 100644 --- a/dndcharacterbuilder/src/main/java/com/builder/Strength.java +++ b/dndcharacterbuilder/src/main/java/com/builder/Strength.java @@ -5,7 +5,6 @@ public class Strength extends Stats { private int abilityScore; private int abilityScoreModifier; -// FIXME: Need to implement standard constructor. public Strength(int abilityScore) { this.abilityScore = abilityScore; @@ -13,6 +12,13 @@ public class Strength extends Stats { } + public Strength(Strength str) { + + this.abilityScore = str.getScore(); + this.abilityScoreModifier = str.getModifier(); + + } + public int getScore() { return abilityScore; diff --git a/dndcharacterbuilder/src/main/java/com/builder/Wisdom.java b/dndcharacterbuilder/src/main/java/com/builder/Wisdom.java index 0b7f2cc..1bb2252 100644 --- a/dndcharacterbuilder/src/main/java/com/builder/Wisdom.java +++ b/dndcharacterbuilder/src/main/java/com/builder/Wisdom.java @@ -2,28 +2,47 @@ package com.builder; public class Wisdom extends Stats { - @Override - int getScore() { - // TODO Auto-generated method stub - return 0; + private int abilityScore; + private int abilityScoreModifier; + + public Wisdom(int abilityScore) { + + this.abilityScore = abilityScore; + this.abilityScoreModifier = calcSavingThrow(abilityScore); + + } + + public int getScore() { + + return abilityScore; + + } + + public int getModifier() { + + return abilityScoreModifier; + + } + + public int getSavingThrow() { + + return getModifier(); + + } + +// TODO: Need description. + public String getDescription() { + + return ""; + } @Override - int getModifier() { - // TODO Auto-generated method stub - return 0; - } + public String toString() { - @Override - String getDescription() { - // TODO Auto-generated method stub - return null; - } + return "Ability Score: " + abilityScore + " | Modifier: " + abilityScoreModifier + " | Description: " + + getDescription(); - @Override - int getSavingThrow() { - // TODO Auto-generated method stub - return 0; } } diff --git a/dndcharacterbuilder/target/classes/com/builder/CharacterStats.class b/dndcharacterbuilder/target/classes/com/builder/CharacterStats.class index 8cfd4f6..50f7ffb 100644 Binary files a/dndcharacterbuilder/target/classes/com/builder/CharacterStats.class and b/dndcharacterbuilder/target/classes/com/builder/CharacterStats.class differ diff --git a/dndcharacterbuilder/target/classes/com/builder/Charisma.class b/dndcharacterbuilder/target/classes/com/builder/Charisma.class index 82b605b..530c511 100644 Binary files a/dndcharacterbuilder/target/classes/com/builder/Charisma.class and b/dndcharacterbuilder/target/classes/com/builder/Charisma.class differ diff --git a/dndcharacterbuilder/target/classes/com/builder/Constitution.class b/dndcharacterbuilder/target/classes/com/builder/Constitution.class index 2f4d518..bfcbc08 100644 Binary files a/dndcharacterbuilder/target/classes/com/builder/Constitution.class and b/dndcharacterbuilder/target/classes/com/builder/Constitution.class differ diff --git a/dndcharacterbuilder/target/classes/com/builder/Intelligence.class b/dndcharacterbuilder/target/classes/com/builder/Intelligence.class index 50adc48..39d3393 100644 Binary files a/dndcharacterbuilder/target/classes/com/builder/Intelligence.class and b/dndcharacterbuilder/target/classes/com/builder/Intelligence.class differ diff --git a/dndcharacterbuilder/target/classes/com/builder/Skills.class b/dndcharacterbuilder/target/classes/com/builder/Skills.class index c2fc2d6..c5a3aea 100644 Binary files a/dndcharacterbuilder/target/classes/com/builder/Skills.class and b/dndcharacterbuilder/target/classes/com/builder/Skills.class differ diff --git a/dndcharacterbuilder/target/classes/com/builder/Strength.class b/dndcharacterbuilder/target/classes/com/builder/Strength.class index dffb031..694826a 100644 Binary files a/dndcharacterbuilder/target/classes/com/builder/Strength.class and b/dndcharacterbuilder/target/classes/com/builder/Strength.class differ diff --git a/dndcharacterbuilder/target/classes/com/builder/Wisdom.class b/dndcharacterbuilder/target/classes/com/builder/Wisdom.class index 12ea5d1..3adba11 100644 Binary files a/dndcharacterbuilder/target/classes/com/builder/Wisdom.class and b/dndcharacterbuilder/target/classes/com/builder/Wisdom.class differ