From 2fd26cf0d0f8f7a771abb9c71b5bbcaf0039babf Mon Sep 17 00:00:00 2001 From: Joshua-Ashton01 Date: Tue, 11 Oct 2022 10:10:37 -0600 Subject: [PATCH] Standardizing the 6 stats classes --- .../main/java/com/builder/CharacterStats.java | 39 ++++++++++++- .../src/main/java/com/builder/Charisma.java | 53 ++++++++++++------ .../main/java/com/builder/Constitution.java | 53 ++++++++++++------ .../src/main/java/com/builder/Dexterity.java | 2 +- .../main/java/com/builder/Intelligence.java | 53 ++++++++++++------ .../src/main/java/com/builder/Skills.java | 15 +++-- .../src/main/java/com/builder/Strength.java | 8 ++- .../src/main/java/com/builder/Wisdom.java | 53 ++++++++++++------ .../classes/com/builder/CharacterStats.class | Bin 989 -> 1655 bytes .../target/classes/com/builder/Charisma.class | Bin 594 -> 1148 bytes .../classes/com/builder/Constitution.class | Bin 606 -> 1160 bytes .../classes/com/builder/Intelligence.class | Bin 606 -> 1160 bytes .../target/classes/com/builder/Skills.class | Bin 1558 -> 1550 bytes .../target/classes/com/builder/Strength.class | Bin 1269 -> 1412 bytes .../target/classes/com/builder/Wisdom.class | Bin 588 -> 1142 bytes 15 files changed, 199 insertions(+), 77 deletions(-) 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 8cfd4f695f0c2cf8ebf54f063af908e374ebf560..50f7ffb11df59a91bd34bbc5f82aeed72487c8ef 100644 GIT binary patch literal 1655 zcmZvc+iuf95QhKF$*l>clqNlMro?F>oKFD?Dj+IVAYoKwxN;n;HA-#CaXGvMx4Z-w zAb}zg!2|FPyb9vqjS1dBF4nU%JGm`0{CvMU;P!O1W>ArFs9XH%=JZ`=8y+okcl~IA|7n|8+mD3a`-3-DYxh;^dSz7{y z^{DNe$YWm_2F48R7dZG&-Z%sflu<;9-_0QOAMNe7{P?Nc>i7avn~~>sw%j<7^VC^L zb^=l?Y7n{t(u~(O)X&;7P$jc|a_ooO$&QH%W+mMmacdiL>4HEdyY!y_hGhwow zYv8cJY&O0gh211b_L3k9O)SYJ$3~WHgo)qj1lxY-u^va|l9QB{-Q`)(ZAZH%PRQWt z5n3rN=cas4Z|6SUpL zzuO8ryl~r#Vm?9nE}jdNUCleT?I-HpbHkeTLObeDKUA6d-$0?uJ`ynPXfO8s2Z4O) zha}107CbAv569RXdG@S8PId^b5^XjU$8pZq=okF%ulHcq^WRYZf{9Obf@+WDfDpMc8oqwIF(`#r)+1ek7cJ)>Y-+9NOhPBtU$mrA!dkioCs&wiPurZ zeR>`<_5=$G_u&93#U&gp)RhDqE3|SF7^}2ooowz?r(9{BrBzf`gVvyK=TfQf8Ie-0 ztke~1T&1`(R5e$ioVg-(%$0NjgPJb!kRzz^f@Dnxkk$~=BIJ1mX%X^*g0u*EQ9)XS zyrdv4LS9yo78@pAWy9hqQg^jETAlnzzsAx$_LU= xbD&uNjERpU+pK0DL^0h)Cf`hxn>;`Q7&3X`!f5)9423bIFmNlSxUG&``wiZ_pB)r!RgTqvT0btGIdsJf{hh= zDS$&&0d8qCgVa-imXmowUe@&L_3A&&h9HAYFb4-HB*1POS^z1Ibrh2!9yYLi?V>A>W*Ui{Wq3l2fOsou$TDv Fe*st+FrNSb diff --git a/dndcharacterbuilder/target/classes/com/builder/Charisma.class b/dndcharacterbuilder/target/classes/com/builder/Charisma.class index 82b605b57665fb19b8f4e14a6e1b9bd371bc09c6..530c511a5824f23547b9556eeb2f8d33debc79ab 100644 GIT binary patch literal 1148 zcmaJRXObHmK^r= z5CQ@#vw!NgZVv@Cy(xRr{#NgGRNN@H?B~dd8YmmRXd%=L+m1Lc&&5kk|a!(-KF>G%X(%~>s2BtH_)$b_}#qp+w zb)*H2nubbL6wd?#Ji|OA1V(v} zVU3ZL3&mAjd^Ajd}3KLNEpPXqP?O{=}_sbEG$Cp#F2x+=vH#Pf69prC->3m$-X|yc&IsQsUki l59lYA|48{`JfRum*|bO8SzD3SO30x&)2npeYtLb{{}1&}%q9Q; literal 594 zcma)&zfJ-{5XQeb5KjIIB88nD7~?f|8XJs>$!T+hemPcHbKII`4`0ecD-#PJz=tx< zs+bF*pqbfkc7F5i?C00}2Y@ql%kT)DSkHrTrjm&?!C)qgTFgZmMM5io6Io#wgwlmd zmAxbsdi@chIM5SWK>@op?4U$whANeJ*?cU`P>d5vXoor$$%yAV{Z}m7nc`{PFmJIk zKPUK8X`@&h=Go|mQ02m{o~U~z4WYs6N-kof9<9*6}425XuwLRePx#=(@_qoO0XAB9oQ|*yC zum@%uamX?xWEtXWwRZ^&mt`y=nIirQ>QMxw4db-2KJq#w?BTlT>yU|gigSHu@q3MR>5G5KYLxI^GIq`eO zMew{XV*@1y@$02IF&sV?qLCD8wfjLo(OV-MdNEqexU(vTS#nZY` z(W1D(IU$%z8z{Y0q7IyZ^DR&Kji(e%{eI075;CxKr??o}KstU}J@s>g2#Uisjm%F$he zff~p9Zv*EYRzL$yt~mIFv+MIp&n_0opg?;6G>n)g_ndoro^zh_ocsIFk6!?G@HB-O!>Z{VHTz>>4Y=EE+a9+p zG32(%Q%Epmqkp@e;T~<3!lQgG1N(7}RLX|wL(ximpb!A%B2DV`HVQneKYENb~G;E_u${V8*w+9UCr2K{Cun*C?%dlAb zT>3X^(B{4@vcu4r*XBRP9x^OZv4|Y99>Ze|C6pz-T@9NkGpJo>?3(=wbLC?VM~&rp@4 rPf*X@ncyDzdFelp{sfQ6Oz>pdBjc~FM%C)5pcd&>KkwD@8SVWATLaNE literal 606 zcma)&u}%U(5QhIb5D*Xq(HJ^AFve@_G&UL&lGEl0{c^0wnq${23%-|QrS1h`z;%VI| zZ;@Z%oKQ)nixXpc2Ad5CH7?wmiMm(P5*nwo6&e*;npUZ4N~ diff --git a/dndcharacterbuilder/target/classes/com/builder/Skills.class b/dndcharacterbuilder/target/classes/com/builder/Skills.class index c2fc2d69f93bf3f462dca975dceeb4e6b7b718fd..c5a3aeab7652650753385d523510955d860a1340 100644 GIT binary patch literal 1550 zcmZuxU2hvz5IxslyLL9o=C%zK(l(_O5~sxUo06u*O(`)rapO zRFHTkP!O>1c{^S$@WNiL)xPI&>SiCyiCu zn-eH+$I-@(DC{Q!qQR(zC`?i>OxL`i@8_AiC{Uy)CE)OSb6+uCXyPRSV^Jk(6n|>s zWg3kzQN7L7#47?;BTUtn>N1taPO&46aK}$l)!TDb1g|KTy5QxIc z)KweGkFz0jK}HAbQg5q3rOMZfr`TpE^*Z;LyzMNpff1I=;K$__rl$3BnU7rpN2Z?L z=V?NU+4Gvt0qb6IqCN+7OKHMGgU4qz4ky_sz3v6%bW^EG-BNnX)N`ot&vs@y8=N7@ z1vU|5wEkq2j{mCqGi244zu}0Rm(MwFK^}G7qI}VDOY)fG8uEnWn)0OM+9i34(vYVq zP5CNiSx!?{cHlLl~%#4IE%`~gnjbJG0+r|=M`@eXe%2c=^X4O%3jcZkHarb*}c;|A?f z{fq6%sM=${R@{7{5lL)fHSOT2sBvZ|wV=ca9oJI{!EB7;uC=&dXIkHyCq`r|wHp zSM@!WT$Z_%ITy1G)&Q{AOo26gK#$&$OFVNrCjZ_4B3oJH_~7=*7;^X!E@K2f%JA#| E0mha(Q~&?~ literal 1558 zcmZuxU31%15ItA^k{u;c)HaZY(zN9xaZ|gL(9aNX5=vZ>xKtq^Qf82C#ks8_Wh6NR z@B9FM0zC1;1I&;z!$2SVP#)lg2ly=vaIWMQLOUMs-QBx)_w3mnJ^bs3`vB(fQ3;xW z)d_d&?Y{K8UR1a5O5cx5$P1Wv+_X+JITdV&D*-0dW z-Zg>II8D-MOJ63^iv_f;ra*Zw3bz--pihUOJ-ieKapDHart9~;91#@+3iKolIJ&iZ z2$u3Pbumj#WnKm{SrC|*-fBKAc4ku`zZ7=83UWAVz{D|u-1N+53C|qrErYFNLZH&< zL}A-aWGB`!$wnH1+;#n_6*uVm>`liBR&GQcH*j^FWJ`@?$M>@MQ#6;oj<=V{Fwk*E zptK_6B#b`Q@gj|85X;_9qT^)&qZuS}S9V!S#myMRN7U=YdDDv?7kWiti1v0E?YcpS0k38Oao>&8?5{D^Ezg&|)VjpBY~NE*ro!#C zH62%o&rUqoPj+;WX5H>b`*Pp)%Mf_oKmkRiyub=)kW zB{25HZWwqMx5z}#OV+}!+?HOHj+=WXBZQVv-)O2ax&Ic!~^9I@soN3DyLrgfQe%(`kHV7_XO{aA5w z`IeI}wVXn+<&^Z6qw_S2bePIAQ?snhin|ElNitAGOqL#yqn~jCzv3i*Bcs3L3~n%PDq{riV3iiRQQJtq zl%}}U_~R~S4B~TU(|C6^H~$rC)$g!4S<8QcN~-Ct^ti43%lt1))-K$`+Q+TWgqWl~ zfB(zBe^Cf?PzaBwlbq#DYOHx4s*1!0##xb<}nIX13pC`Zs{u&7fYMZMycmWerrq1LW{yBo=Ml!jdX+S-r!MciuYx`=<^~jo(!}e9>KH7$$tJd%PF=FC#zbYYM}C8#PSp zb`NdTF|EGvCNtG9-prdYU||qB6p>d8Vyb51GD$2t(iS)cFe=ZHle00ZUs2F`N{xt1 z-VjMgV3V*!Q6XYErDF`^^hQElql!_`Syfxq)R`y?x}*9)^>0xgyN=1MnV0Z@0ZIO! z)PzxW1~Mb2r_X3}8BG*#oT_I=H7_nmF8Mw&X5P&wv)Dug-8P+t>9sS9=MV|j_zt;K zY@Fk!JVPPILh*KtWvWZMUeR@odz4~4I3+Jm`vC<~1IzR`G~rU#d#Ak`X)k^7NA!`S F^$*vyV-f%W delta 481 zcmX|7O)mpc6g_v|!*n_=nb4NfPN}M)>RWw=#HI_0gpCD>k75#0sv!~<693>W`4J>C z5)wba+Fs&6*or%p%{%AabMCqKz3bp-z|MAfnuP3q_+G%jqp2X6J; z{z;v(4P?+~LPx(!Xl;51119nqRP&mX7$$`53;S=}uX)th#|Sx<(wfz+7SB!)n%K5j zI@zwcM^(3c=sO9MCTyhq0n;YBky7tkff`gy6hZ+=1QCD<3t_b`lA?`w{t#)h)Rk-z z{tJ>at?FeY+JQKS8T=`EMq;dUJS5bJ%tSc9rsZmyusZM5v5bcVVrXSEA@XS! diff --git a/dndcharacterbuilder/target/classes/com/builder/Wisdom.class b/dndcharacterbuilder/target/classes/com/builder/Wisdom.class index 12ea5d1423a26f98efa9fde392ca43e1b27b055c..3adba1139884c826f9fb1da9632ab5b324380239 100644 GIT binary patch literal 1142 zcmaJG_JdbJ7rLe9v^Y{lis%-lYzAv^3l*Md%)jw(_u*NbBnuA7!q2$(k1iU9+)!X zP!veWFvPV=_Z%3`D_B8NCNHNz#TrHW#;C6wN8B1796I*LphjCHUr>-jl2SU{GGEWe zJ<~ZbdLyEuc5H%m4Tp<+7)-c_oLJ{O(NTgCTMW|Bbi+Z242_bezkNdFTsw%QaD$<+nD;D@UV=t* zJq`3N`MmZ@GPY3_g4Jkt?QDxmS7bC4?4U`S8_WsGKyh?CRy4UR;u5T{X$NRU;zst=a*4}gs=>0y%d~Z1Q(Wq zH0*#-NrhSCacO*a2RF~_Z07W`8dTA5h*1N>3O zS=9n9SIvck-p$Ae%pvme=&0|APmUPBzdj0TGE@hC)Y!XD)P&VN;ZZ48b z7Q?C0&jNm=7baHMj3TUFmj)PCQyE(7);%b4c6-e)&+}(g|t|i;(tY(VWmCWv1a&Lpo!!;y7`tSbz EAGxSkZU6uP