From 0c4b8f06477804c5bef2cd04f2a199f32b1c4e43 Mon Sep 17 00:00:00 2001 From: jlie1803 Date: Mon, 4 May 2020 12:06:17 -0500 Subject: [PATCH 1/3] refactoring 1: change constant to a variable --- H5_Skunk/bin/SkunkApp.class | Bin 836 -> 884 bytes H5_Skunk/src/SkunkApp.java | 4 +++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/H5_Skunk/bin/SkunkApp.class b/H5_Skunk/bin/SkunkApp.class index 3f03f75ccb93235c7b307b73e28a10b6113ffe8a..e41bed6be0eb17d8413d7f7d8b0dedc41b4d025e 100644 GIT binary patch delta 544 zcmYjNxlRI66g>}gHl8pdxZpa73xkN_j)fLBCWgkS!EOqIxQs^7#EQ<|jHRDop@{>D zMk^~n!SAp(-p7zgF?a5Emis=XA4&WAefvjL7yNHPW)0?pah`I%L=HN-G12u2wA^iB)4 zp4=ChF%B7uponvfBf+3nid7HDpnL01iUo~H4pk^mQ~TJuwlb%dUCQiMFUxjGFqzIF z%PTQtIWm}Yo>)Q(Yt+v=-z?2K9mQwVe8N1P>Zd*(L{X>e79ErUn`Q&urXF$8W4<9; zXrRwUKc%sP`GWoihFpw_jK0x24Abvo!la_-9aAon&&1(FieelJMU{AE(hJaa90_#Q z$XSryS;q##n4uN!2_ubJs+e%zGL@yjFr|26^N*B!Bb5Pbu9AIqu-f(Ocn2r8TciXRYdZA^@fQA1<2G(@blu;Dk5^JiFS;z1(O z%F6h2jHPiF&SpmpTA`;`6&@n~O4_nvm*3q6o z6cH1IX^AmtIueBNu(x}4d4ACrurZ@(vjkb(_gOooW5r2J=rEK-R$>l0w?=t0FJVIH zSa46trX}}=4h$Pri4~OH4=QL8!PKhzMP&-Pg+Q(o(yCgRVn;Zk!`T_B~I}iW> diff --git a/H5_Skunk/src/SkunkApp.java b/H5_Skunk/src/SkunkApp.java index feb4554..f071e07 100644 --- a/H5_Skunk/src/SkunkApp.java +++ b/H5_Skunk/src/SkunkApp.java @@ -4,6 +4,7 @@ public class SkunkApp public SkunkDomain skunkDomain; public int numberOfPlayers; public String[] playerNames; + private int playNamesLength = 20; public SkunkApp() { @@ -11,7 +12,8 @@ public SkunkApp() skunkDomain = new SkunkDomain(skunkUI); skunkUI.setDomain(skunkDomain); this.numberOfPlayers = 0; - this.playerNames = new String[20]; + //this.playerNames = new String[20]; + this.playerNames = new String[playNamesLength]; } From 2192f353bd5d513c86d0eeb76aae9424b929f996 Mon Sep 17 00:00:00 2001 From: jlie1803 Date: Mon, 4 May 2020 12:21:51 -0500 Subject: [PATCH 2/3] refactoring 2: hide delegate --- H5_Skunk/bin/Dice.class | Bin 1932 -> 2096 bytes H5_Skunk/bin/SkunkDomain.class | Bin 6683 -> 6736 bytes H5_Skunk/src/Dice.java | 10 ++++++++++ H5_Skunk/src/SkunkDomain.java | 2 +- 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/H5_Skunk/bin/Dice.class b/H5_Skunk/bin/Dice.class index 060166c8c71a6e1d1431da11542f7cfea923ab3f..7b060824d36f8941f0641fc6d7c9df62beade332 100644 GIT binary patch delta 565 zcmZut+e$(~6kRjZIi4(143WZ0!g|nQLc)icy=U*W_S&;9OnI~Mv-t7`U=Uk(#(CanN+xo?{lq{pcA5)k z(`g1nrJ^%bd-`ur?(%>d#JmA>GS8hNga!Gj7E3$g*|SV;$e|%3&El3d z-@l6vKH3c$Mxr`JMp1J;z*<1>4donmy47+$fDX!=D;RX5i(U-l@=CFu+w%Xwp&GFA z2cAGZFK)gEP= zIyYR`xI>5)%`mHoC1%%Xaf4T9yPF z1+@%X_Y?XTfpmJTTg;hn4(FUX-(BCe+kWdjJ_CrN*t9d!GOLw(qE?CME15DJj=;!Vt>b;uxdk zrcuQ_PS~~f(`@qhPi!GiuZ0*J2iVBQEOxk)gbP9Ja#GlX7ksJ?+$Mw&9!X(=Hi`W& D;`lq0 diff --git a/H5_Skunk/bin/SkunkDomain.class b/H5_Skunk/bin/SkunkDomain.class index aafa96a4069486555100906be03b1935d2a1d115..227431823e6ba00c6115d4ad897c4d07823557f8 100644 GIT binary patch delta 2489 zcmaJ@dvH|c75|-kzx&v`OGx$+vLqpw1cKlug-i&K7U~~$bhMpfOvN(Ry0Cey4O!d` z3YKPThoKLIw)4qDN^7vtv^LfR!iI!ML!l9=66K*t04>D|eQDJ`G$Q@(y}L^@gZ^{B z^ZcE2e&@{2{-pY)YUAj~{RaS4)AVlRqB{F=!uZDe)-OcsXMHi8XswMkHyfxxmj~Ur z=Bvv1bnGGA#%CJSxN79`24lkPy&j~jP>+DATN!V;b6G52uVWuUx6sU3gJ~f~bnGWg z44IA52kR5O-3TO~C3x+SaAP>y@_BQ$8H<}OI(|#Yy}2b~Wwr`Hvq6}393)Jzv2DGz zDVlJ+;?;48FfL?t2L*g7@jNe;E2`u zIMH~mhTUbliwpdI zS5e_bg5To)8WG{A+InNv5!2s!XGhwbd_&1N+cqlGCmt1SrBG- z6i+W#Cxxr-GSc`AccI&5O>6Z)ZobGJ$R8)}%X}!>+H{S4oyPNTx`PFIguIa15N(Mj znxZX@PLxhQ-svvS2@s~QXb!Kg7Z(v;&R;f4_FQ%QCD%bHVlB|;@uHj!G><=(b1U7! z-^-~J{SA2Mo2&zeX7pfY3Z3i;JWBdK}m0`%>6xx%Q*( ztKQyT-0j%=Qn=6CFFrzTOQ9!)B`GZH!$JvGw0D44Fspp&0Y@cvHZ z|9_TU<8U@+Xe?-(Q)(z(QDk;x;h+Dcq*Cu6GEKFmreY{JvIB~|z)JMKnDIEn4Lcay z`44;(YrQ9Ir(C0Spea*EyyXF>s+h)EluhQe7 z+SUKa2lJ*^J#Wi@%5<`7pBBbF_b3T00h6;NB0!MN}uP`f2`0 zouE%WjE@~^u6G!pK>FBKm-+}9N=n5l_%UB$^;pui>yw@}r%5mNk0E`4FZP?CJNN0+ z_(&SVrjJ;5o>AWIFQpJa=`Rba>D`Ev5Pl!&;u};`7~;7B|1CoSwiDw5%0k;z!`3Pk zP(*<*N|ZNWCS4cpl+{ET(s3D%Exb`(3< zaXiURVJAC{UF>~yu&el`;=-?#Ad*ihlksb1Iy#jQo>o4CF6Cx)D`D(bTEv?`kJ5&{ z$~L5wU!Yg%MxWA){mLZ_sDA8MgXmMI;($66gX#htRBN$OU5p`hIi6G32q)ybHv}3PUKlX`k0G(LJR0qD4!;PP=Z^j00tzi*M37m z)5Kt&=@kxxtKY)O_!q%%}3Y>Wk^wRVcaDy5i6$%m@+ zh>S_XtEs*89V!u$toBoqOe;fu77>~(Bt^`53zfnLRXdI)c7{S_qRCd2UqPvcDZDvo zQh;v=R+fF2MiKcCRW}i_4^aCN0>V%yjbdOFUxJIK&{TdtSUJ8N9)UnKO?)M~;eSl{ B!y5nq delta 2437 zcmZ`*e{fXQ75>h9_x;$HCCR?*E+jzqb)z5zf@T7=u|%g+t23g57{xMHyRb{Low$p; zO9AV!EyJX?woK((ErJS;9V)?51eb&a4AP2FkRO6U&GLtq4Ljr z=Y02^@1FCW^LF-7!rHIqj&W0MmlxZyn&1^2&5Kfro98D}F%vxmb9S<=%}FkBWO~%Z z3w*5+nzD;vy9be$NIY?sv(!nZoP>$pgz{?=Q5l~RG|mD6oA?ud-x%ZHLl`m1iA1BZ zsFO+7)zz8U%d5;#^v_=GmzR$am(NZvN<@cle}zzWZT!daM2nM%Ep}4!$Vtn}B)^G6 z1eiD?s&*6RB_pY5qri_6tn1^M%u=T{k{14Jge&-m)+BR&YkXna#BqMutkzF>aT0Iv zv*y%W`U%XLJlXLeiBn#jhDGqm`dwa${>6(yiCS(EL-oBw7%9ba7Dm$PSXwmYq~a~D z8Mn1}dDc@&@AK83(c!;~0l44?1wG@ku7489GVu{%CO@Fn@E$$DOD(@@;@>=G%^LNw z7yl^?MT$Li?I-+z6;g1Xe_&l1z-L0YnUQox$djLwi7$9lNllgr!SBTrk+xyNxdS0p zHY{r(O$^M{+*uq?Bx0#NY7oiC3gIh9vaCwI#IwcXorTRv<@4nMSaiidEQ<-M-;;%kr1(8@fwmZYUBT zxL8uyK3FJ6GL}czLsMr=oG$x1TsX-W_iCPF?eJT}_OW7^-N##fV;Wu;f%cpEu4@BY z4)^pTxfO58mi`|eaADr*tMm4K$@Dh=$Ty*Ww`{=vYXM%;q)uZSl>NoF-piLXP5?{l zrPhDrH`vo>)CgaUj2Gk1D*uIo8ecDH5grnB zmVcO_z5JJc$J>8lnV$|<=JR5iXZbt+Fiqi}Kus1yG6ys%as?^kS*hn2&|V>&!jigR zfIW#30jiM_-^x#KyA>>C&=xq zAgd70clrFQg8C?LQLzdtE!tuqtAk_4USuDOi+35%26gJ=?ZI`~cHB%4pqbX-7V5yQ zv;}i0huf$Nx6>Z{fZoI%bQ*UmI_^+P5K%^Ao>GfO<#H@gZbFN)2(8M4h$|cMBV{kz zl%u#yIfaBWfQ8B#+^u?$QvFD)AuLia#bUJ;OVs7!{d3`S+>=!w!@cTLSf+L&tL{UC z`U+O4ucKWZ#C^=dFPM${SqQ&k4Oq#h<2S4c53qUQ>@NJ4Ex|)i*@V}*0bYyf}O;ZtRKH;=deN3@CU67PiY}!H)`Y2p-sUitsYNn zQ}L{JJvM7CcuvcR_fl-tR^WN@vE;N4Y!jb$m)3)B?F@SKN_6Yh=+Y-*r#=dmY;KPVCpWc<~53d=caL~8} zCyco`Y5W9l7|)>J=*C;d9-K0cV8A$zLDPe`&1&(k!GJjh@0yKx57Wh8k4^B&pL2W@ z-x6NH98cxs10jU#$c6<4_Zyq30zqN*suuahsfwe@#}q&|2&RT{Hw8tYruHi*TuW6? zD}6LlV2p*7pSdX-Yf#!mN)Wo%B{D{dQ$ycQ%c)XWs=kA=R3$U?UPNiMur$%t<*)Ruq}RxX%zaa0y>u>CkBYVr5-TJDo@L9O|zoVxM5vrw9n3SvilM^SA*X Ws-_UHsH!V-;1vu+-w;oQ!v6#P^tDm| diff --git a/H5_Skunk/src/Dice.java b/H5_Skunk/src/Dice.java index ec50a7d..bce0448 100644 --- a/H5_Skunk/src/Dice.java +++ b/H5_Skunk/src/Dice.java @@ -68,11 +68,21 @@ public Die getDie1() // TODO Auto-generated method stub return this.die1; } + + public int getDie1LastRoll() + { + return this.die1.getLastRoll(); + } public Die getDie2() { return this.die2; } + + public int getDie2LastRoll() + { + return this.die2.getLastRoll(); + } public void setDie1(Die d) { diff --git a/H5_Skunk/src/SkunkDomain.java b/H5_Skunk/src/SkunkDomain.java index b0f325c..8b828a6 100644 --- a/H5_Skunk/src/SkunkDomain.java +++ b/H5_Skunk/src/SkunkDomain.java @@ -78,7 +78,7 @@ else if (skunkDice.getLastRoll() == 3) wantsToRoll = false; break; } - else if (skunkDice.getDie1().getLastRoll() == 1 || skunkDice.getDie2().getLastRoll() == 1) + else if (skunkDice.getDie1LastRoll() == 1 || skunkDice.getDie2LastRoll() == 1) { ui.println("One Skunk! You lose the turn, the turn score, plus pay 1 chip to the kitty"); kitty += 1; From c9c4159f9b542d372cac862be23da389ea4970b2 Mon Sep 17 00:00:00 2001 From: jlie1803 Date: Mon, 4 May 2020 12:29:59 -0500 Subject: [PATCH 3/3] refactoring 3: extract method --- H5_Skunk/bin/SkunkDomain.class | Bin 6736 -> 6822 bytes H5_Skunk/src/SkunkDomain.java | 18 +++++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/H5_Skunk/bin/SkunkDomain.class b/H5_Skunk/bin/SkunkDomain.class index 227431823e6ba00c6115d4ad897c4d07823557f8..b4e5b18c2e6449c91520a8b384d59f39f192836a 100644 GIT binary patch literal 6822 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 CgD3R> literal 6736 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