From 431963a09d9e2c04472d4ceed27e70f5cc3524a8 Mon Sep 17 00:00:00 2001 From: surabhi Date: Mon, 17 Jul 2023 18:39:06 -0400 Subject: [PATCH 01/48] added uml --- Casino.png | Bin 0 -> 232428 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Casino.png diff --git a/Casino.png b/Casino.png new file mode 100644 index 0000000000000000000000000000000000000000..841d7a662809a1510335a4da0ee34c56a402de4a GIT binary patch literal 232428 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 z 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 J5;}a6`X{u|{Y?M> literal 0 HcmV?d00001 From 84edbfe0a568a61e0d10f5b46e79ac1dac801d30 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 18 Jul 2023 19:28:18 -0400 Subject: [PATCH 02/48] uml update 2 --- .DS_Store | Bin 0 -> 6148 bytes Casino.png | Bin 232428 -> 293860 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 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ð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%0DvFjCf+!pDhivxLTSy9j`raHK$wsWIdX|q%nz1$n zdN%%AWslvIp3S6Y>Z3~~t*NNZELTfEtXHVtt~NHAmD>I;f( zX16~XB{m=`1-8xDOfGQG5{-EKp*3y#Ol!zhfTmFV6Is%~fP=lSdd)(sbCW5=KjkE7MFk!ThJ9 zs7ZCX31FZLe_=Y8z!exs>*hblSrE|a24(vc#6)x?)}Sz)l$zE^g}ge_ss8Q++(0n3 z1Nc3WL}26pt^rgh!YUUHNo{E~69`IPFxb@2aHP6|R@($xE&BCs>?1gsX}g~(dmpzC zUfFK~nvWgS`ogR43tJEoO)1m2Ug=tZ{_`aQG>Mu-iD;V*N8|nm$e`^}uMteB>&JVU z;06^N4uoXjTgO`b7#rf6nDk&T_%BtsWaXFAbivZ{o%_4S+5M&_P&c8s5l08Eunl

F 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 z z6NcxqlE|DlM{67n5tfyUsXstZ*?lA;5G9|}sMVDbB{6u*6FYO^-+9F!$)dqlbA`He zTvv<)AW-iwok>P=wa_oBckWNU(N4F}xO+jp&7-@jjbjx8|5JLqo=DV!^e9@kBsB3) zpe*B16J+I1WP!JRF-i~i1pC0)2596jLI|ehC$5N%(%A2`atN?p3YQ zt!WPGRs^hppWXI(_bB0l>GO0v(F1^`wt~$=9{{EL)@vS&uZqlwZgcitJ7vrx>`Zqf zqf1Ym?g;e2s0xhO!_YLyhb7%k9XWz{zOpy8MbJm`rg4(1$0uot*?!5H4&?0psk;Y8 zIKDaTEcvt%%1Dxk_ont&2yLKDJS1GBANqUpEU${*fY7T^9w?c+rYGXE2t9McBazqdw3c z-X{QM(4Dd7;@JW7KB^xZil4kkVF7u@`aYZ1^NrHrYSXD_7HtdXOcwCh<}4<+nF9s9 z5F_ag4(ERleQ(>~e#hS0-*kSJX2Z2SSMvA6z`S2Lox*2Y{C1FDYgTco#LbQzB_9l^@NIo zdzwVSV)IeNPV%q7t#u1LcgXMg2~WCg-IGI$Dfp7^dH|=m8^PT=wEBZT9hQ+NjHYLl zj#cahN0JPcqtB*H_cF<0tcp7He3WqJMK`xdfY5> zdBi6^e|+~WM$JsJfw*Q-Q-q%!d*~Aiwp9=NOS-8tTrQ(ij;|OPk0ss4Eym+ndWUUn zt9A8tkC{BGQcUi!oW}Z^b{Uc7FDUA2c&r%kMrE+;A!pHG%CBHF5N;j41igVY{X_F0 z?{_FV^wDw?tW-Hx9Pavc@BM5rhk+q7M~_@M=z&$-QgC>VLX1R;ELrtmT- zVQ!Oh%i+)vZ(oOFDI9X9ff=HUk>>fLf7FX?Fe#(+Chm+w+vEFTVAbFwye8OSJcisO z4o{C5He#u9dpf5$XbrmB_t&_x z^~W1Y<+$|^f!p)Nbx+IolSv}P!0oDLs|{ac<3W^M>D0GMe?gnGK2+Y-u$%!U6`lD7 z0oE@g&5_FIo0n4Vg_g5;Zw#6#twk8#iZ$Y1R4YDAtQFCHu-3S;gDE+0)OC%@pBdFa z?L}|VY(BnM8c#p$WVshnA#OeD4WFJERZ6CFJm^;p9bI8^=XGPxsxwO>=;T`w1P8M4 zWCOuk*8QhR>#kp8SV+<}?iLbMBR$`ipBZHurKuI6@;QmQeFs}y)kcG=j2Be<8@X==S5#wg!S1WS!&|t!OoV_55(O3HQXRg44pooD`8?{67EIrSXf9 zWs3a)lRsr|X)WKgvpide(6-LN=<&&@3Za>1wJ4IZBv=4^(co5?5^9@v?EVpyx_!zp zbJiTfEn7WmbCLt+L6vk`i9q)_eu!Y_RBhJfvgvV4gtvgeC!OHy-JK55&($Rf?w}rL zmiMalhhW#&1mLw$#=drNpr;SLRKindiq<%KFoPN5V&;h`B9h^gPCF)7VUj+8e#JV< zF>D-@J4s&;L(vUSkBWb#O(w=-(|XNUFU!mcBv+>NWw&pN$-mCBI(D{czDyxvBYH9Q zMOok+Z67g_My|%Qaf*L-sXKTsC&vey9o>8wxjJ{zZ9j>o(pUuAi{^~`u*`$tBOr3LxAhgADeNV=tqRhgOd4DDX8OiCzZA){k=l-HccJ7LTWdWj%kKM#dFdMMxZlQXEa!tP{fYLEBP5qMp6TJ_5`1s$~KRXJk(_L8%%u`ZeNJ zo!#{H+eKbZdE2(De#w;?u6^u5OdEc_7e+WC(>kCGud+s};szSBHO)myi4{QE#iXW5 zP1<6XeLT)#>oY1Z!^}PbvP_cZ@u8p;+FSv}6qDmbpJ0m6JbDV-25Un+5wnGy zS_@(&4{flU_TYl~+_cDA&U#P?#TlS~f$@e-J7%D%ZZgxR65`^VvX%dJ=rr`QstV#X z=hx|Gp`o$)K^N7;p@YNWwd#D@0UNBiz6+)>Lf9OZ0?!bqUbA-{Pw5syZ1L_1UcUBb;Vcu~XDL1DYM`T$@#Vn1l;DaI3x=l&T0Sf9yM;bxkjz)XocZe=c68 zd^E;T+%^xBz|S^C%a*a<36GQ#P@z?U@h(~tRuyoxH`S>WVIH05e?UakG6OE#%S~e` zs^eTuj;T|%u8Mb)ZO_lkw!Vm|5rt2_asEh@t)XFoi&s4T=$pTmmKIh;1v1w?HwE1n zcKv06d#7E2G4p))f<8nor2|+A8ytDKwLI68q~XROUZYw1aydl!3o>;!OmFEN zFOy-KqelNg8B#thLUB!EJ#83AZUo-ZIjTm1UI$Xfvg}YrRdA>*J$~1`a^sfPYc=UN ztt|;q6}k)H+4arax7Zh=?48yh#d4P8S(FGaENR{kplB#d&}MiZjz>e6Zi<@{;0Jl_ zoIy^Xq6X)@Qk64ihqIDyQzkL%tB{peFiI#JIHCkYpi~6W6L8<9d=pC%oFOEzcMdnV$Hd-G-<>f|ixG3=bN6 z$+3hNPWIw!+v>KPDAHnfT@=+V$$cf&vadcvBhyUdB4*++`R{oowJc6ESI;p6y5;gc z7xWL#-tl3W@R}J*R0zRO@8ur(D#`8(SVDvU+i3K#0}Y=j{-o^h^*?S zP0knATTy_DQ|7djOHc;o<%xl;L}9Er+6bZX3isab;;negd^2ZIv{)vB;e6R7O3c`p2?2-$M_L+M#dCYYLpz8n>&Ua=o}>QPW`( z__I{_4Zi(n)`t@P1@|@gmCzR|`#}0o8K%r>>Y9MghFc zL^;c6UvjguO3cqul_-&gB!cp*EHy~?w&|RdeBE7wk0rp*@IzWYLI64NZ_q)zJFEAC zI609eR(aw(?~^%|Xst)=vMi67Hjh|XF}u2`%AV>;^g*A$Z`b^MCKI!zK3T)xy-$;P zAjyuS{C2YXB(FCCXihqGjc?z2jLX1N@@eb*@{{yIIxwpaJ^x@#%ns#b?pJfa)nEtH zoU`_(13{b$`*lY3>)8UBwwBQBx1{@%%^g{%YY6*8yPGX=dz+5kAmM5Wo9C$ev2Q6j z675c~5~!wE?8<#5y2Lv~NFx4lPe{w%Yhkc;jFbN8UDw2R<_}pqpXDVCNN=d%<&T%U z%`9Zv`f>b`gL-g|H;(3X??Y<%J=@l5w*4FPN&-5HLUgl%>|7Twy428f8QD&M#3DGf zw8`DbS4%3?ii{#r4kD1%Lw=j#@Kq zxQ1{PYxg7?7J8wY(+6>j0*=Fu#0ufI?_!<|jxY~cy8d9Hv^Ie-YTjcjx_dA`k#y$2dM0uBbJMtn7GSe~t^mV3O&0%e_{ zzdc*g2_U8>C+~Mqp6oFVJ{THk_+}W2{e)U)=DVIl_=Ym1{xOnVFL?Q^=K?&Z+GyE^ zOys;%REN~lQdUv%%f!q?TI6>7LJ!eslRghA`jv6h^y_ueG&J9*YpD#irz=BEE?mOk z$_;9AmsI2%ae%NccX85AQ}twk0y~zNt#{<8tw**Iq&3%Rlx9`vACC~KDV_#YA($B4 z^oAl2JJrdrpEpOagb(6xd3Y3xf*)!WlY>{IuX*yW-vJ1^CZ&0tMVy(fJS%|3 zuJ&03#3^%KY<*VNJ~1BU*+r5;*QtLjc4ftqgsudFz&i}cT?I3qZHsd7fziSxCVGU} zda5*6zV?1US#UFrrZwq{(gRncZ+l&ZI&(@3l?rf(mT{@<<^li3>iSMaTUSA zg=#ZZhqe27Rjxr{1btMo4q5~id3igsA#2-#!gXs*Np)L=sE&iwGG<9Ok**z=fXt5%+0hH;-#<5V#vq!_R$FwXtme1N2iYCC_WPPtO1VH>l6Eh% z2Yl7V;N{71KhDmoHZC+QCg<)T@1nRlzy*u8T*z}n3Yp4)#BSeF9&jPeL0M40A;T3_ zmJfZiPQ~(%C6I9}Hicu%UhfDtgbAc>QABU;2#!u&RTgZ&-|X3#;~ig7&X!k)7M?zSYRsVBMc=7C~l*H=iB9z&CEI&0?|f9WR{pG?#d?ou9Z zigsMKVVIY#II)&Fo#yx6#PHmR^27GRiFQCGo^(lOy7tGVU!iTjYyU>?*bK+~xg}%i z8qP+YiM`$AeADR7dU5R~ckQ}~lhJ0};Yi0=^Af!?9h>KZK;K;P*jf1ep?PzVVrrTg zMUQRji{N=HFa9Mr$eX*G=@QsvvN1~9sL@GXP69{U3@w?8$A;^1*nx@}(cDN80 z?#njZZAP34IrBnQ@LP=BOeqfDLGI!IfqBklIGd46_oqahift3BysN zx1L82-U-RPbiIDCc7|kHw7q|<R2x>r{jSp*qPx?owHt9bAm-qdZe9*32FOYY zv!(8|VvI`t9mGY515Gsb$la=@tLf*}(y36lXYn8OUvUMTcOAcHZ)MGPRqRSJG`(S9 z18iWnbhbltxW$_RLX8sLAW=y_ zr`l5fNX0ThDYv|e=-ryXJ$z!7JU^qwjrw>ZL2fuWJ~#K;>kMWV#ot7_=Umclo(j(& zN^k48HsMqMf;YK#>&rJnstPS*Z5l4II;yC=v_eU&gyFI+=N&t=PeE}NO=aen4<@o@ zmOStKZZHq8QKLPzW$9-Ev-lY%#c*?mBcB_yPbjA}oT56a^!MoW@24K@TiE`ABmP*j z;#tG5RARCTw;5vbJ?nc#y=R?u6sZT2!r`78rE_e&+mnJF&mD$p(z~QWldlE@aM?*b zuCE&6|{g>6cyk4>gb$z+3Q@R+vqmLorkuUgvt>i-XnI?5H<6^@MQLXcg z%ykk>Y0W4c!C?Y{TxY5}4OQ6--iG)my)sELy~|Fch`8&C-Ge4sZ(v{IKYXq0Pl}>! zzQz;Tki?Fsqy?&vZb(e%;wg=SxpUOF&&VWG}SHXCWO0+=V|laW;g@v zC}@?>_GQbpi(!r@UX9}1mCNtdS0S-jg{U_<>0(Du-iwQBz=uM~qQ9vq<+6t5F)c9m zpo(UEkWq+1^W>V%-ugv>z^+BIP#!+;NTNgjbF zVb&UOo&hrqPm@wZF2^RVTo^531kLNVn%H+9XliM=(9QOe5WpE$r!K3(yd}e_Lsl&$ zIg`DU!)s<*_ba9Q?|PYcc}RZD3b3M@pxmrU6H0nn>n#7dq8Nb9l@g#9TtiQKpH~ZaYfB~RS428Uvu~Vbbj9P z55s+r=|9?WpQ|F7GLhY^(G4epvlzDl@Uwf|;fO%tS!-U?OF<$UHZHwoU=je)Kx;Qc zlcFQ=bKWKwhm6Ep;yY1;krj`zC3v|%m8TFlr!Y#{yqwVPu}T)@S%-`h7G*|oCbVCj zIzJ^1OKDtD6-LIGhJCL6wG{tC9a3)WpRWfSK%&g3qg24O>mixIn4OcWvE7R}=rU0AMb+qd z`JenbL=B&!MxFOw5BnsfinXENv-fv>E#lS)O!TznFYA6J#S)68tYi z@NaA+fFO7;w)(~tX!ITi1_u|Vk8NgPyxaw&kw-GqK9!goTd>SP%@;G8m8_tdlCOJ< zs`GYxyt7a6ZDFC5bQLx87kt04fJ*=QU8QYgTb+`i|Kv}5T4mRhCEa7~%`0#o5G=8O zykkjX#LpB$drm>@0Gwdmoz@eBV)y)~nNpwSO$j2u6lN9)5xX*5WTi>S^p1Fxg&9Sw zCbif%7&;WFxjt0uzL1XQ`jg4|7jEX!WYqv&{l2?(b+%*u=C25*^1SAj(+ruua^^^~ zQ27OJbPuNCf^{C=k4&Y?W> zxuar(X+!+yIps5nIlE6!h zQk87+`8zcIzrD`U_98Oh@fVb?%vbp_1%YEXada9!Ur~{^LSi>6@>Q^ntajmx^+W#? zGcnne&8+I{wK=Dc=7kJED7lPB#bV1QO2>Hos&xyop`>dPhVRLan#iiWP&~MoDOBo; z3Pf`9=+;69-vxFC<9e*W2%O(1p*e#LBMU`IOaRVoz!A1+^&c)(BLw7271^hLuLp!- zB{pa*v~nLyu)q*QD3ZIl%|pV8eA5VBJ`hFca1b5W%BUwafch zL_q=}OdOHjfJScs-s_u|rCX5|!TYEUXjdS|;^zprQuwMPH-40KV&uBeDcU)^oS%F{ zB_L0LfW!P6 zp{?b@Op-w}Gx1okG0|l6O`_GfVGHRyU5)wSllOeXYWt!7d$T$wi>0}AsdbvbF zO%;NxA)_N87p4TwKF+6&!F?UazM{mv^!Ptm0VhXPk@b1^_1NNvqeMb&;!obNu+Py0 zw2i=(f{s&?(~)RX_!UuqW%)L5e} z;6%FvtXR4ebNc%vApJ?d56EdEe$CKFAZs*>_ddibqnDl#%W#^`7x4WmUq@I~GO>!u zW2~wWg}cU}m)f&Yo$Dg>!frQ_7S-`nn1)esWRSGCS~pIqNc?}I-MG*kr(J~C4b zp>zstaPoICMfKCQ-sl-v2aD~=p{LEdq4fbBG@pc?Fj{oT&cOWtAq2T5R@4sPnEG4D z1$b(~1*T0NT;B}=WF*{-csv}J=fjr~aBAFvi1iZgEI_3y15*h#q{ zh6FAJ>GO<6$7sn4tfmU`#~O-YZHX*lnU_b(@)tT{@{eAt0OJiXYZK_Df~1fkseiX@ z{{!jfJkI(wUygz>E2_*3{{HH>Lh2yH1j$Em@I( zi>3vWMI;xXT*r|OBDV^;tOQfEM6kr(A-blw-~s--zw)2%I2!M*8kpbl0(}mD_O}aswzb^LSixV!wM+-JH# zwdQk&J*5uhD0S*$O3QwIj5&?GN?uHuH~xA4bAO{5b#J<9o?7mti&haI#3_9F#>DZ1 zQu)_pps6M*ar~*$I)7oNtSQA2_l%gmuyOa| zh~V!?w14H&glFXCsZ0)|Dv0Gfw4r%=|7jzfI)-juy~*Ag_LRPgO|kN_+Ew(gzkM33 zrA4>Ywd8Dl?15W$?xB0>XEd(+-Af#VJ*KR4dL|qCFk>tw6mn?u|CFd z^+)0j{&mXG8Nl)Q*WE^)@Q%}oq3%eviu5?tz0X+ZQ-*{F zH`t{mnE$DptL`YFMjHRak~pmy%O?Db4p8-uPa$T+V75dy_)$ctRgVjV+oL<8x0f;Z z`UB%_H-*eEiH2Xat?qNEY^cp)G$oATDXrz@f8{~?Jwtr*aXFYrmr%Pk`;ktV32WvT z0n-t}&)?{LqL#I4i z-qu92D2v*Y4NFN>CE0UFFy-{kDmjNV`RjfHT}1|B|56tCnNIx{a-hzr&pa-QaZfLr zS+p;Ivw3@QJykMPb1J#n^|=YZnWWO++FfF@=rEcZ-@2r80SSx02X09E2`4bPlN>UH zy@WD`!acWxxyG*j96wOeRs1dP2q7PRH?~lI`$hZ)LHYn={tZ^VvQplN2Yo+nF|B=r zztRMJtQVcKv4gv6^;}+E`#>McXUHk6EF{0YnHg6kF0SRxN`BA)mWg*@^yn{9nV&Sg zUlr$nC6d4bMiL$1hIAOcT+9N)`kM~lFYO{Ygz2rM=!SypecMAI3? zaXzo&;Xlqg;yx9wULxctHCYjX58pg~WX-xTWCej+!uT&r-!Dk+Ulhb=hMVtaIV#0P z#0L)4?57(olrzK-vbXwoR$`$MGZsdsZnF_aA*_sf-)0bR`V~4Ti^-pf4$V{=lb;Dy zmr;!6t24Hfz3I-&ndKmnU1-)D_HLxSRR9O(qh7^OJ*;rW^VK4IfloOK4AJedfr=)2 zcbY#;ys`}H|DJ^{B(iZ&A1!l%-!d)uZf9!b1C+|T`+@}xNa|)|!e}ik5z@MXG*J=1 z!#J^x-h!csft;}2(^|sBQ%l=Oskc&#Ot)vWxF2-yEg}CrX-A>wDiKmanM8^&O|f4- zxSl{iVi^Dsga77#`Zx?_>9SbFnLZp$|F$@%;#{{giLW6P@lHY9!O2-u@8!-t7IhF;fI?H#3x^M#lV8$scMQwg)HlTQ z{0i4rL^R(Aq|MPIo1&4%Riv3q*d#rFxx;b0`eP*b7}OIp{lM#|zC-#o2H* zussr#EvayK-FIGG>J_=LuA{T2jzmv{4!k8Y;1yFW> z@G^7vi(i4Y8Mw`>g`~GRRB>!o$0m-eH%8DhnjT9f-L%6P{#5} z(YRt|EFtB%!yN7HJE|QNrqcFhn1kbDO#S_ARNg7z_AySOj>#JAsEA%uF(=Kb!4G{0 zhPSNkrTlnV4iyp1IpkG|7ygWq#Uq3WebPZ}M`{;R7CwG~(Pj=L)z=f({MyZBV56kG zK0X_+e*PM4@#AKuk?v%~=^rf6H^)t}e%hp^wSmitS)gf|^qr7yD?GvpLXS5!hkr^y zbS@i8>W)r==QwjgVx!H7YgjmEl?d5NgH{N6l1#W^A&y^T_t;fZZOw!vy0XXo22lYjNcwyXXLOcbIWdI{^&HG%PIl&Ye4VJFfSrZL zvtUmC83#b_`xDc+7ZG9Y{}A@oaZzsF_tFX?(kUPv(hMO8(lB%j0t3=5ASET;HFSw| z4nuc{(y7Fd(jfxUUB8EWz2ED-@B4m!f2)trob#N0*4}%qwW+9PJg_$QVY37QyUfcJQiL1!ri@TUQQWb8Vv!2*NJM$UV(6Qm;9sc34S z*+l>}<-G4$ap_E1Ve1-nNh1oyrpXIM3PF+@wXY;|KpG*|BsxmD>A9T4@9w|2r^EI= z@ifw{_tQI;N&s(}s3!pJQ-dkHoV6RLx=)PvHcr%*SN2yMRLbV=Y`K4oxN}5oRzQ>NSN@{ zrKL{8#1^u_jp;SfgcZ+D2L+8)!1b`w&7VT^IfuX=zPU9vPkpnVh0s-XS`Ug^n)%2P z8d%QIE96RMse8n0f?3&*o>Wj1xH{S*~jPMUnVqWMG7ErS2Ij&#JaY#uNW z_0o#55DskF{4vzsM$IYQsv)|Gp1t24WZi3G6alfm_c{lhr1N!^l)Wc@LU>LJ5q#Cs z7&%?lmGsqsv~y&X$UWK?lB#bSOb)1@{*OFtg)K;^s>Qsg`=aY+cs;)w2+63d3gM}~ir#KLZBRT$%L6IuJW@sT~MgA!c)JJaaX8rgwK>~r2D85g9}+IUw-ic@y9qSzHtCTWAbh5D;CGe559 zNJJ^kp$8!oxhriU0x4GOt~QXTTsmfiR!O;~fSqzOJOCBKTp~7hMVA_AS+yj-@7PyO zsS2bmIWA9?yC(9!80hTLm!;{E7E@*HUjRcX{^q~?^V&M(P1c<}6NTo^aR+6C)$)Kr zHtvM&uNt>&Eeq(FHkusNXsXzEYjlX4bRCnV*fzSd@`N*?Cc?)Y)j`~Q$V1ninc{Xz zSKv99__poX->__OyC4Tvc4ehIWu!+5Mom!lhwNrbiN(W!ayl0W#bwi{m-INIRT4d6 zs^86~N_mKj+(aS%_od)?x65clh+7@R5sv~{ zUSC!KdoRbO+^&huy3x!`GL(VbT*{!%gvUnuI8I(>jW?uTTb-H+3p#gh2cMIE6mGy4 zCjKP$MeD$a(bd)a*YVr!%70g-D-hF{<=@u^eJjPBo*4B%MDKlG+Bh3yDI~2>#|2ZM z|M3o+Nz1O#7Fu7ZX~zMtEL;^1gl?X%0{82h4!xhKX?AvjUHnguO_I64s}P?*WL$BM z{3I+%Vi|9K-{Lv*gLSn_mb1os4*3K~TlL^PW0!pViTZe6LinAECa*HNi=-0v)USQg zJ3=3QTSu!2GiB+ghF9s~Ik1rCE={$G#g#r=@eq==_CD!p!Z1*OQmB4%2ESEQ1cny;j8}mgn1)N=xDiIW#mFYL2wpTw zfdAV{_Fz9VGC-~0#r}(*Z-wn`G~KOX=3e49!kIEL*a@P$$LM@mUscL#)jhnXC*i|u z8~3)~_?{nYkx4T5P1Mm6S*ppxY%4I`Oe4&6zvy+7Qwyj%=;-xd-4gTdt@T;GRUdv8 zBbr-5#;w#05M*=>N$mZkpiWTuQHDI~3>%S*93g9LIVZ;=pIDG0c>N|(IYsfop^P#3 z<6m3VoJp=G-IbbHRjKP=Mh5Wvq9d|@AfaV3#yo>(A+tTnoVQ!_4pg~Jy9%LpabZm9Cv`>TP(Ff2wd$d0byKWF` zL+;UfOUFfb0R4hfhyZyg7hwDm$SHF%>DJ)KjG`wgFby1Q>vjlm~% zwfz?+>eYvk_0@=N)+Tli^CoTkoVDxnh&!}G!GYOoZ$AUJwspvVc4C?fK&K!K2Q+T! zh@_FHiAdOyvI|viD!@oY=!%Alb|x^Zv%=6@wLWD{^ATi7GP6JZdsYuA#bV4fsh6a+ zVI;rP85tdYCEQAg^qhlS&*L{73MuCqmTNm)ydnEd02J|+Om>2sO&1(*O7rZEJl``m z(^yZI!ajj+GiMkGVE%1&3%&7hCa{GhF zXC_9vCdECoL^rcjHD*G>ba*>292{p!;e;TJ_Z;~d*N<)xqXf#E)%&4hreEnln44M} z!yKTa_oZkcmQ+QxWTXqEVtM=~E{jnwyL^L%UcJM9={KnLtNroUr+}*~(W#Cl*KDss zEcHn5iJZ(l;H%l~>ih|I)AcrSst`v)zZVxm~{wt;_j# zd4jm=r53zofAXvUw+C?VySGPPZoj93c#=`fK7_EnIWT^Z_+uPbZ*0Ai_p*_h!~XpL zvg*HDYX4QpBmeCsVQ1#NU><}&_TaaI0MP#k28s>nz1?RX$hjlm|EkFRG9CQY0r@c( zHdEx4k58})-vs?0HOn)uG>Q(VbG%&RZ3+h{d+ozNrbYwL>pOjxk|=^R$L=rx75UF| z`j^e$pD9wsWJ|&izJ~@uauKY+u&Ix7^N3W*RPi1&KNO1k54Ck#Qf5TarjM#^l<_^?Rz-W zSjCb~=qI%^7-FHf`p{-nfYsSb+vMp1U;-d>zC7^2=gu!N-v6fx5XRE>O`)rVUcV3W z-a?-c&7o|jIXCzH%A>@YeRY)ufx`3%!NmLg0yeFuqyoM=-hLZu28mJTb< z@ry%Yt+l{Qu4ya;OpJ&t3RP5#V5&S$ssb#5HRx^PF`;+<+wT2GDP@YI2veWt&ew+_ z#lq#fC{n%-CXpvE35t@4Cv+u-SivrDXo=`T-Yl6@Y<`HG-(;msFhZ>Q>^NT#z}iW; zIFDINL08!;Yy{^9iYdcjC1vY!u?Gn|XTtoBR+y)R3E80MR<$W4ON}rl zV7L!+u@qmq{MOXljQ*Jc2~}CdI}OvuN`O94+B00lYgbJK%hEefPcjTcd?-rMr}>&{ zn%Tj^Z@}D3`lA&Qqh`C+Ukmb4M5?2WZaBS^?B_@S^#$jjH|e)7RHXQ~zXZB<5B|(u z|J9+ZFRvQNoop>Gp2}=NkX65|9I~GsC5u;U_*R!KZXRoao$xJ@2{0>pbn}(iP`yh< zW2GxOKr$9w0%&Hf0X!L@Mwvh}1{CCXH$oHb@BjK(J!knGA~ZkAy?ueIsNiAOsnTR} zjkUso-?-=C?bjRK{U1w1`LvE-ny0nmDd`C-MP26{`MnLNmBxby5|3~Qi-NWJF%IUw zoV^vSdkC}$^(J+GGR%i>V=pHWv;k>-dR4ne2KmVH8TQ@ zT{GO~#=t1%w64!f3go6d*!Cg6^^W}W7G9W34SrdB5HKIKI4&3|KZOu{NIazDcs9Vu z{ze~kFx#U26;y%Rnq)6e`nCb<9zfDT-?B;9*q~$3I9(&!1#tCqaiSl9vj>9%lc0ou zuInyc3rckQ?kI`wXQ9n>#6u_7ZycCyD_g{mQ`!K%f5XPzFeU3AEcVpUpE*B1^0J!+ ze_RbxXxfmx=KB@mNs2%Ofnb`^F*;5132J#W2_kS6rE21eu-g!?*uCg9iHif=Tl>^M zqxi2*Fo!jEY8Q5{w**ZgN7qEva8`UVR++k@LL)J;#+bW)YlcMBqn^OI+b&e_q9BKS z0-fdRk+X95F_sX{LzV%cE&V6M}(;zFqS43T8d1Lj{R`c*E1TAb0kOaJ9g z_MCuR^d-aV;VynDM>#ZMZodO%z<&8(2TG)l&UPZO@2a-zSVl|hLT(AI#TOGvDpv8T zi}sPzNz&#$6!vWc5;|aR69Ua8SMo&37lmkQz1;S>obM=^pGv2J5Gt*#r$Lx|v#CY& z5dRH-$=Ow5Dc8+9O2}v4S`2$4cjq7S+MnvV1}nOGl&FF4mJ)qikJz?6V$ax8#riI{ z`bY8+vWV#Zy(-e3!h@0VO5=+6ckaBqBPS`QVXSAkNh)FOW}g9gz$DbTOGeVmn^M{V zA~#BE#ixWYF>&Z@Rqv`?5csS(<~hA3)+HV@Imxdh6fsVgsx$}?Q1~oHnM{T6!f8US zu(2Q}+n`Ai-~4selV>I(H8xzzjj4z9JM4MS zT+`Hl>H|{V-u!LrZZJa^_E)(Q(C&A)6ZW{aXPm4i((l5M%X%)Cv5TCg!&GWUzwgym zNW2PGKjkKyrKsPdE0S$sZ66BHNHat{2Fl!Pi`YUl9oP!#bav-bL=8}B1|C!jtz$n>6@F04vzG#TEz9#U`=7XpMHdeuPzZyt_m%oxfXOoS1oViE>4 zgH=;jOvNrUEL~}`1Y_ShO*?&kddNKz`i!e8^7G=E;hF;B?Lii?HWytw`3`Ei+5chR z#d+Ts=*<3g8(mZf$*O6FgCFH4JG-Ku>i;X?atyI0LPi57G@-$f!Q3Hn5bLjGG>va1 zCA@L<2UHU!(#{kc;yp|q63DrechukY%o{t!~;W=Sx;9sT7UubV>){(r{ z5D}=z!O}aUf`09m2YTJ*=C6P@dF3MiG)VlwM3n~Dr1?zEdO^WMqk-x;mnLjWO9&@W z5zK7Ngn5l#RL!)t;?557XOwR}y54HMCJA#9WlrVoG@&hc&uXS*37BC~+MVg>Q+5w{5 zCZGL4JfR}r7(_{`Sqkd00cO)bPTV8l3p7!kF3JHEP0PFMxHt~w9uklx zN`ub28u{zQ)8bt>$ETfA%h}&?bPl(9@z-tw=O@V294`uWi)`}0bx1JHNApjTo-H}@?>?Jt1k z{Pm*$VYl!LtZ)n~s;|v#knt+7d=T9KuvSE!`p_?C`99ui`cXNldb{H%Q#}b1lfaeG z`#t%uzr=%;*5B0xrCQCi5SX%xxw+>CEs>eLiU6Cz<5lsJbo~Vz>6oR=VkScbU~c;n zBk3V5ZUez=sVQ-?D;=2Q`ObIEZR~GptZbqs*2w>>JN@ex?RV;r6jIWZW6wgy(LD6j zDc1kmw{d9b0)Bzs!R5t-fyNhVy3Bz#mcIr zLm10zFeJR)2t*++wDa`Os8ic3O_KZMQ)+>mI-Z5fIN2sPU5qYPmTDZesd0=YPTU=n zOxuWQ0*s>A=CW9Shw=UUIg3p9MI0ElI9H9;=aSL~^M4s={Mu2U%h^|y!Fz0PNU7ci z==2m(nZMV3^%S^JjJ^z^Y3gXH#lC*6(8T9%U;8F=OT@HI#qVsK{I|-)KZ$*LRqwAK z0bVkq?l@N#M@AZ7>P%kU|KX^j5)v+6alHq$ho|@e6l#w*KyZ1emgDIc^BtNw`tc zPF(j}`3mcIS{zbx(o2g>Z~vFT6iCXTt@NIOB0m(&r z|1fh^Eb1{~A*dQJ5YNLk{f2D*Y_NJDKpc(G$dHdoXnqsh|G)oA(>rTu+oQs__)bj7 zI=gu2TQQulvYhLFB<7rWpEjO1>&)SCoXH5SNmKXPGd0dttP{L@zGwyT4vVQ!g?DK{N; z9;lK<9bc=lv|jECkOqt)?CLH5$7bLE*!;mO6$4oP*GB6BqdfIvxuGlq>wcqTxrKIS z6)UCK(3r=q$>Sr#gfcvnii4DW8ajdAbsuc_Lc%`_2J(gBQ3yu;lnT(lXZ`U;rU3nL87xLqf-1a^%(QVeF7nvn%Wi8+KfjY*W!#{T% zuQ_>^uB7>46Bof)+Xg-YWJmfxjvxvrN9HKmW#15*Zp(%W;5lO=nX^`8b9MRrXnjb5 zqw12CA7q&V{1*ZCwQQs~{ftW3r(d}|(QZF@L-V%klhkY|hZ$!f$W5cmKm}9>gG>r? zSR1G>oxlN~L-o@Cebi{j?qJWXBPSy+L@oD5sDAi<=Fw-uuijz#UYhHA%x>CaeuG zij>lfH*Vd=7KOOhTp00Wi}aN82-@~YNJ~9(b2zTGdlmJ#%se6ChdHATuSGkv`+x70CjIlCvG@5HO=BRHw3Sys=sV(P0+{hsx2 znCg%LQEW~OZqt z3Cm$Qicn$~+V#kjL^Cb?@{8oQ*eRYta0Xd7Bs>5&ImfalC>e*Xr&=vbCtrMqGx)<= zgpcBJtD4^m{sUh)_M+$VYQ{W;L$ z=^eIRMT;GlmoMuUgZ}pi?>HsWFwxx6zNo3S_xz}t8n${=MpKMANDewe=cUuwx7MG7 zbDN%_Ihcf5x?DNytMbf>9U(tp!GxL>Kc5SZfOMaofn7%3WL)+HHUL5K>sIu60&Yk` zt*!)K3dqr7sIiRX_Lyz+Fq$gm(ah!XQ_xaRMYn)OXq-^> zO6iCmVY0MwCp^B@6IExRXnoqhj>Mk(!@`GhzBU}YO5U5m-2qx%u5gH-^& zMgJs?-5Ka7*OmCl-WGsXelzqI8OMm`66w~#;gg9&!lnwq4l;qep2ijdEPd9|`l zm16v2k~Rr<=beD<)1h`hRdA2J>-O$hbYR;TGI0c2t}Cl5z9n;$I}AZhSdNI7+~sh5>!{d zw?;6NLXEeCi#F~I5)6JGa~~4(s^N@0W)OaoIuMnvyxR0?N4$Aqs6-YOdVM2qEn67U zw5$Q;`LvyrpaznW1x%_uqiRA<)mJ33$fHzK>{nFKD7!?*M7nEP`0oe3$gQgp?{ibB1W@ZiE8R}9*kk*TqzC`#8l6MBIX2I1=-Wx;CN@;@rM)QrW; zJV7k0`?mf7Z!Ul4TGKOOh_02zVY{#XwD|6xW_>r~yVlzugCN1|Y}j*5X;vl&gP|^V zqM3#KsUL^kA_8-VmK(Ri*&QZ%%8aQ8kz{1)?7K2`K2EjEJu*DDbq7yG{uZ#p zo_EvPGk3jqx_`n9q(48&(A zf7m3=tz;)G+Us$tkRA%P5cWsx3-SM~V|*(=e$OM4ZxI~N4- zd#|IF?|9wD5;j^aMbDSL+C~L;@>96IA zUVR`Y&|oG6EmMJ`%-hDunuS>;!@qZ_$WpyfO{7yATlncHsZpX)%vV#L9S9pBD9;h1 zYZN9fLq?=e0>kqzezS|WZoKjRL-eY(sBX};INFRQ6}*n}_&j}mP*=THOX zI+7AMUWLAV-S*H~FuxCr0N(G({=rtAR5|l%Js;R*U)w>6Gv5CBZ90CcC1QS&sh@Xm z=aMJY1T}}l`|>-rug-|k>bn7BI$$#$^FZZ3RJ@x@elkkDPU`5}B$&(nLP(EC^Y8HQ zXCMq89p;_|_G~yu*vi#FGohuS7BM4_388S`m%f!D`s)+hqgo{UT#YzTa_(jd-hmc_ zS4fXtjfjlKLx_OUbVADG5g2m)bTRX_2+X%CwA9NIuUXHx0!EngUU9>C6WcsxyuOL7{B{9AbQ2h2NEq4%M)@x;2_NcGH z$!zC>4%@%vltok_PXq5l&aOtVL)+Kk0~|mkdbP^jr->-Y`yu4cqo1qotNoss-ptpL zD>fPQn7n(OAab+pYPM$2L-}d_Sxwps_uD-Fx(&*DD`L5JAHoypz=>3)UIP-&w$ijb z?e*hDIhLnLl1J;!hr;}ler-H)ZAh9hi?5d0+^ICxZMJ-TGzBzKXLJKdX>GL@Qv~vQ zt<^h~2gC1<@!RU0e6KGZJ%I#Q*7E^Lc;1l-bM4C?HIc%JusvIP(>vxrYM!}YqcO?f z`)NVGd3r0J>rQ93>7iTr(|VHc2d(2}B>9eF z6JwggkULT$bTL{pqiyZq>Pa56MXeDFjAYp)eQG}~{_vVhN6|AOF{NDrga^@dNcrRF z%l!GZT>UHogNBbufI8(!_KK!dz6qVABw7J>)mP;FRsKjX+yiBqys*AYXXm}=sHEOT z=LMG8)9)>W)=d$)8KsKEMSz#$+DmSJ<~*G;8&mLIJknt!mQwes{L;aA!Zr93*}&sm zQ`H86P_63k=cAtDjq&$mAK$zh&%6JfX|O0h@N9D?o0PDosQ*phxHkR=F@RcsIX8rI ze$c-sH_s;v<&7g~Dy!LMtFf&MTz^nG1C{J871?UWv#$96z0+Ev^qTodFrZv4Ign9O>h%;)y54;%A} zI%|m;G_pLw8uVs=@8@$9e;vg@ajV5SaiRQ@35ilZuf3!!C+O8`fPI5bR6`RGu}~Xf zL|uYcd|xTB&-t*?a&6v6Ypu}6R$0mh}#vYrDP3sX}cRd#@6yZ zEq*Y&444oC8AXF#=H)S3>-+<+gO{*+4zlj{FVp?|*By&a+x^LPYIE(45ZQ5)i6ekrZzJP#A8$dC)tPfV4kECgKV3+CeUMqNS$TuoBRg}pGW}Xe z8&l*=Psw0cU5 zG$P}GZT|o#=g2U4n5XM}cV%>CiUmF{i(9HwD3-Wq0?NrLz>x${KVnJ*4HTK8>5eLh z9ZCeXVa?;>N%XnZgBoR=9Blt_bo=TOnx8^tx;N)&T;xr6ys~FrrV&8_?}8RmIXu}U zR)O6{lfduGK45EEu#jHoCWG4##Uqo!CnDNYgYGH)_0Ep8^lE*$=G=E~;}}nnA7*d) zuAL|0utaQMIAv?bH<3PcWK#nE(e&lk9bXSmz|;~*2uf@+xvfTIyknCs+*ooWii;IF z1u<^lE8*k-+wV4{^wq5bgj6^3z;x8^^~G0nozOumrz{X%C5~JSH-8=<2pFL=(zrb% zPxN`W|DLTk7m#DPg}jOhPY}e;<=Ame%LArdM)8C~pD&RKB&RPcr~!=%2Zr5-bRY;mbI+SD!P5%bGbDm6dPuehHxmgH%@4c#s}`HZi@bWu1Np72OAb_QE4V^8ly?IS^KQ4H<` zXN}&#TSc|~`Mwu?A#T=nW5d`R#|UmNp6DFIylyu$im)YOJxM~HO(!|LD7RPHxoNkF zjHiW16dcnEc)c^1D`igiMaaJLqE55cl!1x%KRXic!z5a2Ii zB$l@~vX5AYKEpNNw|bNu99@Q?d?A$;4$tOm4HJog_t|3SLHg2_U)VaA zRL2|1kqfO|%H1;Qma}!7#KiT-8(0^nLOD5HE}Z~02E~EPs1^9GGkW$1IZt+IH_!_e ztvY)qBuyACpj9d(dhWHVHSE;vX$oJ_FOhu|_~S@^5g9}Q(v4fsS)c~FEK`lnkF-W^ z!4mYDlI8rf5^PzftXsz30%m`dde~(4`n&}wJVkNLT;~WBokpG(ligz5KjDzyu_fhS z{;fcm@s_sUU2;vIsY68*^&Q*gnV@Crb6ryK`(hT7UOzK`=XS%s9h>ecS%{MmekRk~ zU+0lnqRd1-@4GXAHC+IJxIg_%Z@=cp04)WY*+992&Sddp?XrpbydMSe=r(+A*7|6J zzT{#omt49MhKVBo+ykt7|1OdI+Ff8`R2-j~I_o{Qvu}kmj{CP!z>gFKBDfRhjIl zZl?|a%XnG8jSD$q_%HjAJXbJw?${g6ex;)CL52U_MzV<99BG~}J3a1Wnt=yiB0zX-UBC&gqT!Cirx)hdV@G!jQ|F%^-1Zv1r;mk&)t2k0nFqF-B&>-}`?3=iS9%9fh`AQdU0Q?P1d>VZ zzQhD}uP1x=rV&Y1-7MOyaA%@(14Bm9awqBlGh&FyinB%Y40NI>%^O}HfKXBW(vcEx zbL^lTo!z#J50v%=y(f>wRBQJ%<0GTs;D-=2_TM+|58rG~lZzAhKqpior;NFzhCOsX zHF^{DisoqeyjCN=tE1se9T*cZtf@-Sr3xw$RC&zXzt%R%8j4M!hKP^USv2xNSYnGz z^lP)`iW5H(Ca_CNwdP8S{Fw{DlkUBS->=ZAvD_U)SGnXANNCZX4=~+SS&|6AI-H-P63B?mZ&IKwmg! z(2Isi@70~n1+AZq#Y`2LMhib-PLQX4IDuGX>>%QsO4HS?z1l!ra-b^plhi32$#!7NV+g`*Z_3z;% z_z=Hw?bvyK0^eU4=C>0T@qJjP!yWaRi!0^`lKpm~Q@O7OjFKqDToLajj_Y_Tu(MEmwsORD<`Q+roE1h`A7=mNku|hDPLigx>LaV< z`r?zcveIG92jN0P>-(t%jInMxAyU+Hf%J4Qv3A5Y+bf45Zf|eX!R}huJxw(Jb-ZCM zB2zgjT?@+>Y6mEWB5UlZ!S=5nBo@0RXv@2Oa`w~&n`$`Xn@Ci?m{TZv{a7aij*Rl} z@Fen6on<6lMy1h>UgoX353^H?^u{IHR=*>>BA-dFp*uO$cz|6~Q4^XptDl?wCF`Kd zu6g2ABy*fh*hNO(mMP*)QdH%Yc@=XFi*Mp&!1FGN6~(E^&UD@bmE8niQ! zlIFfl)szx4S7n?gZ3^=xnf=3uZRa)0!&IJa;q!s+Bw3)C2S8Myab>R)UJHI4Q;LZP zp~v*MjdlAHu%;s zriMG&Alc=1Vme-zCKBixY8_b=k9?lfI|0EbX+lu^6s4XM%wo?n-Lz3+8GKeLMN^PXU zm+S+dNdViB#^j=oxnzkw&DhzFAK5lHt?=9pZfoRwa4Tu>YfsH{mR6SQoReq3%+P-# zy1 z{|2&YuO&9c`vGFfxp!5bAN6lei?;xmFVbgM;*w#hZX|(IdGY$t_lVaQkt4)q!9Tvu z5j!vxhw~V%GsoTC%eVP*s`rGBZhtOunT(fExG20M<+VlF{PsS;w7-pAz(qM!z{$`G zZX<=PN+UTyNkZXxgK_i?czc=)68{E3RL9I-Lu!mWUE6MVApki%kA23lj=z9trLJM* z+scBDi;wz<+$)KbZFa!eY-xt9phiK{2!q=LAb;81O~}RJB_3oTepAAIk-C?Fc$ij_ z7X~g%X>i=Xj=^^vTk$)8Hr!I!wzowliffL??|>Z|kWP@Nh%*)cD2%69r-G9>GV^`* zA&_i&HDCewESg)*`n5#BN>!w_#d68Y^~%DdwnF5z{lk4y(hxXi>S=Lh$XTL{C!rhF zZN5xgt^9}gEx-f*91I8(1ip$Z4wmHQdNr`fn{q(>XI^>~9n#yvxoG9q6Y3}J;oG3= zK#R$fvoOR$AcY;p8K7T^UcU(0x(o~4ES{;HJ8H&wKVh;@H{#7eD0j`b^9u2h`9ypD z*=c>cXJrK~WjDhiTxOik+`^{+I2tyINc4JS{z)4~uxU=$t4(j4yY3VfiC7nJMc;Lb z7$ZX#@?(<6SSs;MdNMiN0SrH6CXWh%tI=UcMZ&?Avl58+B8yO(s8xG> zbKkx}>UA(46}ZRVkB;VX$3dAZM*or>-Zc1-L#SKdmq7w!zpagZ;#Bde95^j{zA1v| zt3$Sw$lanh%JM6HS`rQn4ekg>Hf0LYXW3u(Y>2XYaDHyI3ll6bk`{s7K!nBlK(%5n zCN>;isZM2HYqM=u*4(-yNH!$QroE>b7`7t!`lO|h=!>u~%D;b_LuMuS&j+Td2eX7` zMJuvFK(PR&3E)v#YY>=t(t4L@PRBSb>m>xzeZ7%r={h+}x4)nt!7;!>e72mssyszW z{i0nR^kI#FzH?I`j+%$OFV%}ph@yzu`g7pc=xB-JS~D-GQ0Z9ytzG07*3+pi#n;-`Pg^HX4q3hF zy}0!*{bvk2tyd<^eTvocVsFetJ{`3$I> z)P|n3R60oL$*Z?q)>I8$w+rCkMkmyn3;W&}-y1C*$Wn>HsK{M!RbDhd@1qty#yYJ3 zg8W-&GozV&Ts>3>{5Qv`NZc-v0Gun9G_VbF<`d4PKP4{$5!F*tg$gW^w~j})P1W3% zw5e*nuDu&$KTyui#ZlXl{I^@GLHW%4ghR^|AMv`kNo0r0=pGEIc@TMG`Kq1SQtETs zsAvo+p6+MpW%c$vVL$iV<%z88=aa42|0O-%JrY@Mf*0E4!vPt*+it)uTjj;l+h(EQ z%(9?h5;XgO5A!6WGx;vU0Pupmt?o^h?xxcG(RF4Cd;Dc;hTJ;g{Ik#%S}6AR73#mk z+5DFRh4}{kW&Xx(-*YUELXkVb!*3ZT!1L@%(){DAiCGwuPGeM!eXpfy#&Di1^!}+= z`_BaD7t8Xr57BnEd$k|-{3LOIPN~VsO@U-%RICMcu?WEw(6yC z;`>4{AX1^>W)_Jy*E&gooNGGbQh=wch>>B~6owST+8`~PdU+wIHfX&G)Sq?!S%Ue$ zJl}18NEgC>_H}jab&jKKOWOM%@LLjuXOlfSIRrCjP;?N-0=xG{BD-Drz+r{}e*@}9 zlV1G+$~`yz5^oBYviEKR=z}GDVG>b-<&@LZ*H-B_!Y~hFi~agdgy-8cleG`oT92C+ zWNsp=l_wBa@Gx}jYj=t{(8usMe=%IK$vrkme5ts+~O zg|!rN&ISI1ZC!u8fVQl(D^%L)eBRNWEgVvD(&VOX8b7A{Wi`L>?z~JRIy^Z`-19X7XR?ei(c4?BPY)a7!LvSyokZ zAs!tz{!LdZL-^5fvxi}+@Zy=zH7?m+lVR#^xz9YYRH8LG2Mv+3tx(j3H_P|_e-tW% z<%J54o#oc%T-QemY!cHstUW;9h~{V7({)##gpz%ZS@$;0}8a~Zzp^Wu$e`YmYE0`c_=_05UQ)9$JRjVlI z;9qtIH|dn6=QnA}1>EN}$~5TP?wO@@V&XD1KX(rG27vCG>*CW^mN$Eve9Guh1JD0B z?KK(xbVV~1h7M^cTT54(c{L2~nRXt6Tst`{M+wZyDL%N24-ARlm6E?Z(KbGhe{z># z{}Y^Gw3D4RNG7l0er5Y*!qk?j+1oTL*mt1od`6~L0+J=eHZ65ws8;@!bG46C8ZG*E7{;Ie|&WgfaHg! z#ib!HDKfWmpegzqkHG~k8r+x*%56}pgQhQor*8-$tJO-gCz&Y!K9QE|%`uk-_L2Pw z4|2xItSApTTGGdU=A95KiB6)<WEM1zMbQ*fnp3qIF6-~)<^%2x2qSd zRzc$r*2$AZ20vb~@|(rWD8}an3^4dbYja@JUc_5+c#)+kgjNhPaFv5ZC_N_#GG9=Boj{ zyK+K(ef+M?8K#9g`&dJmvp#rq*?l|5U&o%H%V~d%LOq>{{z3<95AHh7_;(;i?^;ES z)o07i#I+^MTv_R{pSaP@3z!F2yLa~+AfZcuWsaFWjL=`*4%AI+*f4&d|Gryd@{B=G zrvP+lHEO`5x|UM-T#9s3^5N7fdx*7LRr*yt-bQxo*78L10WjN1&UzuAzIDHW+QK`O zW4L?9Iuu>iUN0r=`ZD)%4lu?b{IuBqKf-T@z3|~DAPwk>4P(6^s?!-^M_JTt-J>}k z6cKh77w1kM;}AqKV$`Xxw&j2CyXz%=%xrtkD;oLDya2RI;Ar}iDSK?F?S)=EpztXz zR{@_oO5;wLXi_)HJDJA7jq1}~B>HF{%?J`XSMhaIghQ6B9T-IB2Z=?99ap>}0hx%w z;rk`6xD4zwLUyf9Wgg(iGp!4^ecsdbx#~WO`}ZQ2t*aJ5xd+dXFyAZ1dhC6JI`Xg@ zMD??|b2pX~bk|jL)Z0Ln~Ga<`{y$Bq(}aW7KK z7?UE)*0RcLELEe#ofd889LcTKpld6!&K{P|`p*+ZJ+AY;Gwk!v zgtBE_=}gSen>FV1F zhy~WFENDc!fzh|wvQj4W319?f*b^@{LQR+bukWlk%+2u=mb!$BZ^1*72}Y5>@-87j zeha5*?wc@l!l(JVV1Cw!xFgd4M{!Lq5e>+oxPXI%`Y&A1**g^bsPLLWj4M4u@$rk} zWf9X60XaF6>P(d0G&7zeccamah?!DrIrazk3((RdtK~}Ht;ZXaU@PI}*`NEtl~rC% zh>!e-GQ-GjaU2HG+9$;jqW1Y7;eDQ4^v^M65Kwc76XAD3`Y*H|Ea&2Vqif&Sm=W-}A}eT->tpp*yNDQwE(eGzS%+Mm6yMO|KlwfX z_=B+gry=Ohw%%`~+|znnnhc`pgZ-XMcGj~}%Vo=97bo~`B{hDk_NimW20qaVYr*-6Dy_1M_-F^v*Rda5%>QxCzb z8ykWK=tHG--V;jk$f+u3>1Y;JFOVr5Y4(@`&HIJ!Kc->+orZtrpVsj+t-%H}Cy2V} z{mi_ZaP=xvEw=KT+wQ$zT+>^{JzwLJ2^L<{^H~y8;c!Jmva@%XnMpJp@jB7&*WaLo zCYcF=;#OAODkl3)55M8|bJJ7Jg>Z&+RdRJWh zYwM?pYd7g%S&zZ5jNY|CUM9|KjpLpEs78lxaIcxUE(QA0g_4Zxg-_)zi4i44ToY=a zcjb^vuR=gDWCt~PYZS&%JrOedrWZE4@ z5}>nz3|@~TmMsC%V?qZ zgD(9wyOb})!ErZ!A|dzkT>)F%BHq3<%d0@KJ!yx)rh4>Ewu@3Q>hxuWnxtd}GYKDx ztK2%0xs5FDgrNwb)VB$;KJWy68behPnHs;e>4y55^Iz+ni-?*0`fxvGJ?*uw#74sx zG*W=!$5po#Dk(BqX$M%Q@Yx>2Oz3Zr)8^id+nF z)r>yWLMzGF!ZUdVpvfffRH0?N(@LEvd=uMb%wNi3X~0dSH?@F;`vmB(rIKHz*B}!S zTH%4lI8Nd5+v`DZYAn_3_uW;{W$FUyxa^T|hITbo0b=7yQ1c!-&R@nqe-}~~8T)%C38>Gz>99u7anf8 z1V3bD%}g!x$N{02DX9O%0YdaIV}eduSbIMfi+pSjygDeope@%g2aa6na6gMJjbBwq zTi0J%SeS#Y)XdgLJH9BdT;jw=B3O{4UHK0yjlWCx!M-AH0y%1O%f(PfyYXoDyq5Y+EncYzQGarYJ73v1!xv$k_*C((AEEXp>Eqa z7dDl`{wMY#!KpbTyxqBHMx+hQ?mQWMrX{HpQ#KEr;i2pL(9#HTj$s=SqYID4V9ieV z0NV_9n(RdT1|6WO@~7d$-<1LM?o}5QbK6#j0#Jv`M@hMgb@h(r$LDdh_t)-VnI;De z*sc+q8sdwYBsKj%!rn3<*`}V!(d+$g8?5K23$t-k=+jJK zo5m8*4;{D04BG8Z%AED%!ZSqpcZwG~Jn7ZX?1%TSh@+Kw<<^YVV!Nte83^qj{k+w_s*h&FK>0Wy+sWPdhR|(@biVqw{d9rF}0~nyhaP z_{J8p6#E_N@9~aK76QfWv-Sb`x490Xi!fgAe-d}b{j0yH;%vfCVYg{%T1b5huh*TM zc%`qciUp}f8Nk=R(_t>Q`OdSZbGSsH0mgm48{37e{{Eghhq`GR$ho@>{d-Ph?wfy+ zl~H|`5(cQZmVWqSTlt@3txt~1ZT8a}kNaTf@h8vKD;Qr?F)8^M*s!-qr%X?l9?$fe zBhJ&T&Cr3C2bYdb4kDMM`5!xdY@R@3WrJ_xa_7e$pcb0d9CvoY51W54Z{+{;-i@{A z>g%%C=gkTpt#Guo*nD*zDc-vkZ;9&Ln~uO=?l)`O z?~X6pZJ&i5UQ?hB4Px~+uHEjFazY)j$>&G6D%UX-aE+l(>&guz&nXJ?>-*UTWD28N z0iPD32-kh!FTa;}zbrm|UUL=2PW(n3>D+NKC1?a$Cl#*BXfDToM|AiT+?w?i*nCDY zm>_d`p@}_9WccO(_2pA{QB<)6rja(H0^l+7L0viWaSXI`Y^Ol!f&WBo0Xk~$-xv%V z_f|kl!-8`Zc}#iNuQAxUee;&ILg7}p!tP#Y?a7_(!NxB2O&`SU7{!+`6V+~a(?~m| zLx50NECX=|I0_%L>)g)0ec=#ohZ$0w*QK*0)+Dxed}+rCJ=M9HSeg!K&d_)WLuB@a zf6#X)Z^(!VFgHi}@4yOYj=>KljCH|6F;880{I*>iU67Tl^C7JI!!fcmpgd^NIex-= z`iw(=Q*0hQCy?zG>YIOkR?c_W0;5V#IxpIfyhvGDc!+lWcMF}{^|}OaqR0GvExyCM z1(*-+t~)jzp)r-pYI#bs=}9rrKlC;Dhx`t4PV+l9oX^_2ZxG=RGuj+4fLGr1!a75C zFq-vS4TQ%cDRp>TY^r|K>(=2#2T8UcoYr{P2a@U$%^Thzqt+3V0R%kVC>`a4_`;FkIo6%QwV9;dV{TW+K(ODZ zlT>hM@ejOgE8%>#rNis>b-e)mFg~K5)Z^)mcgDU~|KUm3U3-yPT?KqN{yggOlx-Al zKt0U!;hib5%q>CGvI8_>Ch75PaR4AnS+@Iy*oo z;2KHl%f1_SpD*Ck%P4X_y)K6+@J+R$>(dkYKQ|5^cm7e~@7AS)YvaTLS%SkZ{F9*; z)M1b?&h>sBRkYK*q}Bnb^a+{hR+0FL>@Yi)+>R9OR|;5`rG+MipOf8@0h;x3>UCH& zdh@K`Ii@S%OsN);=p9q+Gv;|zN}%Nz3_4VvSf7H+v!RveeU8^L^Z#QlXcS!fK+Fd@=LOr} z8S4~CYa02=Q-8+#SG*=|=~|JoJB3?uIDfr@a%zJS!;hm^zO4~LsH_a5H9gALMIqVv zRD2%O5rGtMa9foJkIlLRgXv_}o-VcbOnZ1m!F>-W5@Ij9bS!x&qIT$IseOy6)hI-}lqY2UI2|S5$~So9~{SI98Mn8>M4r zejkN*2J9NKsC5G0w)mJ&daS=$98(SWMOsekL-;4cZu@oEhRDQSyK@+96I*BduFBRymJZV*xt-qeBNf|)XFMI7Ro02YrRgRO@-!>%!h z<|8T6*=0Pj?i((YT@1y8W|vV*d^vSQ1yy+W?*sg?tr>U~4&GG*=LTOSG`_bT9vMFU z?{#1CjmcO)cL%5*FMXHbZ$8)z+vXPzNp`O_^rSe^KAdD*I>x+NV4CR7>IUKM20j$% zb$Pqei!QQ^)0*dozj+lOV0TU@7%#lqqY5#`bw)LK4~AsZyWfz8pKMwzPC3Z95xZ~o zRXNfr34PiM{qyIX4`1QGro9KpiqHl$%756u{SO^B&pYd>-8bbSduoO;57 zZ+wRkp1B(4uOd>EtS)=Ti=!3v^wM(@I4ccFod6m518M>I+mY$PZHMwCoY8*&NS~`a zz=!JZHzFN>BJ$l1bEkKYBu)z%I%qV@C-b@1PIotLNlCC zy#_!PX`S~Do_0=QZ-{b*4w}4hd?yOT$Wm_VSx+ef(rix#;a`~NHJey|c#E>$p$^X& z#MJ)$1sp4>Fq$$9I>aUPy%`#P)$>1=R1z5ON0)6wuo&3tmIzh?gqI2zu_dwK$FlvV zI8fD{bI0ul&&z^7b!Bc0cYh!a+4D3F}wi?N7cP*K+!89 zo7L-jv;UNZ`lAn4*ml>ImS^V&zM6B9a`CU5y)a1~2DvosY6Dir8mBbFhGX7c3k zC%n;zMY};RYgpV*(%5*e7aT{Q$7+|1U4A?qiZk-z_n&j85JuB2+>jF9_= zKKyW?&t!RcZUgeP*PXYFX3G*t)C+giyaUv!aVxsY1dngI ziR~*zcC9t;e-;?OnhbYJyLYhc3ptyqn6>+rQk4V3X^vYpp*bT;G9JOp^j$n>n=$ zu5T2m+~G=ndv<=h^u@?b%M2m3y#F->={D4nUgPrlCkzl+8g-aWF*BX_JVW5#{@w$t zmb@0NL)#fO&l6Q-&!3h~NX`!qTauqsiEpIZou@8N5o`^;=Xb?=rp}1O{t3fK?LX4o zr7W#*wZ;&}GCi~U6fJU-N3L!F{XXu^>vq+5{P{YDZJXD8bDP<0yXgbTKcA3)Vg4b) zxOm;*r@z9jCM>|6$Hdhid|~?V&x-#Ci~S5#xPANQJO6^2 zu#x^F%ybw2j+n^w9d*{$5Oay592piJRJ;5Ce{?6TP~T%}v|BKgNzrWI;CING+w1GL z;h~{vlECAZP!6R#2pB8EA&0#lRPD8m8DzcoPl*0+BZq|S*L7})F|aNtMIbsPPpq}Q z9{;fuQ7Rw#;+j+*JWID}d;R+>kCH@_=|@qmN+;%_KaaFq@SlP2AME+{}I0{Bc{SiSy{3F^S$FW3v3YhL+St#%&u@o`jno_FfR0kHF;`c_1S%1v^+ zDM9c)L8g<{r_4pYiC~A(Sr%lJDMOj@5L*_ zB6^ZC2;s8=YT>ihQu*RLGi$ukb^Z(~`j0~(feakc@mw8q#pP)$%}E(#{oc+~!%^sj z_h257Uovo%swEzm9fg6*bClj0LpHS$WjnC&ZGjd(PqPyz;rBb%k%YaFpVi>{j)&rk$sF^JhTu3?j;wgVJ^(GCUd=tPqv{ouH6+dL)PoTm}*n&g|{tLe1U4 ziHM&tbbsECY$=ORS)IC^oT{OGFu3mo(?I>dd5cMpP&uUt@8hAhq@@()Pw01Z$$X0I-O7nhmC z@~Qtn$|CGk(LvLIA{aJ4)T>w&a?GGR;7{Pvq5aTPJq3Ocug^dVM$IByAcIg9&#FH1 zk531X1dP*tN7fPVby&7Ksn-jr*Fl}=dEX@k6IHe#E6(T>g9QLY|rgSd&9eO+lDg`3L$N#sGvfHh4buapQ- z{mIaUtj*mMk{bD*S^(6yUWgKk0+HyW-$PlaN}}i`hu|_%#{#+$kATzf69;9;i}N&k zgmOEOeVCvr+vZl7%G4~b9GlphsfewdSG z*=ZrA%ZM8W{lt#0@rJdT#7&z?Y&G=~qd5yL^LYccAq)}pvfL(#gIL%vO-#@b(%8c0 z`#mtL75pL9OoTezJt>9pqsmGh?O(l#Hz%2RSK~&rRPh$TDZJw~LwW%@Z~dlCaVm#s zRIxu;D`*&={ovBCYJA_Mys1T;!8$U1W9lhFzS-AN#U0?t?(QQ5L+$B^I5 z8QU6Ssm{+zo;U(3I;dPDx*@9b8+ie`^9xET9 z7a9Xq);Hri6vC5!3UO>;-&0G(mER^vzr|S6Xy~U^Uqpq&&;BrpBj@{o2*sT=rB=8y z{=uad1Cm_E*2l!HH0tNi!>6%8zDHi9^(kQ@3{W8)O1u6YQqdBFUtZ08s}qkqzBy}66D6y6WeYmp#tTIEij6lR(hN(9qlL( zgDp@wX8|A<&WZG1u`szc3?U`zeG2kX_vkBDJM1Eqo#zMrrToQryQGb>oRZn^%Uv5# z@*Fn|PwjBm)zBYv^xZ~@BVM|UfYz?U+(D+RSeQ__7aB#Ri+z%PhaV=X+>kDjm~I@D zfsa2ofQ(osBPQ@XM%q9Mkwhy=g=ve=8I$08juzIi2_mKK??s>fg&4_(n+rG^jfxsF)@BlC7-L)=&pk z9RUWzsu%TC(r9KRr-jN{C{_yG`PB3;T#`e_IxNR8y;wo*AIMO=WLbh8PqS6&MFnfF zru#yiPlJO+Z>;gcjK%#2B;$&tjiaA2(1n&Z5xhmi2sWB58lBE&_<82~^6aKcEUHz+ zIB~f2iLmk_2KUrIc(;h%G&^A1)jzTxhNjj=0o$ri3p%kGLoPcN>Q@BPv}B0Og-E|S z_5(~}i`nAgux|tcO;waNEopX(p;Vdxq*_URU%YDhR}>5S9Vq3O5{{OKw8qR6RC$)D z6XB7mehvYB)9`}26RtWpSqCpE`vMhUAq%A{c$JJ@57y>922SvnIR0P+yRs(utXxHU z|LceuQNCL!3Yud-YY?F1 zFYvfNYU`N1X;=eR=_%HT!%}sD+($VT)@%oWJfAv8kg}#l4@f~kiIy8F|Df5@n-Oywgf_Yx0^Q5?lnK zG-h`dqFxF_C~t0RzI}?!c}Yu8eDSIiCDULIeMAOtQYF^9F(;i~%#fQY<$bm4Bij!P zBS8uhm8mV*;kIPWbuoTGRsC!~=$r~5$W4<2kMW3o=tu8dNEOxIoBJrvWs?iPnjeN) zzEQNa4MgGf1R_PZq=IAT4Il$FnpY|xfFI*}i4_UixNG+egI%LRr^~+velmX(FVKO7 zq@6=1wY)Dhmb#xe0;TntYYGNgU;hPJ#dd(aa`vsw1}J6fzei}Fjz53;lf0i+G6T}M z>Cn9_^-tna7C&%tdG&E6(dU=QBhXuO6%Vs9J$}E&{+wi2q7WFq!JU3Qhk`tL7Huzk zqdeULmfNod5}d=>^w5NVcLYfCXaA1nz}L7z*ez zfmV!x6zE>{0QTG+dO)~_*&L0*er4$4eYp+6yruX+9p0i{){`LJ6xipoFEEvC)FSPR?ZlgW|gKAwsN*z=TtPSJw32j+2FI9LnN!21lc9bYK1uw5yBG4t`*w_e2eFk#OcJqqCDwTJXP=kK84&E5`g` zo!Rrp;lVZ3Sj$yeEYGLB{x@M9l57^jKJXv6$$SA!hVMx)u!Vv$=IfVLu0&3p0gnsI zoxxyPPnNiGeektpbU2b900 zy!q5szqNg+qNL1dnX62wV(;|e#^g#7?4NL6fUnk|Zm|shgwC$9yQ>t*ja^vR&8Ep- zM!dMxGj~b#yz<`H!qi4uYIzUmi9H?0QHZhE&|x2&$k)*Iqj(W-)|(a!)CAgCn`uf> z7@}hCF6ub}IJX|g(P%E{F^$u#DXI1(drwpHp^?xvrU}44A1{83!0PHFg1p)-=BlnI7IIu7n z@?}mARkUG8nih7zdUAQ!F7$~3!K1ff3#db9ELL-AFf^LDT{n;>^O>XeGy{RqZdnw% z_GbL7#4!l$H;1BJzh}AVJxagc|BgSKBXBM6j0FOJJ!NFm0}|khQlF)ypPMFoHsLa@ zU253?#?~g2HfRphY4;0BXein(inmoHzp-r$*0Ov10%r?IYqO%^(E}P!%RR+dq?k@i zm15Kj7}<`EuGt0-7MBNY3dd)M>p222d(;lKm?6ewDEFfo={(SiH?PEa?HW*Msdhe~ zw|+W-PI9wDzvzY7~m$tB5@ zE_-+Gx;JwE91PZ41i7$4vQs1p-)7XBo`XFzzLbndRStLW#@*uZwa6DP7#-~?_a9&r^os3GT#WkuRM ze&2avjI&%G0*1-EIOppK5j+ETmtW+y?i6isJqzUaU-0~%d&8EGodJOKM9xUfhTvW! zu9{|wpY70j6Fke84FoHYhG4wc3bJBuNZ-^tfl(s8j!Fi~Y#2tHKYel%1^b75){WJMw1gm(L>xFL8vFUfoe zl(n$a(}^^#PS#>p(4bc&--4BPc2eU2uq7uwh{9s8W~^mV{^er7aZxkn*O#=D%bHXI zfQmP-HM5!wv!taSGIu60+*kdLAp%j`-)PgtwxJL$=|bRx?IVu~-%|ST;F8|;2+k#f zWuJiKEOOGSlpBn%Fy=U@>|x`0#8v`hOwXX>_={=fjVK%Fiy{yzd$`m}#(6HNgXq7c zr5+H3YIM4|BX>3mw}o0;y2q+2K+xr?Vrv{j5E^1gbF}o8lv*apAi((R5Z#o{0`ZV5 zpba@w?AFth00tX7at+zw4XEkT9cKH`sjW4f{M%w@(PQ3zCE*$%&qYZ8m`Gq%m=|bu znn}2u%Fd!4Grx4#djq=-V1p|L_}r;L`uvTU7;8o$O}`i?0HQ?Y#Fi;l?y=|=#iL^^ zqxl5dFF#D$7e%&GV^6EhINS3uk1VMMHO;)SDKegAVilq8*^o+JK(ACX|Kv>aJ;CQC zzSRCZ>z{iH?~L^1UQ}aqc~jV%)Hn%{nky@cyIm4~rAg3kmV9~vU3)$EcD*?W9BPl< zBrVOS)b$aBXZn4ZN(DU#49D=QYIz%og)a`#0gMYqn6OV6(PpXPg=eyC+mg(7vHa*j zLwe+A6exH<%B6$wdb=PTJl>7vf=h+E$`FI2<1P%qeTb83QB~FRuH69A9w(jN)}%I0 zw-trHQwaCzhlimSH+2iTxS zWMuE*=~aL@4Cvdm14`{+-i^-*0zUncR!|5`;PR+h9^B-@zA~8n!oEWC!&WeQ2MDE{ z5SKr61f0Fi`li9EE`Ky++}<|vUs{fN9I= zPCznWI-zD~J-(hrlOUw@=9W111pRMlXq!@nzoI4Kx&CP603udeyif~$^>*HOu~Wzi z)uV^^en3jyDU=Y4++w$Tx;f=xZu3y}Vfy*QLn!!0pApfUN4T@(?tYEo3Fv>S`o+J? zfDi(&6oD`Loq%MsS62@)J(pqlm>h%mE$PI(1nawoRIs=vBm64ctK2i`(u8`&WdH6Q z)cEA0t1&Gm=`Iw47X(qZ{(&p`&h}gbaDsT5E$e%fktrMMpK8~Eep+b#wv<^u6u$YE zEcg@eb-AFY)G)UCC0o*lz}_iB-GW^s3g)b8B1$4I5Su55n=xWca%)X7xiGL-x4Ivn{#nf$N8Rj8^rs$w=*5g`etwO>I$^;iwFq(<1W$Cu0&EDrLf**S~YszRR@}PVmbqy zUeaG(JzT`CputYQ`L;pT_MSHm1)dKj!JICLD+dF=UP9K{EN$%cn`F5()d?=>e?%=m-Tk^-TmfN!?+_U$^51d5ZD1`hS1n@D3+fiyRv&c zQ_Isxy>>Crhf|Gj=9;O1L!-v*db(>!JXkL{vO0AE zg2|DG;`w6~zl%i?zwrKMRAWc6c0!}N>h#yn!mpA%XCq<0LS-%fYkg-crr!;99}oZ1 ztMwM8B;NY6p(4M1%nF(cZlAv{lI9N|4TUV!%x8668eusChI%Jc!O1D$8|l-Bfz`!o z2iZ)+=!S2%Rf`aJw_n`9>6P*LxRTB*8XxWNJb#>Z>LK3U!Z%;F1!^A0a8R8osOdLb zJ|g`QO@wofPSV$In_;k=^X~-uMd`*G6Y7^H;V2e}cd@p)y5f;X$*9X8HG;HbWW5e7 zFr#ZC^%{jGPV~PLXD0Pn7qK7rO#*m&0j)J#6c_7J&ISYIRrlAFtXvoIaQM6IfpRQ;w4*XqLbva2=;skyCVQGFA)Y1 z$DUfo5dMZag6BW+mmi=lpr4g?_u1~NPvR^I$~<70iy;j5`TSpW>xPMs)8$K7Ni1ND zAkV%QQ#q<}$5_0?suGV!8VdhJXDWfn5>|tlXSh|U?w+Y@z{lAAngBwjmN)g-mx8_w;-8OFr#@<{we7m0CqL6~nBx33Hm_!T z=6^9X^cP2{m+?Ive=Uv88DJe=Uw!G`$$1k+y1!>9oGy=s84*R6H-SNfQe`^6ChgJd zO=wvt7&oTB1N1=^_C3G8Vm)10zc}q}I(q95GkrKfmueKp!zYBdT>RRQpV)IkZDgVave=HQIh|9D3 z7fG9$+p@cBP`Fm$>aCN?opa)03fP@Z*u)OlvHzR)DW~Y1=F|-q(7(MRj*}0x9YJ2t zeWQ{kFqzH(iBmvIv2Y{jn6>KfgtqoHjYY*Y9Fwmgi>^ z(EL?t{nDUQW^#YNZF{+WHR!)ZgC6aRcmf_W?dw1KgP{ADlcUjJ2ZStD#}vvs-rlTQ z1zvxg0IwGx(!ma>wU4>`tuO>Bag9m=liS217M;~jf^dBTO&g8N_p%tjR8-L5DcLAu z7wGWW+|a`qiz(J3A3sEb4?PLjpVw};|B^m>tS;j5pD)J9-REJ<5kYjlGqm3Jx#7ir zB$-EotZPl-0ZWz4115WR3rTASsDD#z%m66L^szN58*=;3<>Tr?`!CUD0vw_{Ca4j% zhBxnWeM9ic8d(F%4^S&GL#jgOo^mNO?I*r-7t=_EXb|S(d|d-m)-7J5MAO+#bH-{MpuBcFs4;y_ z8zyMjBMbrE(s4#!HH24$GWzIauv&W`pvo9wgPYmfC7G)U{qDN6s-CU&zh=}S=pE2C_u zJZ}AWZ;_SBZ+R)Y5LR$R+Xed_T+eAO_AtnDH=aA-x}xi^^H*ltM5PM#JM{-o-(k7j!-R?0RzZVsWafR z;{_)wG@li zWO09;@Zr~uco%cnh2$BSJB+NKs1)eULb?q^h-Ct+vVlXsIU#En59N5^SwbP0hXxuKXRB8LS4AOEC%zR??=2}ZTD_st4*rN3aM{Tu`+ThV78s!%ja!x zWz&?bDdx(5u85^0c=5A$Gx`hfR6F~80y{pIy*{N9pdXVfHpvM2O-L12?PX=4)*4o2 zHPXf?+s*+-KPEpNL_!iG(Y@h+V&p#jNd!adgA56P%I!BQ`}Zlsq1CmJ zjjN^UTBG;eJ4O}0gw(5FcY_b4xmw%dGyC}XLYY7gw-vqU?V~7)-`6%5*eNvqfhM?l zx=yTy>v3-S{X*>DOiQH+)ULL3acaBUj?zU(Zi3_t!3Qlfj(l?W$J14hcF}59KSL-s zN@wf99*YB1mtzYr2LgWoQzUg*N3=QbdIPST?bKoVid<))wI75=)rfK7Fms<=6QX;- zpf^o7&+`=Zf~)!Jvubjpt#^w9aJz_e-9IHPEC7v+slLJk6I{+UCuR4c4tep~S;93I z9E-j9xsrSWVP;vzzlOrXMxD}U8jgJ-E2Vc%w!^hic24RAa(lA8sY%*2T$NCad2LaP z%sh92Hs7A<=a-Wv7Lh7Owd8l*AQgd?ktw;?_rB#v_J#7W&RS|=K2yON4irIZa<3u? zkQ*H>hdD1C*@#A}jorK$AL>_*q8{KOHjWg)AO}aZeJs-4P`IrDh@15xudOp#o zv$kks$_TSLdxaAr#38`oK1qyj`~M|K&?M?O!X5Xq$)b~K)r*1JN~z16D% z-#!G-%F~u&9Q$Ww5pj7C8`@u zdxA}qDPUwEE0#G?2*K_(Eek>ddN=G$)owUnk86A$8$)K~pwi%kZ>S+Blu0F-XGttb zmaizXv^(e|lJLs3#qa_2CMf%H`&;k*Shhn$2zB($Y-)Wji6H^%A#e>xfuuWdexsa< zL2+PPcW$)pW%O;Z9w}2I4oe1yke2kUYIJfRpKpQpgL}>k_1{eFhQ>}M6FMK*T{qqf zk}DJhj#50@G|h}#(cV}UjB6R=7=piEsSFF$BdPAhVaL_p45Yk~(nGY_FOCy#J0iaS zi|mC>R(1UrDl3nyqaFBZKBCdL1k_pm$3&@B%M%v9S+#|6r&`M^FU#LiPVhEptod`m zoD(1}k-a~ksPs!|BDX^s)*DjA4mo-1F~khmJgG<+G>Z%wKiSt_5E`TDDlNbj+Bjh} zag}w?Q>*gOTCqngneurcvk?;d{+Q_L91N{eius94UZm@qJH7*_hZNUzr98v+P?fBrBCtFe4XPaD#=!DD<#%e)#ZqE-E1jk-Dn>Mkz|A=B9cPPUB^ zToLw-G=?dd+oT@`C6n5|&~XMNUP@m_+j)KuZ*D|+|CE%4?#aNA%VFNO0Zc5f802to zoC}k}y~s*`SEp{)Gz02c!8oG$*^gBm9|Tr8mD{&|RuVr>yw-mH#OKm0M={1xw)NqR%v5b3Hc9nbL@X7-}uyd~DELd6IY zOeiNiW~3KFco{37q61Vq$A|G= zyWef-12idDQp=pL(>dp};nf(0IuSz@w;r zL2}FK1y~vZ!CernxuhNS;b&uVHEtEX#AdQ@oQu#Mw0b#`aZAq{+kgCEWzfAc3^H11 zq-RH=dY%1|0(|fa3RkK8`Z4Zf?7!g&;YEC-mKRqKnJ)ZzN3@>hW{U!P?Bo%j32Uw~ zWSzBiL6FR(!l1W@>VPGM>T@=jf2f#x(KG4yY$qt$96l-0R$8(AgC1fPX8c}13eP~< zPd-9-C+%~{fTss34`H=*8n+!!~ zJEGw^+`m}FfRNV@z=|uhED;wW|T^pv6chYD`V^r{C}45+>M7} zqFzL-pH$sQXP?n)?XrzHec11-Os7|sb0&S*eD_-Mo} zc4fb&*r?C)AA-2c_71B zvyP?=5z;Hpb~%(iX&rz_iljgICvhGQ02^sisEh-As6CS{tsg5r&L@`gFjT|11laZq z|H@|&5YXxI14SQs>w`v91O^YfnjKMuD5!O{*-1T9a|J4+nn{pLMux+Q2a(9{!io!I z3}9r?ZJNxP?`s}3PGP#Hw3t%l!bcLvzX-7_=<-(ZA>gT*m@CSbRWWllO$ z41KF`jJ|#>j%6m33`zDAf^DDu3L~4P8~7I*ooNj}$sE)}+mAbV-Yjh3I(2~(TRbK|V>WKJyB4zu^{x0oT0oNPAh zA?if8hkWXWy=gi7qOaD_T(6aITkWS;5Xd9LN?H?EBa70RWEZ9h{Y!0s#91M?Cfr!{ zmVZi{rPzDL6(LtjA7^!b#>1n{1@lu_{8bsjh90AhRLoKk8UsTh0QC}NR;NVsGY#W0ZBSb{Nrvm!ZCtAPT zPL*uD&_fgmGwxGc?Q?4kE^3q#14U&y8tKiMIQ60NQQmp;{wKbDvluP@%P zL$mzwvd~G}vT&m*pvLj4A>wxNiOOf^_`N@k+ExCh-}L${Runu;O2hw)8|)zmvuscZM~aR<2%QAo_=ESjC9)$h*@xm+ z2w;p^K!)q6Jj97bNF$=!T66yG1ik)H6f-4I7an@1^qD@)wN!OSRGfJO>XWn@EV$f%Q^~cMrb z8M49rXP*$I*#lU|#9oyywh}am8T`w_+ctA`N#|SeXvh+GuYFz2 zf+*bk?_MXpbs+8C!O^&(=MGRv=yA8x5U~npK{qAlNOJ6PUx5SVkE&l`_0g)dWmWhV zY4dLMX{tHpltwGlmt3pfo6W)ZCxL;B-Cg57YNJ}9SAu3(AKoR{_PLtl7SU+9B< zh%h6~$BwRkx5t%1p>~SwgTC9>`;2pgnxki=|7zHR(WZA)ff4~@UZ*V)zTeOb_SY~H zO}IiIwj$Z+ZSlxl!`|LlmEeeWeuw+_7=Ez+tG}Dn)~|QyuU|E-@j|i*ulo(4jlm}g zegB{uO?Mg0h*yrW8hQSlKmKU5e@IND<*VBE$1|Oqmd1gHyo9NSV2Pz_l8vUhtBmuT z=F|Ufw{t&y2xR|V*ev>q0{h=u(x1LE#J}6#U?<}G;)$CUmw*fjBd#XZF7em0Nfo2R zic`dk*7)`Tew*#o@^60^Q)#?y`f2wgI@u%m{T3&lqg?8| zC6uw0c4hy@*BuX8xgZvsD8$T^vbHBu_JyoKVLCZksqz_){4wgdPFJA*sp!`W^P;l|yI_u(Wtt4} zVv=jk@9Pq;)Bez{e=i5SF-22c)i0U-^9dP&6s8#V-AILA<(+GIGz@E4NEEwn92=yf z?`sh4KTx4;YwIfrRuaOW>}p|Zc>rI?ll$R~b1^@)MO1cpa?q23aX%|XUvt@0JY!BZ zM$`4FbG00KdvOyEU3IFt1|Tb9Fd?85OACz_WyQgwUj0ph`c^aQV>r=qnN54 zhuvp3O%+`Y@X1$$hpeMXgZES@j1HEx zrv!s9nX)!*0GENd)d}%v*zuGyMS8(MQYQMYXz}v=H_4@-mySEGk~QzKxfI}EO^i9N>ffE0FrIomKDpauq$Ab2*84tD#)BJXm{s#eU{yO(YBZF*( z4qxAu?vrMXYgn`Ww}m`g$dbKNyN>33>mpmpt$JhEo&{NpXR6k2YKCOEzz-u3R#N?Y zER2|Ht;u&uzGmp!AF_%UFWXmXng7Hf^|x+kCpaA6QFY+j<8NhmwlAx9vG zf&`kgOM}{tB$}|DTF5{OY&31MB#n3Cpwo;3K(c&%hMnC)R5M?d7&-E?~51OPdvX$PfuUQcfbh(2A+^DYytVv#qtu=JkuQn`az6dvL93tTDW9e zTpl^sgt8`zQ8g_rVyCMXF4>>)OnczOW&yNQecc1f#GhFa?<{2B*O3HM+p95$`PNR1 z&M?usJ9?Uief#gZ$dlWSF{U}gn03X3I=mp*NVf|f23>Z8#9esmZaRue+Ph^T1!G9K zh@3%8TR?}MI&srdEhPVGHpQD$zj%B0#$dDe5^21r;a*bK$>$gJLJ^))q#}wVpqg%w z)}o7n0=*K1p5f;jFcE=#1hjX<^vbcS@081DL-s*;!c&m?z;XGIkv=b=0X0=RMv z9RVia5CikcGlF0(xvJv7D#yDu1wso_bH;aT`bKKvrM&gfwZP6?_R|n1yGEx|vok_k zW2b_Mkysri`iQZONSulUz9_qBL)u!B5<3#YA`17V)49ve zp%7T(UcMiyGXO<2>eYkLQu#*hfp=`>z-febD2cAOU%sFEI2+RpiSkMt8cf>$XCpVv zFJwlDc<@_9aBH&Y%cfXtA(Bl|P`;fBwv5U=n{9G_20HhNVZK&^6d2M0?>HV8#7ftZ zBkqwCRT+`w81jP&$ZN1gvRZ1&B`WNCM~Z0=AAjEKFRl< zyq1O`WNjYtT!k&L!sO^u+*+$^D|s-ZYm-VzdUgt{fE;)rXn~h`-y6r}OMc7XUaie- znQB9VbryDwDceG>NEnp`S_=fwSmsRewF`7IK&6+^AM%0e1nqA)wCMawX$<9~@0VaD zQy5Xw#XCy(YFM7HH;YRz-K7D^zcki~+D6?5uwSG*GL396Z6i$tBC+`;{?%7} zf*+e~P`D{-FMe8r{SEwKm#yg6tj-osq<#TIux47r4Fy7q1$ppgn1J|xQ+CmUD0)Vh+&3W%}`LU+I^aYoj1<(#_z?FryT;D+Y-5bxRhkTDPy@VnXtUC@JO1Cd z2*7HY&blWF(jDlu;F=d_+a-+?eb(Ce-0_LX2uSv353uyfWK!u~MKinIl}(|7#AqEz z|H5d~57`7E>DP!Tl=5&dv^2D5JiUG!cskI(XGhw<1E{m8$z>5{@g^$JnxlO0A4yr- z+pZewgL2PBrl!29$7jjEBZ-hKa%yB@N*RhU(r5BU15%U5>oTeAwHI?67%9g!>%~fL2^73Y?_x% zgW`NYhBaL1Qs1eV*mY7$ufEy0W`}toWw31azvdX&{)i>ol~Vm~K1f7C!T0k{o1L&7 zq~fah1axW~mq|W{xUQh9(If1~jP9zf$AP#c(>j#$mG8EGllC~S&iafFW;+ns44CRdiY~w6`;5QzageJdl53;;8y803V4PCa{u*sJ3o>SLS`4bv8`JNC;@?d2o!l+BBK`|#Q`8oCfZq}e?0w#h_$#% z`Jqj&r>Nt970D2A?4HxR@`m6SGf;?4L5l+vS#F0^!n~{zrEwc*DM0J>g`Xv6n_?*SHY+WdQxN7ajn^d#V&igv61{ zno`a-UF1=`3C{Hkb}1*!TKiIX+%Vw(W9%%v>PphDjk^ZFxVr{-cXxMpha^}axVr}@ z1PBt`-QC^YB?O0jCq2`>emy<2*7pZoxToses<+{*l0lkDuTwuzRP%Ar-~O7c1tId+ z+G!)*0KCVXVR=$x7Wi%{MjVM4FCs1Bw*W795;0$CRVL=i=@(us%(g6Z@h_Z%>SNyT zRD0+|!sWfb^WK0n)2`8Z$X;hB5~KLw6kpr)UXFjdHz63R=-T@t`q=mgCRPgXSyHab zYJ2(Y`X5)%TOjErLcr_39*wa6b(+VNPz5@i2M)2RN?PcvxGpLnBu!xiMSiG`up4Y) zxp@<&Rl@>M{I@D;QOHut5E~5K)UrRJ(E0eb^EOjhM?iiX{}N5%ycNM!73-3;_-1HZ5IOOu#R0r@hQXc+W4RrDl4ysvJOd-={`G#^M0s{r z2kW1&oTD4^+cCk)7GA;1FEw{v;1yj?J$n?jEBD4UMhn;ADd0Y`RbN6*{t|fn$r-8Y z0SwdN!aFw5k=gc_pffI!qw}t>#x(S&={(ZwFg1p{P90|;jx$%}8YrO^W4lN{xU&$u zG)nBSsohhw@Bo$0Vxz}0V`Rg+LkChLhcUf2Yf3^55xBZa7;_?1jw|M7yu|8RSMXC& zSj*-%V5i66mQj9fr0|+G3NpOVN;_14_#DXCWNiJN9M&2?6lFSs1O6dolzMJ~p)12q zI;Qur)i$(2Ov5lijTJaHN5TG~`1#-%@s`|S^S#2TsRU4tIyMM!KPIPJe4Yvz>yI@K zVBT+iTuwn{Q5Cx)FW#lXDuDUNQ9!^SS>(P%M{f&gF^p?t4stXGd|_@ztRR&z&zuJ8 zx&oTRCqP2$O-zq(BE+)$a}8j1xU5){Ll9N6#6b=KF-u}ur4{u6-@_SZw+fTtyBI=1 zU;$y@p+woXQthDKE}}UO4EJ;^@Wcj+&PIGjs5PeL(S}y&l7y{LIJV2%vAOy~71WV31_=s)+Pg8s0X;>)3C5XDirkei-oLCKamHK-BJKdiL>5ok^ z_4DJ*A27%G(^7rw@d3djp&xXg_Nt|B))Jv#QRLU5V@QS*b=Jc+gQr)}U+2F+kv8Qk zOZlo_-}6N&SjjgJbWATcWe%x{@Wlx+vCJ(r?rePy*aV{BqK| z_x9g(WFg$=qk`smnknB+rN;ECi`@UmS@Pm_ef7WqZ zh^jWWIAs@`ddRO4rY>0|a2DlT^I&mo&H`53c2F_rcvV(o}F&vP_AdH5g8Jo%=k}?5*}>WY=HK$xqaRNjgB5Rg8Jw7Oe5_8U^V5|4)B6 z)h@;3G5hV)Z%x@>c%uL9-rfkwa)#`Q9sa-VmfyDi&3ga;hU-BE^W=Q4g8M&S^WY%2 z#D{A)8={}Ab517*S44l4r~Ntazm3NXYJ#YLw#;D1TiwTS)~-BGVI*$ek8X&stM(zU()%a1}gUr4gv-*$(QE!7+g4>z@))@Me!}M>1d?@j8 zy^$qzyup&?437ti00ri+u@6hnJil>801Rj>T|xO>F_@i0H9c))cMi^1rE1PVa)TFsc(X3KC;h6mcxEZqp zPO=na#&3hz*HJsE8%aY(wM>K0+8i>fv5pk9D@e+mJ2^(Xp^T|5iQkIF?;$k8V2w0r za>XSy!Sr7Q{3oKxdD?q@C6C^ZNxZqoqEU8{<3ra5(?KTkB}w}9VM}R8w$W?t?n0lA zK4f&1Uk?YaOHmckbe*Y>=Z~xy;@g4L;R7#@8Q!+qU-Pdb#|O8o=7C`~L1=krj7ZCd z-UVVr`zzY$%nAgztkI!Qdk7@i_E~|#PML~fI(linsq~v5UDl|!I|NlvAwICfKH%y8 z31RXU=WAKHej%bZJ~%o0iQ}SSey4$VV#R=9Z1vOdvSH+bh=@|{H7U30^Dpq(iO6lk zwfX2`xvn;~n7X1?PnxTUl4^?aUO$`k0JGo{ z@mP`#e{PlDE5%%JvCXm&H^j!;6h_OZsXfr|Kgg&pJHx2u5iWk*OGXyr-KGz|z|sr) zyhit%$Mw%|Smki=S<_6U5_H*ZJ=ai0VFwf35Dj9NDC~H*$GOkKwl`P|$(D>W$H;MG zBjKH`OaRVJ>lh=zgn!KIBpk5aqjX0=$DwypW3wmxGC7D{;& z@)^Vp5sF&D()t$0Rxc1kmD{}Gem9Q4cu)!ZZDW%{V3p%R0Y0i>fL+xnhYz&@J4T_(#U?_~mg0Db4(g;%8l|)tWsX(JySW+c9QpG7sDd_Ccz> zG;dZ784QjRB%M?-kXDBYEK=yN7tpr%E^!WF{#X(JgHG0E$+(cvy3i;C7aJ+pJup(@ z&}F2ZnvKM87Nf%@QE6P|ipUcP=B8sJHm|prl>v$OnFx_wfr>mjzTuJ3M# zfIs47;u8Upg$ZjOtFvr8V*nwL{uzrpH!$!+%J+#dnKt^ zx@P=VsdmZ5MM)7Zv#5k3D2&{o{v_n*Mg=oRHIss3K2k9@6fzPF@+Y(w;KlIZCBR(f zW|0V3;f9d@ko~EYJlqy6xGY#?o7%nRf+RMCR5}B9_teeg&G!$b3cijlMm^d3VmbD* zpOjP9JGq@DTp1h1x65Y+EOT6n4ElcczsAMAX%4ca_wMMcrISyr>AAhY0h2b8%1R_=yb>$1sm3W zBfd;xF7}~zG%{Oq|o&4QI8 z4Z|4I9PohalVhj-1Q3%!`ddz^WuSDsLs?$~T1JKbGo#Dw|GEM%>WmO7%oZtUKpEiI zsRT7A3^pJWXw`3l_$wYlN>an~{bn-G!bX}1S7EdW7}f}Kgy9?IurO2wpmWB1xZ=MY)9tNMb;Y{$gT{c5Vud$&Fo{zWZ?6O zJ8F%YwI^qvN2-m;r?*|)a`RYkabKzCond}4upbzh`{=)Tefj2|le56y8a248-Wl2A zewHr%WqrmM<$MP;8NP4Nf$YqVoNjEtlcgr{<^+B$W}H{7^OePTXJ%$SIfRN=2SF?~ ze^_^PI0qmWrI1A3Q|vvtmf`n4XtYS(C}ZMauomT zf>N5jmcLLyVB@k?Ib=!n(>9o4Vlv*p7}>>C`4-d7tg5J<1aTeG;QGt-$sPot?5EzDGB(6YB@<3 zs$}DJspbVE;fWr$^u-J}5<^hpAs|^nKWVqwfB?F#NOXeX?shG94ck8RHO!vgg%y zLl%gKp7+#9ggH9@MkM5^nh#8KT5;#Bk$k_~UD$IWbF-Dv~4%&`eiW^eU96!P&L z?F&!F(P3r132tTYKAwwAjbe77b+H$~!J3;RFe|iqVgCg^fcG1!_m?;1-$axk4Ze}> z8P*k!Q)grZa?GP9TOHckR0+?KYZG9vQzq#NW8$+uff;-#}jrVdHALcw3e1Cg%`)oz= zlwfcNL5w`_mGfWmQ&lx7h${qCNVhsXrA;u(roOiYIfY*7^F9_E-y)D|&)1ph-hR7G z2^P=J}ohZa|)Hg_BRs(Iau8VJ?`a3aV*4H6R9ul7Z+O# zqTB)MwtI73)marDF*NTHZK=RYb-7ANc8lu;5^=8FBB89vcRJciA(TP5u>xxco9(Zi z;XQRb!P()<;+~6Q*fJy(Q1pC>$zFI1%^7yN%ex2dunYf_1v`JX8VMkNJI38v*;Dm{ zxOSirPDymFrkmhuf_|XX-nyem(4wxk*)4hjZ#rwX9HrSjEfri9gT288q5=#2+DBWK zTa#)Y>npH2%%&a=Y3|JK6r?J~yuQTsP)6Xg-}@f71sDu(W^t#@Fa_T(j>({7$^I{A zmRE;vG+}mNPO;#xOvtcOk213m!C*hPai!b6pHz}K$l*Sa7!aH1DicqPQ z^qk+UIv%tZ#J#E|=8vC!RHaaOx+&V-<@bhDhdmq5qBSayusHsun8jTh4z}$1qrs8g z>IalQ5{v3u*O!iyrOK$EUy)gl+^Nd+8F{H_PB+5YQG=)g zvZW$oYKT!=YoiZgz&3b6rM%)LXlTlv^3BecwX9CXrijICZ{+t$9$i_c$gw1%993Hc z?bl-2>B@pJbb|&NaK}|+sV+is_COg!WvI6aE`)ctp`b~F+%B8U*U~11 z5Gs#Cc1c_JA_R;Ob`--oPD3xWHGES9uHd2?hCpM!#E`wLn*WNAYhM|!EC=c}Nr60H znF4p9uMn!W2jacj2ol;q-zm7vfB9$?hI@4KN)jAn1Bze>FEJ$3|dXod&TWSmc9Gox{mz6{@L;Zsa6V$YkWa(DbzCCWbu z=Kz7D?*HuVbS#WZ{&KZBuI6}V`aO_-5)EghS8MuW1kF}%$hX?au!+f~$u1k&GX4cZ zSx<&Yi}AA|loP$5Z3eaW$&R~H7=Djf<^1i&L$U0SoU!{>sTWr7sQ=($`&DKWe=zM+ zv=N$|7#}DbO7e&A02oX{Ky2#1dqo#<*_QElkGYK+hx_Q)#?PKYFv~6H0am7!upP%5 zKaAzDe`6nKmi_9(x_q;d)WvYCCj0Gf}`{CjNT2|n#q;1ttpSCpY)b6k@@#yZ`gfkW1>{VyYl$_DXra)2vG() zgMQVRHQPG#T+)RZ`9G0sK^To8x2cUG4G_P{n!sbDw?;qSox(D|N85bi51?`U6n1Po zTP+qfS=CR?Fm%Y;{1dz14lO7>UpVFx{IxSX$|dy`BwF?&~KJR25fSB9_>#S*(9vpnWgRpgtlOV+J; zAv5m7$D3v2f`WMk4Ek!nO9)_Fhcr?4wPPvw?(W=2@BB=#1H;OVWql(9kFN$fGRZD@ zd~ce7#-qFpjG`@wkt*rQ!viaFHkm0v!^R|jO!~MV$tkAR&BwZ=i^QYK8CMe`m@HMk zS{hc1S5W?0hmK++t|ZACE<%VPk#^EU@)6#ZZ(@CcSh8$s+<^QbW&OH3c%>i8+*iC{ zS)?e;oVG%KWlwdmWh6{If|Jh^c^EhA67-ePkY;DqI9eV$sOY02C-IJbsEX+#x83OU zEgKiX{KpV@TNcYg(WkV)z$YGjLicJ}83AtHVd9xBb7@ax+OC8)^-a^#^}w$RtqCxh zy(Z)L3+N9&67PZziroO|)eg@0*vb!(^=d?deaK5{TX&5pJ(bR{bYCWzeAFSM8hSZ; z7ch(C!BwNx6RyC&A!)YsvD<# z$ARyUll)Y| z&5I0X1voqJR*m$zm?>_*H*;HwC#v=AWZmI*+!=tR+n6=Pmp&uT%>^HVX9>Oh8KglG zD8pqS-=fdM!fHJ`Ox`R1#K>lsS2GtRc`NcQ$tkGL(;#^$udg=dt~Uq?;5VAaVYtc8 zlf!O%-SVt05O>3(zE{iA*&OQU?#i8$TplBfN{g$)YYT8kvHC27)P!knJvd5XXn1eu zOjMk$T@{W)gqwN))-=w#fQia9wJ)Yl**UZ(K>{Ngz!)c9t-}=BrF<6YNH;%)h)q!I zMUXge;$G?h6|L=B{-)V0L`o7NlI z>XAa;n*hIF6>jStVI&@3saP(yh0BM3$yEQH9srmZAQ{>fyTv(VCamB zZ(ZVC^mK(Kcp=nT^{+KpCG(*7l?%N~MDu*TQjv#oDn8zPey1t-S`4>SJ*=%h3!yJ& zD_&j#Ne5LajMNRig#PAUhErzhgG3eoFMa?W=ea5K%}&{bt3-0Zn(>YPHmEo$b`dVF zLuN+3_j7n3PhbROTei86QL*#csGL-YAjT}396XUBIV=JVDOO!!ZaLL_WD0_cfkDOh zl+7|wf?|LW0@?_CRmes$Lb2?FW6f)oxvND}V)r9(1|SKyFt=z?zx?qU<`o1LJUFEn zGaFJ&99;b^pJS!OOy-hqO8Ua1z@7;jNzQzBz!;Rl+z10N>#shop7qt8Jakb>F*hB4 z5+%gZtcy_@&e)EO8r=O8*bD;k7pBob?M9d^LcR^rqcn(b3i7tGit6`vcvMUA2$;j9z)XgmujohVS}TaB2H8>j9jFQxl9Su00w33zkjT{ z+I2PJT@W6g>iOj~h%I8W^v)bT2nmelN}|$I&FVpN?c_l8U?0b>$3`o=9tE!UbKiIM zHuJ1Ae<^iGb3et&%>>$as*%dmHs(uu$3{PYn*aXwp)Y_zCMR(hVwQ`P^l~gFDa~9) zLihrNzvv9=cn7!)8{6kqdB$Z){R0s1CN)7xZKDIY<__$X>bIkz6wIVK5^@pL@A{PM z4t*T8l$>42;OcPnA?g5gYEo0el5v@;&J)1kjgrJC(CCZ3RfQJ1K+Ui~dZoEna5sdZ zSqZm0%n+~MoDIgNnl1i{8Of(N)xMzzH?OT;JH~KL>Np?!eEAa z8kl>jGDu@rXCU4cnvBP$j*}OGLKOnam1c|E1%xU4f)^j&=>5C;c z7<7g5MfWch-Cfvz=>Hd9>8~4g+XGfavLn;MlLiXNNPFIx?+Q}Wa@e9NlpD4d4eBP} znNsF&u;GhC_htutgxDi2Y|<WG#)Vk?OnRU0^Bj3TQoY&JDedxXxRo;{p5Vbxd4t5wqy|XJyNBB{uviFuv_U^gNi+ z$O3n7PAYjkk0c@AC26>vp=KBuT)K<7;Es@D`QVYvnYKW$IY6ELZ=mU)rG<8#n@)i= z&KZt=5R_8XIItts2TUh8X?odKnCRRom`DWL6gmnl)617pnu!~k?g`{~3IdvKF$vom%d_|>xD^I(F zRbc|Q)(!6iPAz2YyNl13Bcb!fT3RZ(%7C~5jX`TSPlY+D7YY^bGu?qaZM`!r%wmR* zSUqnhGI zHfx*;5yJxzrW>+9_}}tcv>R$*CB&Lzm@;f)?Q#V$owEpSNz(1Klaj`UnIuQPpJ#T9 z*62JNTx%WZP4^@0&31FR+n@$ZV;{VwWa;C);rPSh!Ce79Y88Tg$BpmYSLKWx!k=P` zcJM+FAaK%}^YjjH^l(*aJ7XtW025muB_EM10=B_HtvbF!ja^~A6Rcft>x@pT)1kA* za^#rAlKaPWrn2J1Y2WM}Iq25aw8q3?I22)RCl3R-dkmjAjR?xerjweqIax7O<2(YcAot*&%UTZgR zpQ83pjrvB9YH{jBJQgSj1knVIX|^B@BL|rdtqxni`2?=S!Ba8;w z{yMbqo416$g?(sbP!gU?G3Uxcs=I8{i?934e!+m~vfrDZXpmzQ-3_B66*3zbcIQU@ zTsIgGG>qZX0<7+azPDuGXcfr_b-l*8%x4$OpkWN5(hUeZ-&J^yLTk`wY~$o%B}yKE zJ`V=Rj$U$sGd%Lg05$z8oM7e6OuGN~Ca!N^K`2R|43PFE+G-9sa zCH810fIc-3XVJgQUu{z|PE6fK6BQ6${8e0u`m2cj5 z;X@bR4RYA8JXg3(+Ug1lkldG-mvISMh$H> z(TpI~`_uuONJ5aVHmx;t6U;60!+*?)2VX1^N&;fz6b7f)?HKfeu$3Vw&ZZ4Z4AV{( zPrzd8kiF$+J1;+Tr;dIVZYIw0Wr-{*z2ERtSM89C*f1dOVRcUXKKAw{7;9Jf{P3s( znIvKYmmwzS=63X7Gvn9Ip)a}~qg|oy2D>{}RjD?Kr2@eP;Aw|j4aVopQxz`ZDo7RC z^0t$6h}x%U8T-9%i2x~RT4fnv;B?XZYl#T@yLRHy@hiGMm~9fwuqsB? zgf^9)mQ|T~70gLb7tyLm(Om^0H<+YJE_2m8n=Yff#j+3?ELhyA(lX z`606vjgo6v$}L1h{Qh^R0O0H>I{tk7Df%SVwFal&C)p%b<)_LRpC^NF3$;9uZrO7^ zM^ypdUP9&j^?iNs&(E@ErfRgSiyUJ&N??nZUfI%t^7&&m*}_@;{c8caeH zZmSGQ8L-I`H5M7T_i(UPt>4qK`N8wXYMWFaQdSlD%ap;Zby@<+HpR*$*o@j$VBBPN8Y+R)$f% zIWg=yusac;W|5Ozt0;?-A`uz>+!O^!v>!{zx|0YJVMCX5(Kil#e;@oI9V$Z>n|2Se z+T)Dr#fzJ^J}^-xSKel|A27B`l=^&S{n~HJ;CLyD zFIuH+Z@CW={JW^|-jT1PlDg#J_d^2qvxRQomo4FJl}7yw=^7PBj7;+8)?(&t`{slQ zw#2rElS|_JVx8f*GQ^0UUFYz#qZHRv3hlk&+|oo=1mf=KqRAN7@>Aq00)!FPCRYtD z%%D`COTNQ~PNPk1^NKZ*MX$4^caHCg92?p`u`aZ&k1z<>YaYip;X_~K-P`{yl?b@m zcI*7@+2d*o89xS)W%S+?uihHx{mA!mdo+~{=Ov4c^o@Os}l2e?+L8&slPWxy7 zI3xbHkr@M}q_@)At=rY-mo9zCohyKr4r$-}u1_sRcPpVFQ$6ECYF+l?bxvTsvXXxn@9l-!QG4>0_L7uK;n@c>!)d}m z_FoU*`aUjX7#ZUKZJYbu2K;?LwyxIjqW{~`*Url2yF>{jek~QZzu1y18E7-_NA@6D z;+vfFC|=<*fBITmsqhoU+=tGtJI+b_h; zT=dS?3d{DkXeB~6s801DmZ1u86f@wu9`zr>mp}jB>em%shxV$JdMys3h0M9?Zw+7v zqaGVWm*>F8>Mrs1As=vXfnCif+Dl~yp;HK#4UQ09~Yo>pv>QH9dF`?{zuvovR;Pp3h- zgl{y=XRP_SG;4`af7~$A?YI3j3G3N-51yr~g%cvdy-h{M?O;;>@U7+s$@PuEEZYa- z0$zIlU6}^w)re}CSH*QY8t1~d+S@`ly#X-TYa|eFuq*1m0okIg&?%fV$Vn%kKFY7r zVRZIQ!#J65gJ$`|Y1gB%5%IUe^<{|@QD#(N5&u_oUDpru;cp`xcd@AM-M83{N)2u8 zem1>Y!7*CbV+(A6rtHPNk9zI1Tk{2XdCN#sHgDRAc5@~2Ypet8Jvty)%EnQ9?uhE* zL?Uwkr4sfI+gU@RnpAZ)h=(#0#_offQlI(L);$yAUJw2shhnOe^D7GLT{Cm zqJngvm?WI*+od8Nx@qF>%KbhRX)Q(~ZeUflurb`$T6Cp)RW%trEEN<6u`oyW?$wB>c(9_Oc9C)=6+^EB(CG^28JZQ&Y6JMNJ`6xO#0>ee)x= zKk)y);Qo%*Ff*53!ndn|Fca9nc&tC`n3UqwwP$|ixo_alKXn8S+|44RhbfNodJ`>@ z@ets!Z60afqo6)O=Vo+@oa?5FA~SxrO2IaO@oQzPsJ{acy`H-S-Gz9AEr5+l>{Fgh zwc*@)5Z*cSFX|oF^FB}psbBj$B>8t=;WQi+qy7AaLIbl(khf`7M-+u9JXb-MiCzLj z0?+RqT5FhKS`i>M87^?yUI#In5O!O zM?YcSFSh(@SdtT)DTS8Xpsjw_LalQc)GmW(^mj|l@1YViA7+iKsRaXRP{x36r zckNVHl{b8SavZ&BG9!S>P)M-tQs5G-qRV5c)m$LyuDiY0fKzZ$@9a#s-Dhf9V#wE{ zLS*|QKtZ_H7&X4cp(oBj;{Aq+wR*FLdPit6zb|Mj{OclSik)7A);@@&xgd~*b<%Zj zJ`X)m>1|`k!26BH&KrpMC`?Ym)*Dn8Waa z##26xx<4fSylNkBL!B!P#4dJ80_VZ!je;*3zs1J~LnxyeKY@MY;jwaqjWd9BMP5hM z4d2|Q3H%g1#k7C{vj$~iz@W>l-}7DVrRIvnAK76aYgWtTI0Jd2`P-eU!B|8a*704b z9)qfDldR!Xjp{OhqHcD$^-0!PDGHI*^BeVU;^AsyYf)wau~0PfPR|&^A+CazY>>Mm zm)3>bK;9ZN5Ru54D9n%BNQp}Bg9Qwr2VXYSk;t0}YdVB;02+2IED%x>YqN4<*Qg*V=P6?oMObAv>*7<}#a`!S_))ZCJ zDB-aXtB@?T4}pj`n`c^{qv0D|r^=+yU3v1IjDH)$)6EeCSmBJ(YypP(A;ufSI2+sI zNs@)lzFEE>lnZf;ewsg2_d&UMRwiHDM>%#^Mmf^5OtwJs5n(eH<13A%aCvS`eEL0x z#l@41;dYbNsFIrmE*;RVy_9W!>=?;+8?o{vPoeZSVRAR@oPpvW zMIy%{r=lTVXJSC8Fg1H`TX+N7v;#d}r>Q+EP_Dv1XA3-^!aFGt*lm_3N>{cI1vl5f zf9rOI9m(?-y#CLe$KUsrjf`rFrXZ@MHx4mTqK09|Di@5hY8J%K#1^jGAS#tJspxC} zq(TvW*oX0M)l4i#OxV{A>bNUdI@A09nC-iP7k#mWT$48SuH=|jgL-gA zD@_?{lhRgk2a1mNBbd5t_#d$rz+m(`q1+kYRl+SpgZji0-^{evW|6lu22J-_eTk|Y zc$gibTFyWZa_~xiQi{9{sK)ibDy=$o`+K$jyZCe* zPO5cY(FI`PFnD`CG^IU)n-zsxx&48P^fEaLaNgzwVLDaMP)u_KQi`)Gm@KnoVRT|E@EQn6;aTtEb;s%mm@7UMNU?u0N* zw);j>h(1z38wEBWQxaJU+y!H6LGv|sTxG6i@C0XmspOs~ZR)#T$C8ytM>+a?OT3?N zG`JSVGo|ImNnCayODjWSij~1*tc9boQ5?c*GJt6nuJibyFUEx)4QcSTtKH5wvngcM z1@p5>9x{8=JA03rd>a`~k!4q8wVKSY$AyB)k;^TTQt8fy&{50^P97(K1sRTxP(dQB zRelGjKBc_dn8tdB0w-e;7rY_h{yACOv@Aa6qd+yhv!S&;tnIj;i=ap){HQXj@uoDQ#%C}%6WucoX4<- z_Uu%inW$!+aUCaRkj9*h`fxmhK)@4Nz9ghhHQH3!Gt>ut$Xqwb(mc{4lAry%>_t&3 zquS+0v`yT~+qil9-*;1O_=Evu&`cUTf5`|XWe|H zs9d%V8_N4`Fk#VL$`#G_D3S^@rd1UlW-0ot#r336Pca#cCK1wBz=MD0NdB zc8&g+Fm~`2E}uS*LPwP{pGdZdl}qX=hbEX~gmi9-eUM}Ek9r$1j1bG~%>F zXu{marqUP8ga{>}K`f6;tw%GAV#|xriegw28r$zU@j&*65t@SC#ilfC=~fWI85H(~ z^P9dZ#wd5a@7^VV7OH-u*x{L}KD(%f)VV>dS)iMvv)w=T9Wr<5=(+$WfY<-rlu26@ zEo2vmNqaz2Tx~No-1}usBd-07s4di#f!guVf;}~*1uk-DeutIIhJ54^8u%4OsOElc z=hqpUDAanVVePrnN)N=YY8TP3OqNy~#p;ql>VwY0NQKVd_-(}&C@9f&(SJe?_G%whn_P^Gekk>x2jw7c)A&fmT6JLv>)#ME3t-YJUr4RWnlIIeglUa2A_s|34 z6VsGwhR7;7ImVnCD3e0l5mmr**GVo!!ChvAjq~-2+6go_-%eVm(m;F->1^a*n|~!X z1EaIbz;K}F*cd`EpJ*V)$`kIS=rb^Ui=Bx~0rYysJdtDgIZ=q7Y;u77haDv96u_W# zZZ7Nj6OO?wX3LEU@Ls}k)2JHhqc0e%G9f=!+1C(<0(_f$NKdxmO0te&9~a`*<`=Ww zg~lhN$=5qwEfEfeS-iUs9HgeEZ!{cwA zm(|PDP{QvI1{BpXi(bF~AHeAg^UntG} z-GcIJHaK3*T0)p-Xx%v%;cwc7L(58lg`be>NaD(-3SWeJAdt9CC*j&9+D_RyKR4@z zz$lkVr`S7I5asQ{W+Du%6nFp|_YgoXbvDmIY#PN*qrv;(wdo^_(q4JZCn9B8dvyh= zj=*fylz#>$qQb=Qnfs+#Fx(DIEGG26>6sB2vQPI*YQ#J_*2-0Ku#%2tn^`ld-KIZm$42VEaQ&--p%CN5C%(e#xeX?vcAbQkL3tL}6k}blXP%uF z9(WpYOG=+(pzJ60(!1R52nd{o62+w>e$Yq$L>&Oo+B*%-R{opspf;_mhEf(x)?JY^ zt4iEIk(AclY#wSUX9oUEyxj4q05@b%H|Z?Q%XZ;=B5D082Hf7<*PA?+boDhb6g$yx zfL~EYW9_o>ZLNThgbh)#1=2q3tiUTB#S3A6gEcj262-DD))%g0@bJZ4AX)LRsT}q9 z)Vv7Ee6^~V2D;=Z->a=VCi4a$JFeZUk;VL>optGSj2NfJcRl(Xlo*G zEZkyTE_)UaP5PZ9q90X#XywwiLsC4dDgD*W>VDp{UnL_$(pEl1B(0{6fPB)h2?mcn zi!Uo?FE?K|y|xGdcP^J@k>TwRxSc}IQr*zL_+kxm(#ZZef;D^7Oa*K#$f3;$QIF9S zh8iRk{Rm3CO8fL=H)~nVCAVbvVeYw!@Hmwk7ap6Cu1rTm7oIE4{mA0o&KVxFkAqz9 z=1x>wBAMen7W(6QS3=XqRha|(5dXIQ2Du>eE1d?d1pgknFnQV^?Ya-p7?U2UB9srD z6{mV*7WCYi=T6!0fg@Ad*2BwHL;o+v-{Btw+&OTZ3(=y)j91K?dQ!gn(Emo?8LvW2 zU_5PlZe5(|cw@b5$8o!UeD%8YSxZsbc>vnmV$oXZnXhC(j~zQPoq1gOeg$aQ{?S}# zar}4??(5ug2?SWQM)5mIaQ&inLaxkRVYB7$5K6NvxngshA@2QH532;X<&>rDh6!*3 zk%8P`q<+Rr{%TZ5pdI&~=yv%Pp0MInsI3;G-l+43hn{5g!Ck0Hgv^NcKE!A&JHO8A`H7j`YL3{f|KHzy2BkIqNZ85o)>n1@pNQ_!7U{;XpT3 z=^}ir3wC4718bO2_BI>gn8nTQCHwz4ZvT9aR?63{Up~?u)#Yv|pTDg%qx_Qb+G?Kh zSa9>jdxwUq{YyTM*t`Ngbve=3RVQMSd9(oNN^>lHZyt7#S8r zTR@zm{C%(JsB1A>FJ?|Zema14icQPgoCKnfrh$Z#7^V0oT%`Vsf4zRK)PhADo)(0A z?T;RJEv!$VYuPT;3a77@YFkb(Ouh7n^+5XMx!1%(#D+5?wQnQCEoQ~m$SF_4eD(-R zocGg;m6G(^^74b6GsP=zz{j=T2tG(jzVDbNzQDd7YkTt<=3_AH{zsR%t57}kT9i2b z`?PAt@>vGUBI@|Bp}2g9S<66al;&hl$^f^52WW||WctA{dq|LyDTBRSKW%Y`4fTa) zGP`PM0AP^R$%?K}K|%8kb!g+*{Xp2ft1XXmLG0aNVuBQKB{3m(&BJYt*w{*OXW7Uj zQiq9q#{WKDAHK(6E>Ms>6yd*p=n4T)yluAFkudd!S zU5#kHC+yGc*1ze}?>;U}j_=KYhtapoWN3#NSs$GdEkb@R5*4TZ^RnEw7)S`E(( zAsXKV1$M@>O_IG=f4w~{ceElqI?vY6f+HT~I5clHHZG5<*5CuzPn2uHdE^H1vWk!S zWBO9_TV|+A25X{%jke+T!cC6xMJV7$Ut>ivu~0}miS%(as@HyuVXKCsF211vKdRJz zqS7*uU}}6!m(!*t`DsFzHVw;cHjM(Kfq3NblO07(IxK999OTzXuEyqu{D-dJCt|eE zn8gqEkCk&z;EML8p8AB_Lcvt~-6SNO$RJ2wmI(RWrv(PJdF&HN zs!me>Z5XT~Qalf{;_4Evm75(FeJ;FU5ydVm(^JzTWF!Mx63RNye#46ILrVl9*D z8{5RP3ej>ugKg0Co+?=1ejq;FQLem5LAz2DjTPFvfG#=kWSFUAGeaFfNcP)xx1(mx z1QT@iVe_3S@ha0rxYALBfX)EiGWZ%}zOC-C)7ynf3#^K=q)bmG$79ZG$9a`943x<) znX;zst;#4TkGCisCB&p3Nc0z)cj@NTwRl#NHzce;B}JXB?mj=tgY?dx6Wtr85^Nf% zDeXr%q!;%E#b3s{=ABdxAPz6w&TjnCUdQ2oJ0nWKs-HXuEAsC zA?perq5fX3-8JqfRvqzSPmys{xytg`xq_g867Wp^iJ})EhcGn@VvXz$J)E;M(m~ z#X9mJM-hTKeQnC4oG@-V^)Yo~%+OTs5%Nl%G3>Zs0D%KzHApp?%mc~zQDLX&Nd76l zbKH@xVr|?Xwyn&%CFwi@RdrH9o`h4i|5$v12aBty6`S{3#YzU0CJAU<(We=2MbT__ z7nTql{S5SZ5y04C?VztwxlQCS`?GJ_-YrI8e9=Bc=}>KD?2 zL}x{5!csvXb!)K$wh2&s3Nl5%Z)iQp*9$Y zo@G>s1)=MEh1?=}Vri{htX61MXx6Ax#e5kfYJxgu=6>46m7{-Mh++4Rn`Gs!gCH~` zTZZg1y1)&_6;S*naY-i2?NSFiwNVb62T})kMX+e>1kf#syH4@V#mpudu>J-Si^D`U zh1Kwwf*6y@ImjNAp_xKE37RXBj8LXe3D{ZOv6v$#U;0AuL)E~%yO>AG^nMoREz zU#jMMEbPrYjSZr=JlELrU@ub@5>T-guFc;hF z$o}e1?`5B*?McrDp8{4wkyeTIe8p`;`IG~iaDjOOPGmx)9V}{_a$!!mFCAdI;idA% zfFHdwlyFl(8;&YDR$ok}#P0l{@G`c}9=Wg20l9IYwsf5cpkIsh;=x59kxs%&k}c~{ zZ6s9>;&)Y9=%#-NG9B`+V^tIg{v>QtIG!Cbh)qU8QWQ`L4{$;JjkA$z_kprpmF=#3 zZ#D;+NM9>0Cj3%23v?gC_n1kT4*hA8n0eh<{F%L(>|L?ynzGIG zO!j+DA--xn{f^kAG~ps^6E66&Rl8qA_zep;$W2pNxF-2oHLXRpn>s~>WpP%{?;6Jn zMtZWoT4Y}WI z#d1zfBxhjqIDHu0y+#mFd~kDp`JNH+L*Y-MmA5ifV~55T)Zw!XFZ?qxig^hF0ozET}wB;YZUS^n4lvHf~-ehID**Ap3s_p|uyLKYXqsE!t|2)rYO# zVOnl8Q&?gXr17=7FM66Mc($e>1Ar@B(Zpn)wy^n=tYA*^_y=<18UrEY_c}SJ~+05Zv6MUWmiKNsRf@C}RpxOS3ov)L?Jq z-bm711m&Ru(*$(z`45FP&^L~t+rC#Tk)&zvH%eY0o{<{+3jlvbq?GUf>q4Dc8N?%J zbbhH*G_7 zfX-Ykg_C+#=+n8Kr82!LQ+#4;x?o{D1_THD&gePteLHU6{Z*U9Uw7wUEC33#^t?EC z8mh%pJy0Ec6WaJ$_I)1qc9^c9O|me(8!#k2I@J-LP(J2`<=9F#(}Iol3#C?>5Epi0 zt1;nNl#(cuAE(G|CD?e3&v_F?DrLDzTb2WLQ>wV%{f9SUSIYJ&nxCoO59(X*r04K| z({`%lG&}ho2Z2N%8;1cbJ*qR)#rP)HA!f)7S6QpL3J8`MDXL=3;o|+PXby7J?a$XEgzU72q70kayFB)l z$`B>TyAW3*9D`3!z-4jF%+F+^$n3v5vYj#Y7B zo>s$UQI7%qhugtJdeKJX8kk(flyZg1{-)v6z8?j#h`O!UZ9ohYA#LC;p=y>m5owP3 zIQ~NmPvDZZ&iC~?;z*HR*+d2~fUZ6~;_5J?*F|9^H-}h33|M6%;{fEuSZN0$`r<^J zhxSB&;mc!|oD_J`*RZ@L{N?sHKU*0|yi#qnk{x39OHRU9hb5NLaGDQ@EV;G~h}E8R z6I}SZTsz!O#QezNXq7-)4gRw*p~+;)N(_FNwMTq!h=^~3i%W%m!H*5A9aHrsqjX4g zP@Z?VnLfvB<71wwrmyMG3m~_Xar8D7XP5rqvx%D4w~3CNI)wA;bus>m>ngDDq%f5u zwQ9<^p}XTayDv3Re~QNWL^op7I%~bUA=FPpjBsNH)4kJmw1|KLL(n%=A5K(BuG2z) z@M*+*!TqCcmYzOBD;hYON5CaZ2}UKC97Vj!h+#$XBM0_5F8jk^r#-t)fbMsoB25l| zJFK`e%f?xXGee!7&ZPonDH27LSJG44Ekei2+CBl!>|2NMK6v6l;WpGU{@nHR92!DjFJ3vOtuP z_a`pPWVj%Lj^$1ge09VcT_u{o7-D30RSu)kimcK91ztTP_G}Ac!ayM{v5=|e^M;2G zy{R44FQc0T4hY}VR;oMmWMFkZI-tP`O!snsOTfW-9Wf4TaYR4K3EM#E>KE;hP!LG|}b zr3qXfIk13k-!rj$ZuQFfTrlEeh7c@dLb%?HNq22(qLiE{pNx09R`vNlSM@djAgRjS z@kA*bs~Pwz)&tvZ6)=KEf-u;=TPz3a`AVw&T@At;TlrU+B3q}TsJ_br{q|nxGqm7p z$OPB6?ziFuskdlPjo9Uc^NnKDAnQ9xB`J)PrltNc`=2^S&L(a84y>9vWKbF>j^g2k zl!N^29hbepu?Xej&`tWPf|UWkciXBL7aPtv=l6GAV;zi_bBOQ+*K)@5;^9s&P0mGl zzHjEPML{Y$f4WdCG;T#Ipl3Usf&HlT#?Ly(!a@cVRWBek9MoT1;qw|Gt+1$Z4oc&#jS*+)a zwhQ;GG|B>ddp?XXkKX2#y$)qh2}vnMQjTp4A(D(rpg|}kDN51**K0|+oNdJh=-0WH zwsjZ>E-l604`JX}5palP-ko_RJ}iwg;OXfo>oc^j2vYJUSjf$VrJqEK+kp%6Jyh;Wd5F`iyNCIHMGqS3SX$G_IHX21l*uOmuDp zPETvtc=H7mW(0F%wpKJJjD280j5~u=I@+LgYg86M_7dMnsO$m&-dRq2x*kH(-bsY) z-k!6~g@ES0_p819f733y`ba8YoN6K)cV0K2_aW4Vi3nRuEp73GeEoOpe&so<0n=og zKpmOzdaN?^8-B;$oX#vZNSGhQbpF#f^@GL&kwU?s6h|(ejd! z5dL6(!)sdgQq<$vsSJDQw!=DrX;wjrZDTfqcBHg7R~<*^X*V&RU$nK&U#*O78Uj6- z2h`!#FSCsR#pGYSG5?42;6H1|tE#FIws-d^WT^km3i&^1SN`)KOtg1M{+o_jKy*c) zE4txWsp>@7lXU?)(5^kp>ib`8bN}n3OC;)F_~%k{$-VD68k-kJ`)&W5sP2Dx6qr5H zZ225|71H08YbZLp5ZPx3ir+d8d_?~*f}H=%?1+c>c2>og>Nq#}ekR(cSlyI%8ydaE ztjB>$_IM#hdyc7o6q_`ka6 zZi-)J{%RZ_Pg^%fjyxUO7QWHIDna-3@C(H5Ln^*7;3`TNCy=4E#4v7h{+Umr!W_ek zx89YFsa8|Td{`OK5*zvlFAwXXd1Xd{XKkh1!bUVweMH1te;S3n@N1?&Kn{PsorTnc zpJ<`eKAkp*K*j}htEDH$#ac7VvjD5W63gCM`*wdC%P`>lNt%;5Re|5SQgFl9-kGNg zW#hwuk7yj#=ilnmG7FrZC;*|*KdhI+ z(hRb7LXHLJJ1s7 zAQT98%7su6*YWS$`a$PCZlxxVw4G}K^kwbiWnY6YHz1pXX3LlMp}(pKeNRRFcoa6g zTJc2!3C8;tux$OHAAPX`DL)d3RO5329${`CIz@)VD83d{R7L<5M#p)HQ$oid9a=` zlDSgZcFEbM$}aSzU}edS-U%T}IE2zb;kEkshBcOYSbQv6y5%^%vwo*0rd*_KiJE41 zy`C?F^p*m_l7aR?Yq=1@W66Qr3Gqp>Ui{VNF{N(~l%E%+v(bbSo?~KJ}%q@5vwDAWCFo%ljgJX0PZbpl^kSy%i2HBJ{_L7Tmv` z==>>R03StH@?kK{r#uK9N8m?*t98a*oZa2rnUOIF{$qsmud}^)#>2+dAAJd`xzR8f za15k_2WSIvda?u$YEU&jG5Q0tKUYY9--%A|03Y7Us=~Uy`f1AjPCutvv3}ZP%H`W@ zwxuF^Q*u8f)q?_?S)IfKwpc%j#TWf>bU5N{sB%AzU|ke)gT|&sGEOse5&C0mT$=Q6 z(7<1?-PuU-`A$wP5EEktQyQh`HQmb+%;6Z%3OM~AaI)R~r@7zhp%WYkPyTwMRav)@ zN`&flp({p^o>-}kvt{{pEKz@u|2#{>d%Wq1uH9!S@0q?Lviml=SyMkI(?!n${R#?D zt5q$3f>!h~7MMH<0h`alYPH7UZNnQ(6u!+33Ow7)qS*sr&PqwyHt6HzsZ}CGiWx~F z3)@>q=cQ*;W=+)coAvqc`o1`6N$-DHvZ{E{2;}-4D*5KsQ_yOcWjtXJ%dW$3%g{q7 z$}N199hi+SrqG~D@s}R|+bV|eHS9B$n1wF~nuj>K-XpPTCzmI4h?}nXaNy#m#O_0a zDJmF4;CvxPF)y6rr6Fj;-uR_te(|!AuT%%XrOdM-My@SY!p_2t%L~Sm6)JBFTU%M} z6U=4Y=qf@k>noH>*R%If()xq2?lJ`sXl7#O0H6uGpi_k2dpR?m6A4npff8h{r|qSl z<@-nQ#d@0~dRq~K=fd@J%pQPq^=(#ju^S68szwM_){7knO|YjjG`Oj1DXP%SP&W#ED*T`&Zd;PA0CSNl{KsLo?HviwD2Cmz~-g+r^yV zGQveBURNB_QPix>hXJjna-l~Besab7KCng0j55EgaSy|8j#lzCE$W!Y*c7p=R>ph8 zi?8uB5P4FySHH_<#?6Vp6G;nF1ZtIQmuAm=H*2c9oztBfErrRxFm_-UUWFMXsi3h4 zF;WUl;wTjf9#6UxdpN!-Yr_EIjX-jeM*6-i6MWEhIv#0X{CY7j4cnm>yQBC+N9x*mi(q!AE){wl%{xZ6D z-tg0oZ4N+aFQu-MWxc2qjgdCR)2j0!VAEpNTh9m2vspHWyA`q|igyHstZ+K2d`fB@iSg6O- zZV2nWKUdB#L@XBnKykBAa|A>mj`+vD5(Hd4E0_Z$K!SoYf?nMnx+UIy?7O+ugCvF> zH~mT+A1i6lK4%iFqfu8{=!1o(mV5Hk;RQUB9W#G-T@deF80@%js*r#}DBEvv%vN|a zHuKsT(MTg}Z%E5Tz-Zop>LfewXW-g0T(S(QIbd2m+ddDXsn->RyE{!rn=x0kW|&qw zW*bhn95TETd>JdDiRDN3C9|~?%+y%aq|!wBF5&hEvBp21nATLINYX5ih*&1$zvcmZ zzR%@!(>bIxn{fs!dHN9Ewp3MtxtDXz?%3=Sk}y3px=s|;Dm(?5F}pCa!2*;cB1>V8Wdo<7 z(%F1;QL-T+lKL|T zdxgHFhPl6Zm^#g9)|ND&C7tRl6;fWoRQ95GE0~64hC<&VBcpho;vTscqw0zs2Tz*Qt(fbN5SLW7<%`9|uV@p$6|S{baR);X(DtZtl(`pmok;@JJ0 z8cCxnoZ$*>Q-Ks=XNw^h2}JdMjI{83$9oa{&=ZjtlhW$B*3a4Yn@C|?f{N;AIYC=T zJ=C1{N;It%kb=eL%#O#RZ<}Ian0h#FIcNbTPx=lZDP)>Ut;=27 zjx2rOE?*o~rEMa2cI)`GkmxTemy5>1%U1huGu-ov#r2im?*Yr~UXJT|m;})iJHH#V zZ498Gg*rD#>1z+=S8z5UYGd#$^3kZ(rnhZo+vS-f-iHX*LID6(grHU}6JZ6@GFLQr zCoK+vQl1{(bo?*o3h0M{#e5K3#`8g56 z@Zs__ZTq%MQQB7{i}0CNe@|*Q zUzk#*3eTA15LmcT{fQ=2Mb4ODuVPr`-^^3@h3+fb@h`r$0ce75+5SaH97Fvu{JI(}Ho;R}C{CmsPagb%c(3vUQ7S_krHBf_H6~6w|`;GVu0JnyG za+78YI{ef=7!3y+e}BvX9Yf_qGWi8|lF}PT3CwW_;X6bqqclJ{mlh75w`vh8dNP^G>%M3-)JkB%;Lh>A0+8E&UI5QFhi#eiG6(dge8DzO)QJVF{e3AT} zKEl8!SVGCHZGPxQ6n@WcKF`8eO@e={L?O;@6B0?zST~$+T_-w(A!=I$r~(Lr6R79Z zyOrMhOeoj(Auh|k9gD)7WWh$Amno0>xm>A*TyqlY%kJ8#mIOy6^s|e}IhOH|LIAOM zv{1XGrW4>|VR9X4_shjd^E=sUD&hamkS z>dJcG`gxbC^~NaLuEFR?of#Lk?%7w#c>)l{S;h$YQg0304Zh%Y^wCz^24WeJoipW5 zjiufTRwSN_0VwTKNBEcG57j<#s#4~+pH5vftqOdkv|~cl;bX={IR|AjYhKFE?+~e( zzEr*w?V^Q$fh4ZxW?U|t6AzanVI)Cs-vz#C5Q9x|pVIU7xnQA&50k9Tkzp}v9|gZf z?X7NIB|2mqpB)inpureM4*eE^qWiUC}@z7~ZyO~^=cLDl`>&Ee91 zMA223tih-zZt_*FUU|y8fTj*z>6h?Qr59~Y2H{C z{jc;S7=jhk_WEt#GmAkYOGTk&s9iNxjX_Ff3KLEyZjsYv{xl@TYNi=ZmL4>}Ih_t< zOx+ic41yG_;T%wdW@G*>U&gNr_e;GkvnVa&dton)nXk;mGH*7XIp-8Vjj3KNPRbmF zG{LRL+Crj9OiFa|30Xv4MWuluWRtzw6@K!_b1OD-D%*ZTOkM-+@MI7?j2H2);u)$F zlB0;qtsHjox&RDaWw4Y~mmuW$jrS4hkMgM#OOAz6k1I-4p>yy+;^Yr+95dz(m?gBA z&8ji<)<+19X0x8&i6W^?<_5j5``KDYsF)EMw6JV?5T4$-G$P`%rOu_ep+xvG&ZUOS zul=IluTTX<)G&_^Es_y5YWl!qiIl~;4=hhsM2i4X3+(S3D_W-z$m|VbP7q-;6L3@? zex0=9`k7Ha8dEtXGPRO|(`)ntgK_|~c5s1ruSg!h@sA;leXfdPh5iQ#>VI}ANR0Pc@2#E0kd*p%$|h3`p3`XYjji+D1q>rC@n58w*_%kh`^UxdP%#xz z(a>811<6t2QZqIRw#JJL4T(17L5<7CZK~yXi15S8#Y$EMgD>sTo_NQi2iGSDj#S*l z&b>oXFan=K4Y?=*TXIrsk08BBgCQl9FP|f)awsyJC<%$#H_oAecXa_u(Hu_fJ+xPW)ofB`u=Prbp-48`|jj8og&+4g23 z;I0z0PhbK&WcPdJO~B$B(JMZCf{hX*rn8r%pfiBn8&DDQHe195lD>23RXuOo6vK;l+;Fk@C_7Uv0jr)1X5ZCO&;(gYT zf~YShnExuXK)54f_YUi@c!~OSUt<0icCSr5gzQ1?#&e{$d|(zdc|Al&haurbNUD`F z6jnF{68HvDS{{9r%hz+~5Bd6akPHe_M+|R+vnQT#neu>>1SEqZSkKXP-XAWM(iy4% z*(^DOqvQI{uDlS_WLbE%2n!PqC*B0kA&Q4pU5Acu+Nkg7T2MaUtaBi&-*cO+14A^1 z4r|yAwG#3rq>8&vwZ4IBdQE6fe&#I+#W+sw$Cxu+Be4HPV){4x(UjCTZQ*Vcf(~Vi zFJ^e>fQBV<@XMNmpKhM4XU~biRE;mI>~*vzSjgZNDoqCVP1GxwCCnaKLHDZPOY2qg zBApJ)uqDg$1c-vGPTFKFZ6`AZrv{m+UTMdSIm`@eWSaKLzmXq3(vGl+86Q`~ru_I# z{qGdg-XCV#&7iGxdY5YuMQ8wn907U6EkC8<^+?>=WR!g|O$IW*$^?nSHVC1M-AMp* zN}rKS-k~(XV)*{TjJpY=pq)f_Dd0R{`*`omhbD;MDu4!ET@P6@GKLSwFb^UH$bTAm z_q(;fLKw?3U)3*O@_uO+6RB*w|8JJo|7@}?XaI$+g^G^89*wKjo-OA#uE9m?OsPP{ z-uzAyi{Mz?df%N|kA&*5baj0_g8$kevxtd4OzL98$ABCZ3ut7SL4K-N(lJ{9>Xssh zm#levxWYp>?Yi#R>r^B=63l%}BHR9gB_>PhOcviVTo00SErO}ky_e3MwR+|)Ph;mA zkq;dF2hIPNaP~iK)f!Mz4PJT{Na+VVZNDiQ9Cgqn_{GalcbeI*KPPs-;UQUm-Ueyf zyG)C}Tmm#k{>eWKL}u8V`5T1L^6wxY7Q4x}h*lTTDgB<@L@*KmHF&l9luXXAO%?*W z90ur^N0?tC%tPN~a+-PW+hlo=OuK?6sLLX06b!{Zy^~R%sIL~%>@m`o?oWLG6Ednb z!wZz8Eq^I(zi&iz%GQ4SwsvN^t%_B-%#9H~=3#cl)F>W3uo~bOloR;k*NXY?ZD^7$ zqMt~Ibmu6fL%60lJ~C`sZtu&Co{n)?2{FtcBiWxYpLfLC20}glrsYoQusyW##ED1z z+uCCTX2$>NoNhNOyuN&!-n=F|8YPF&YI2KHY*XDeledFbjezH)D*3x`;L;4*>G~Cs zDL;I>I9#&JrN7{NP(>m{=}YDP4WC3kdPg!ILUL3QmGsPpmi17L3-^-B#uZ^{YfF>2 zBH>2*xxCq-?|pp7eS23)Pr2O(C?{$y*pJ&eK<&09EdIu@?ExqphzDo^6UUoXxBtuxnvJm-}Rr>k^7zIV^IcJwr2~rc!~| z>8!8W0&2^5R59^0?6q&yAN1?vN_KJ%Yy8N#p51+Im4kkZPmD79^t^j9r(Dyw@I-n> zzw)tHu)*v9BFz5}iX*>2u{`|Vc|rNYFo*m4az%x1F7A1sj%|J2lu(#TRaqa>Cx|>X zY8N*D-J|*iT-r1po3zjmxY!?!h+ADYGt9?3p2yv-PgKpW4gzjMZ5`kQ3Pd6$C)0I` zq}E6RdjFF?Lc}Q`9^8N33<&;SZ{v3@Mq=wu46v<#x%H2Tk73)tpS^`|2094+c(7b!Cl6Owd+c%qMX+n`E29%9xUtczJThZ1jteHPkeH#jGy# z_I1MFs%^0UZZfcPbd`2B9P3>bG)JbmEik0Onz`*#b(S`DJoY@bdQL_ko>Wda+?hV? zpn9;K;Uj&jWk5T-j>$`TH_8K*H&t+v%#Xf0(*Bm?FpF+$QOg!XqnhlQ9A%T06s1PV zZ8Gz!GA|KKxe9zt%P1N20-b)7AAY)hd7h-*(^>|%cz;XKfV6T3YMd=w#hu3>pcpmY z4EmKDW(gOmpyJoWHU&*3NRmJ7#5&x<_fJq2=5(@eU_j%7JByr11LWuK++(fT#gM9< z`qvJkl3{T!@%@pDJ>(WlYZ0HmfAVo?3Pueke5gWS$Sw*Pu)@^FopWXU;oO_4)yt{} zPiL*nc+uJat;ae1u*(s$%266XzQ6MwqE$0wxErz1U}=8NP3PNu249v5TTlM(;@vFG zO-*AS4)bg~f--)97j@BX@hm{s_NE;x(SjKATDB3E@dd6yY<&gG02VPVBHciU9^zL% zceXJKpVyeP`!4i2Pu3I6mCggD$i^O1i1r{sPTCFim&gChmhd9=IP=5D^?ajzhHR{4 z3A1ISJQ80)vxN2B-*`A_5S1XKuPc*QOsy>RBMjBR8m*&-bEeu3)ajy+)z&9!mx){2 zgpET)k@HcZ_R|YKOBuIJbzc@gOdvxLFOCf`=w47%!C}l@8QUI^`Veww^W9&py~s)V z%vFZtU=mb_9;hd#C?q=Vzo4?w2`>3-orI&NFah{f3u!mOv;J?VTl$r6inp|!R~?T- zAO7#S$Dg?YL5Y#C&H@1tf=^)+<1h0uV;v0qW1Yg@Hy=gLm=;sx>vc&CpvvR_e0*$* zL@dRARn`Win(w<2b%OY7ZZ!_l#Rt?TdX?~pTy`qWlp6vz%PAc}4EYC1o#2F^Irv+V zL%36P0J8dBr03)!uwr$>LB(#1);pgiF0SBEj;@OVMau&DgUwhoj04A@@a(tVlens^ zFfS|H8pOl`($J8BZ$~1K=)G+eRNKI0Ju!2tCZK=U6JTFtIQ3+Y{PAtY`2&C%=Bj*K zH5L0H8*w%FTMGXkeYTNNPmDpjFDf9HT1F(>NxTzYRyNste*p}wkgosDNaUmwyt&K* zg%KMpe@I@m{C773?mctb!$Z+OWLB>e$!JOA$7+uai7{l#ICOyZ;sk=&zRk4J`!O{{ z&xC1m`4eWU`r#TGyn15Lrqe7CHB}8xg7h=i=9u_;Qg?t2p-g)4uXkyiSKc_D`$Krn zEuR2T%yI+X5nl_NNxu-%bJHhlXoUg?a`uIvHJT#k!XpxUqkY!IgD?x{H*^&#W*&A` z{+kSwB5WOmi~Z4s2>WL;)UaWV=7PsvC$+F-NgYQ}vX(<$M){^;*((ff^Au?Xe3pg) z3|1LT=Su3_8KLSXAhS<)lC@H=`kwtV8W04PKYav`MyCG;-Ne{(n2;~F z10yp3V~*!Yb#qv=PpmPZW^4|%-VUU$C9P>yvcxq2F3Xg8z4L8n&l+_gX~bVLW>9>~ z0`d1*H&=mtl|yZNps_VnxVQ@b6%@COQWE0bCr@39Q;4Ff5$cr)fyoU!Qv2l8(n_@ahW{55Vc7JRig1mcbw9!L!z{5K&O?73u8Jz? zSf&ik3Q4jwU0IWQZ__6h=-x)?xk@~NM&6C(r%3IS`exRDqOVwqfP)9lq3rGx4nLZa ze`8d;J8TU;4v%D{sGLYQ^<*3bpoAeS#Vg2}ouf6N#E()9!rH#Ts;r45HwIFSx5i2J zdquN)91co@UnB@8Skul~19nK0AlXm<9&A6;0ZJ+Jp;)z(gWMlciWA^l9QI!WTf<0t zVy!Z+bZkMCp$zu*oordAn5K&=yPwtrSPe<@!x|o%I#~ouOD~v5>m**JqybUSMKZwq zsx5uDT%@EtV6*ZR6{_?`1m_2gV&Mk4*3B_~_K#fJ7tIGq^zMnsaZ?zlu72=B0Ybaw zlpT^1?seMMeZ@A&)+-Gi#vi$L$JYmnRTL-nn1nwPn;fMK&GuRn_pQf1)bafkNgC@+ zUNg>ZB2>*)Pf95MMI+y=I8o3cHD5w~Kc21FEpa2k>V0@;X0snr!~bEwrMB#E7IPI#R@ z{RV4s)UugcKNSXaYV;?)w=VM{{UJfxxFsbv0KY(t(N492YO0vB+Bt<25{Yj`c8J6` zQKwjlMfOCP?qn{$$(7{z7yz%;|^vq0w&tpoPWtYoXj!p{?ZM zS)^-L-;RbC{|`NL|BCnb^qE!}Ea~eT?R81NL!B}|;2`F2i2v&&3M_Zq%v-@0tHJc0pyE?2-YZumb@`^kh5#A! z=h!EJ{$TM(de;RDR4EDuNoY!$1!{8V2-RcUOC(*d=_fYF;nOwUZZeLK1;3Azs*6ZcM8<+v#_43QUIEY2;Tk$drJNh3UC_L3;V!SAgpQk3U z&?ZsNN3r~V6zK;M+$F+=ib}%vy(()&3<;-yO#Hsjd&92>9|;mov7GtP6E7$y_^(Vw^%E5jl01j|Vx@KC@jP@j6{bb(JFA_VxEq%C%ku|RmT3A+?x<|Yak z#9Ga(2-m)=qqe}b^+X6;@IfDb8}kzubWAG$UKOO8a(|wB6XWvqFOlC607IVU7it`J zyx6$EgC9Z9afDxEZTLVCmD(>b)cez!+$4onPfQx_he~}OgikD)?mRK$cZRx5WF~-1 z;6^>4>ZqrHC(s9n)JY!`2^I)WCe zxxKKnEh1>XihJojs_WY;x`BgVrq^Sxzxi`@^S``vI#4EKwGV=KuOwe`2VyQFo#Fh! zApHB^0)Q=OXSoB2J6dZk(NYWG@!VNcoxlATU;k4^lZ}%f*RA+5N(+vybz<5lLwLqa z41Wkktn@lMn@7GCBmM3C%T*vAC*twu>tM?7f3DOpfOke)Bro@0(DT)&-x}020J}V8 z`Fv?WypFvbP%rBU{!sj&33=kXx~q1&s+43;=ji z>2;l|=K-ik?6MKB+U;_a`ik~#!%NlPn}2bm|Dj9%dAY#mW4UPy^6OM=8BNJz<$M#d zSazqBf`e3DRCx7P*}%Z0ugi4$(gK=O`X4zc3Gk`-k5+4xCnv{CCq7YeLfKf%V;SHh z5Eb7h&eiav5fK+>L2u1~X`0iRh!~LR z1WmygrVv{MQGZTM_{ZSMK0LiaWQd!LF29f|o@d57(`y0?eq zo_{p`m>+6{+Qt=EDwn-lkh-`#M9M_u6o|$utb@CX3C3M#-K|4oPxEn9Qy?v)Nv$+R zM$$_9u&x;;7Oos3IY;U^;!r1%ZsZft7-%r|H86lF!pnGfH>dJ6GXVRVHZxPSnq2l$ zn8^QATyfNV&y)@&bk)QPN!p#A``1mh_iw|B(LNZMZ!ps0B5L%GBY$ss&COxfp3#?| zCVM}+c1_*?%CEEqLJ$Ad{(miP<%xs&olUk+qE+1VjYWMnf&aF@sF% zf^q~l#LC4GIr;A~7X2I{g0!$3h$i14S_J{X%=GxN9q7XZ78Uh&jMAC{({#3-nO}N? z9&@3-jP-=}tH{yF${yc;ZfV@=!JngRkkpGjBLfbt^M^y#E(X%Ci4V{TzwVw1VQ3FV zPM{v%i1J8^jL>?iCSABlk5@I|X9e@=em;Rx9MnDLIx_@1GXLi_NXsSnd4o=hwb1STAa^meW^~(a$((o z2!-ew_>$uCa;8iL?BQ-%$6&sE7QBy7NBgsKfW#N^;o_FvyW}*<%UP9ExNKr*QVy&y zn#e+Ly;xG3G02nyH9DMj?sjaw!3K#*E@{rfy~j!Je&9aba~S-=FO0#<2Qq~oj`h7g z0NG-bMkF?7oApa#VahAYH*2M!f~}oG(D~IZJG#EkxV|08<=(2f(g_^@_P2s%l7%;< zLbinXCknznw;vX}wH>L`Gs*d1tGICX%Kg zVEXXqyy5-g=g)7|C=$BjF;$P~2rBmnkd80xL=#qE8GSArbklq^^Z1O3#IX$UH?9-j zz6F)~MHu%d@;RU;91^a!)6!nt^!Bu~Yfc$C%VBwLKA%jV(UoQPk-i|*Z?+OSeRrJs z$8y#BT@rbnh!%@$Fv~a>#=tgiXZk|dUncSv0Mj3&ntajorGFxfE2g>Z1lNda+Hcg{ z&0$*nV@(I)b;NTa=^ysDb%S>2?YOY)EaUNwBVB_RGVke&{T8osY| z^8X}&U3-hV)-%ftNTz+2B#gkrXkAQj6v#MQ!T$SxVCm*?8S=;gl!#8v`ysKB&w*lm z=KBB~ZRmaqJG}HUJ!g|`zO2;xH51?UQOsZI z>h2Xh@~@PFU)2*6-e_Lyh_T;5+8i|f?5<=%oziqJo1V6IUZ$4(1>9ZaXklgFo1ieE zi8`8zbOCnE+5|VO_qiCJ=Z7{$_T^xbIIqPzO~ zkd=?e(2VVbP-s8vx6v`h7D>H{92#59=Mj<%NpNmC0$IV=l60&0xi=-V%tFW|r08{hYla#<z6iuDf;5aGBRB7|RcU|nBpmdgJl>(utU=LKVPIY&t;c|FLz z@?o;BHDTe1xOU0-`oXnnObLhCxb~mo-QFFno6F%@c>;diu{jnR;O(U;!esy{> zyl%JOdG-5=XJ`Y!;|U#WLFht>r7tmS15WAgT<+2NIg-z+;1j^D`~snO72WO=3K_-J4AgN4BmKw<7S$7wElHkupIm_ zsi>*fbK6<3Ik98GOS=I+M_c8*z$wR$fBR`*VWXWB-_={pynUfmuL2i!{=wdizfpD| zqBg*ev3fgm#;)1Fxji^BnSUARt=;dus|{#K8GOH1jxkt#O7eX|sKSBG6q{^cCoBRj z{CJM(_mz{MT~ljwPJf$A_58hPpngYd$^*)USsi)geeV3s3PbMAoMHKfWT{AaoZ$N* zcEa)>hA`=w>7Twk2l zb9ZHT5>&Jy^jbeDcvh?>@4nqRI_2Cs2NZMn^G^Zw(e}wIMt!gmo1>xpG56h5hN#KP zg5jgtmpVVfA~zH$H2G9YqFIR$&%Frz)<|+M&5GTnP0r}L-2p5qo&MV`+!ExhoLo3s z_l835IPIIS;X=hb9SWwHM`g(AbYpL+%Oy9`;bIQWp}Xb43{jc9Y)b8aywB}QqTANV z4~^S$e9!I2rX}Vh9?tTj*C`UmBgZcOzV^%^Oeej8{zJ9HkCSZ8ZD;ioXc5(?`8;|k ze+)VDzA_g2@LX$h#?#35*!F?6OrU8g_S7Z5eO`chYRMMAq1Ead?;6u0f;(+0P{)^q z*?z`Bt{1Y2|I>W;jR6(Qr-`Wg>t}vP=dQ|2F4|^fOOXBT`&$BAXTSEeI79t=zsL5B z8H)FR_vVk!Bf~p|7OdRMf85wBCgNB_^nS>;;S0xM?a1yektN8Xrd#_zHVDE~>Rh5( z;`j9OH}q3P>*u4t&+2u=0Fr)!b?Se3gc^9{NoZ-SR~L8y;4K#Yv-fx)|9@9Vj`K3_ z4X?D;>wm9T0PY`uY0ljDu|?7o_G^IWI(R*bmf3Cc{A74G)$6$9Kvj6Zed#pIpv&tT z_u=6R#=7*_KIG5O|I2S5Z_d^khO&3L&g>lH*fnVWTP{9{bHWimJ8bRVI2Cc^{?BI(f;-I)~tJh1zIt`8iKsr`IwI7oGq8N zcY5op>8ncY3!&R*Em8d(HK9MfD^z&JGTuZRZHMPTX2Yw}Plp#hUR$3=Q2AHn zVxOnx6r92WCQ8RVOCEzdpZ1fFpH|F&$cdlYo9*~71ZFKTD$eO(bz9BaAbslPjj(?GrnwBzq(fAv|9ymjLd&@cT2!F z<5Hcx*QIlER`s*&d{kHdbr~r%0!pu$@l^Y&+g3WXT=tImAanKrMPKTpdHv4J$ggVa z$KJSwHzn5xh~L3qS?inbdP-llk?gS66?gTwJJER0h2QG$eGr%;V$h^XcsST}Doe-_`-nVo)X)5xM`hB!Gt-AJTj+S}r=RuI}QV=`Q|yprHh`^(+ysjFZ$CZN6N z_B{}qr-(K!f~(_9I1H%TVFbm5&WP-#qvKj0w>&|YPQ~Du=t6wXFr%ik+JM}&cs9IL zTJCD+H@C^wLAu0-5M*l|ZiA%-9$ogIk2Q>B4+Hntcs9(j_l);!D% z_FCPGry|rLyuMFH&0*RP!Vh&Vj~3h=buLGuaKG7P$Pah##>(bLtWSkB?@_AT-9OyB z=OqrOEF@Ono)co__tm*=jIyyGkAQ5BH9qi85q;NHf*jylc-)RmvoHRft6zA@bCdb-@!X^t zh}o<@C136*Jmik!s)`TV1#SfS>zLyTTNLYs`YI>`b;Ro85vqD=kF+5DZzh|^O1^N^ zyVQQF)+KTvzHS^iB#G~xUWzq3H(UTC%ig7g9iJtK`3$`==)KMVXTy5vKu+H*HlsZP zC)~mYcAZedePSLDi|tCYP}Duw)5Q13N<1LBtV}kdk1lx|rK z1A4973*2sKfRj)O5}8di^0!G^UD*;d2AL%&J8^016M65QPS-kq=@Erfa-!{Im9?Y` z`OwvuWVYXSpq^D5p4@fDK~UbRU*%nzQL#i~k1CP2h_Jd48|o{44JJzOHkf>zwyF z*ZZ8Syh=e@_jD+Z3tI{&zIdY);vQ6}PS-os3XPtG=@XTG^!80Em4m%4l58=DBJx5C z)o;be(QZ8g)-NXc8NN1^;Rr#?0bIU3C%gqJ57`3FYJM7i2)-##WSH3VQ~b7BF+ zv4s~4SqTD7UVSkq1s1T7{ccwMdw;~7r8sS{d@D+{Jz(Z}+F zGxBq}t0t>i4R8flLU5K6?Bl2jgTs(}$n{Zg2=hC~yDeZqz@ED%kvO+EX@`0F`Ey`C zghy?$eIPqLEYQ6IZj>3h^K?}fMLFe#c8^$NzY!<}&?I}vF)>zOY*dK;T0SUcnFa$5 zen6=;6jPo=ihGOkVvlJK!{1U~`0W=9vfZhTSvILB47VI{`WsJ_i$@-&-*%D(_C%Oy zE|Ps5#wNp8PidF#67-lw(i}h83pn{iJ{lM_bW&ktMLHIE(_@0Q?GZjloQOiP=-q_0 z%WHv5>=nf2TKA-ClSRKVOUJb3n)T&UqhV-;$nFUbAL&3ZD+tTY2N({ap*c?Fqp_RsNkGP(^X=16fJk_A$yxz&&Yq_R=samq*pA_bNBRO2A6S#>nTzex6ir{ zmP3o-M}u8)GY%r-rfivX>Rrc+n`0i@WJi`L*&M@-8yc13Hx6D&Bcz>5rj2uKy~sXZ zW;BghUNnK4jB=cwSAJMyD{UKLC|?&t3zsJ=6LKwzU@nuoIyQ@3PZj@z+@Y|{GI%>( zu*UDT5@}ej?!-*MZ5vnbW!s zn|k8+F%Zsv-KaGY%TH3mYm@tR9rYGfrO~Kq{giC?#M5XP0)EN8Sp9ZEtT}3t2S3Nb zgPKN6!4DoKYRzaVzIxa4hz%Ls^s-GTl2Yc?DNWDV=wCat zXI>tN9CLjvm#43)-q><3KogsU!m25zmcu#?_iglV0Rc*r?;+#24w@S= zb?@Qo9lkGlM)8lUsteV7q?2~=G>BZ7`sc8sZZz(B%^jJZos5AvN+c$%eArPfEr}Z4GQ`x=v^(?l#6c=$VbO}GF z;P0T1PtK~WrXdo+7RW>EeLdWmy9E+x{qdvabA!8f23re4V0r2vEi7VzYz|Xx2W$8f z<(fIDs50~5rC!r7mR2ysI33-K&9jZQUrBt}e4xg9Fba1V@BlB%X=1vS z;Ko9K8a!>H9V{zP3^rbE*jR_?zpMjFb+|f&s{S5j<2!}WZbeLIq?YJ7TO*$#YT1Hd>QnP2(o zZdG;cZl-G4q@-83VBB{;-I;PR^tn+YAT(Ns~1J3UuJ@ZRS+ ze$@nP-DIvM_|u@3B8qV(%Jj4{{J8+kK$p_1Fj5`jDrIOz`_^Jcq;F^loAvI32(@bv zpJi+G`35-8Zl6;C&C_vw)pMN;x5-l{hovEaZUc>Pio5@;S0)yY>la5FeqRw!0VX#T z&+*uqjPf0uE-5oZ!dDnqA7S}PZ{ZhQ9F4%j7x;sxxb1V?Qm^UWBG2?#cKuRWC=;|6 zA|$-L9a$%!GKZ}znW?A02ue$kP6|Q@VWnx2-`@ zApn!1Cg3u50Sdd+7u(7x{W3rvAHg0ZbmSQgCgA$pgKi9d=~tL;_gC^)O|bV~rqvap zre=Le^T$YW;b^dg1Ekfm$z$jyh}dH;k;noIGEhRz)x$_LMiXhZ z?h^y4M(n2CwPzMtP0vvw5^gT3T$rvQ0eP4PKFzH{a*71AZ5u4X-%mrnp&rg8_dHw0 zP+sF@L&f+>jT8A40;P!1@`Tsy+&*tT0uQ(SC6yZN(AMeJ4i zpl|Pq*OrBypt1L_v8?)M69c6~l7%(=d~?;vWAN424+k|44-F)Q9RQaf$I^#qsEjIZ z2~}?vPHsvkCy$D$|^qab*Pi?Ld0^+33d~rMVM;2;#Eb1^I6oxLT^n;VZ((2*zT}OMjF7^Zb4LUZyd*6B3pu(K!ZAZynt(7pmbRPiDVb9qS&9}<2@g_~;LMz(J1SL1pJD|52 zv*2E@f(se8z%#D#vO4_B4RD{;(hcy968)?kO*7pg>~)pa%;>e3hJ7!`RFxJ-pC{{i z3M?nNM7Ky>IWIW;$rS8E(!{s*ehw4hnx`@Xo_?;NC==h7)jS`kYOdl;mOX&w&i(Up zJF3u?IE~2PY+sU%zHr!M_S770`;Yaz7UEPJJ+#ja87s|o*IzjugbQ~fIqFLfSeBoI z!*BNvCsv#A8xCH`Eg!ER&?nO7`yX4-l&@pR6lO8yH8b;v)F{2T9n42hLmlt&UgCBE zblqjrXc?dgGBgh*^;g%y^GAiP4#=T>(qh}=x^OSWcvU16B9py40$n`oTewC`EztuD zMDunOz$35<1EW$*fmH5g+y`XW~yKUH#c!#5wl|PtR$-%B!<*fOdzNt@(>nd>r(tXDDJjH+aAX^T ztJGzCS2f^co4GVqOe#|nXK#r}S6PdmWdR`;^&p*^)LC;OPa>^rVe`P@eiNoMgrXt4Zwy zv+QweeGKJ{U`aZ?L%Eu~P`&VacrUCUxsaVQKrhP}@JhYHdLMn7NNSmD9h$sjeEWcN z(2X!+=ct+#t^et3US1a-=hBzI6n@p}@~4UU*G(toQ#rrx(dDN$-;Qlvl;eG9?dFb_yY0Kz@%5^L=9-A zfa&I-cOb#Jd8h7+qwO(KAAi`uk=xSsc_}iI!67xsm#Y5oJoQps$^^}Sr=78r#^SoN ziwbOD^(*yL@46z*et&clzoi#C7eN|FrV>qp2ulM+$g)Klqll`o2$X~KhF&2 zrE?kuSyq{J*}KII@8h|LwCTI)|nIf_wix-Xir|a0}N!!VNuo+s!;QdpLfv zz=5{pbfJ@~pMo!MSe_cS@6>F4t+#MezTl21u4v&{3)SKp(NGvrS7})CL~Jantrfls zc@9pJ9#9``jA*dIW`L<{!7jK7+K;Z?U)Y%=9P-N&@!Ko>A=X&hdgYMkPTENZ$G?SB z`UBMyp>7Jk9bbC_kNBZ^_(1O@&~9e)p{javW0i{3r1$z9q;a3)i_$W6byGs$8W^Sr zN{Dp*@>Lyu_Wmot!FuS{T-@eDBRq*C04dXd`dSk$J^f6b%(AU-wxU^wgF_V2F$zr&&Nop|JQ2+6ZIS1@#)V315p zaC8`ntW&&Z?pTQ!n*jxDK6hM^KfoK}HSx?lHFGZiI|SM``5SNq!oAiC8~q`;OD9}l zDMdIqD4jOMZMQ3Rv>A_YSL{ro5-%;SM9n6(U07VbSjKP^hSEBO+svtA&%PJ~2*dBI zkNwk}ll<|>u27dwW7d=@yH~5`WYf5znb7E13h5SUlj}yTe0MFkh*#pn zNx<~3hhVe4uk0^Q`fbbqE@Or(W^~ahdE(xHo?j8*fbd9X={u8-tJ&37>w%@rD?2-= zQfeld#11UWrk>#+{UO@~!pY@c1G{HxqE5nZkEY>G7@qsNBzVPgeYp?+a9J*~V+E8R z*a=ADVPET^ukc7K>R(}kJLlc6HuZDb7GNJMv7Ti&2jlJ$WdGpJ+(K)O)#BSy?EL5iN{038R4Axt>+)gih;fEF{&mzWJ2a@wkGfxqN zFdm^edQUhcDJh!MvkW+yK3Ahf(?MC3Ylv%Fe?LBLMp(1k{n#qzGuW1Y_*Fjzih??l zAt@OyR!q_rBK%VFXYlH!r;lrn1L5o5Vk&Sr{pQr~aLz`53GctGF4)6;YKBL8YFKz2 zYcqBve)ji96_j?D^kxc~t}UETR47_dW_OaTLpg8A-S3sy`P&g;$b4#Z?+GX#*^-gWQIP{q0kQQvNMt#{ zO7I^fu8rDH@U8cMk`wPvC*lq!V%k+qR-F>Et^HX3@Iv5?@seo%{(4kkqs4A|%Od2n zOla5?Y0RDKoE8HOPxGQZdYw)})+JcWu}2}*8I*mXbsOF5uQpLy1q8f3OwTy%_GG(Z zW~}50CG16Cs;jqKRB&`LhF&ojYyU2@40OLQ@|kEY3Eo5zVFrvm`zP?eeASh zcmKX1*8z;*6U2OqQ)Kk&9Zan~`r67`?MT_p5?pRGeEzj&+Ili#37aIs0)Ik|(HiL9 zB|j*BSIi#^3X~6;8=SNXyGO@1XY9Y0+R`pL=U6!uwsPl}l_z(!b3d>ao*tHjn*qRB z;wzN;&6FJVR%$8>6z4)2bKktD72B@JFLPpo$J+a`3soiE9O-xdns>gmp}qA=M}7=5 z2ls(u*xiS<)1LHl%X5yTO&6x%g5M>2pe0U7!$G2hMBh~_ut1cd!t$iWUQj6y-vpw~ zHF*IG%(*4y{nAvTozQn>dwesJ-7+|-Su`;279rENh&$=sku|S}KBLwnR{F*G_+Kqc zVpX*SaF6wK@h9zJ?<)KD<*?_A3Tk-nNL z)IjR&HmFb1+u@F6&C!xIpL^>!Q7Bf@=Z+A69d?FIeL$Maem}z~Nq3fpUNvtu$0nS3 z->FQmJbHf(U>ya=RvMt^c<)cF-~R}NcCXhQ6IM;Zd4l74?T8ZFyh_9&)@lana6NY~ zv^SiwJC^MS5KtPGbgqHlec422@X+=eta?x24DV6(5HKLv&6({Z+$ZU*Xg&QJK|CK- zqNAN6R;jN$d%HTw>gNbwP8P~clqHL#te9N^kZT4JKgnrYJ_v@!YeyZs@i7*BW{~+} z-W;5~0PuKxM2>&#{dj?slfpb2&N%;|zulgZ#{)+Fky#af6tQ$v8)19dD(*FH7__Rq zM4QwrY*SBbJ1sY?I9VNZKG}V5xf;T@M=!MGqeg+-=zA~Q*FS6~f znW!q8EAOqy46ZlVt3W2NOG z%O0_Lr62xc=naRYn(T^R`T$u=j@RCy z*$0}?xU;Ta$WIQNz2|wO9faySntz{$+d=eWFRtEfv_(UP2$}lB7Ufns^Nuu^B_f_L zD04^uoSFEjbCcjT@Eg+E+3`Q2X@y|+bTZm-EhadaWD9oJp8EAFH3z=78_&1S|5s1@ zYdJQyqVbeY$Tm05GDmD)HFd0TGo1yy6xB#IVoU3XH!`RbTHvX)>%aWRH@kHv9&J#1 z+#ll-YmOWI$A>iAT#Aza{^4e9kJu#&wo~GY0^ID;f7gJd7o7Ft6mbmS-U-|?y5TJ;p0noIt%jl{B9Lml`l zJ}?|oi>q*6umv_Bnc1u67MU_|Lf(%J@{I@8TO4rAU1d3JvJ=xLRIH4`u#^!K$GlkW z3@51z>`HY**EUo<_t#yW0O;Ig1&tSz33X9F)*+3SK$=-;9jX z!?cjx&Cl>eRq@BqOa7g}SWJOaQC7h-nSTArB?7Ghkzaz09!?C0Y_*)HtiZA}3oG?) z5=Mi8_=6=~Y7oj*v**3gE-&H#MrHtVHmxA4(h-D|hSLXCF%{_3TD=<0Mmoq3;%dC1 zt@N`QhzUj&V+g!Y>&C!tq)#MTR0xT-)Fg0`9)Bx2KN8=%Seq|piJo!bZCq|rkmo? z#C^1;l+lh6`>#kFoZEUjPUK!@Ie1U+-9n8>$dkDs2OmhR9`8-tyMdwtKI(hT;#NzF z*JKYUKcio%_i>T+_*KNb^bK$DVx~%3g?D+gpzRBREnQ1_lnRxgr{%1MW|LY1vTBPd zBcMI7Mo+T2QWj+-&8refs*6#{R+8rrj#`4}T_a)2Oo~8=?^xVUr-Hv7w8iWZj)SCl9&ba9DO*gijK7|f=8p7E9G$1z`p?&5AQ|BRYm`E7JX3YzT zSap3bNSw`6zvMlozPW2H*L$vi?Es#1)>-z^sL#E()s)u(t0Vk;s1tOdAI8fb_bYZ$ zia_(B4&ewfP%swY@#NR}%Ua?ltaXhm><5&tiyiglXtnEkM`dsG{~c+C1A9 zRahricYW+;noyDT6m=4jIFrn_vR7Xb+#^UN=UzVjlQ%%PppCk1ZZK#;O?JH5u-)7k zq)htYiyyXDCU;MPRkg`%y^3>3x3(;uJz^!D>$$-#Ib)x(e`D2{$!IXI9~Hn0viknw z*zo@uKY(qt%N&j$rF@7-4HJm^Tz1g?6`zDvP4B&*>AG{3bA|V|Hg;&0Bn0J`GjL@w z;+fbF@lDr5$MS^+H3!O;lEe^%miF0$g=Hf47PlNdq}3*P853ANjqtyFo0Y|y?;Rd1 z$1b`{;3E&9|2R4tsn#c3%p3!+dt#gf&$(94$}_4v)nKZ+gApM==c)f7q+(EGaePKMPyOu{k5`NN_kt}uK+>(Wph5ad zi@t+m>wBnzj0<9*GgMPBEao|DQP@|qA z#hyTm1g7W1d`11}DsNOHwl3@oud?kme~&&>5iQFGfs^rI`*Np*ah(duDc%Kbm-a*M8wt}GBr?F0hx^LUP6N8ue zX*)7M7r9*8DLB?KHd!UR!ygxXc(*lDD%k6S< zD#z#KM;9i;L)d`}ImKsRQL0p*L5&lSylA|C+9#CG35P3u>9o#|}4 z_7IXp^9XBb%Nle7S)?9iiC54_CFs)uHPa)|Z>%HH3bP$unFot8-BWE=2!XAoc_yY} zpc2M9dAmTJY)kAUL%Fvm>0klw9GhA5J)0bwmIzTT%QP^fHfBzY6lwcRZvVpmG0P(l zIF)xKTrT?zM99UI_Zmw-S^^~1LXhvw>oh-t;K#~g%1I-Cy*WU1Nf=o_fZ)#i!3r!| z7O5}0_L>1hKVruo*7g*5*tNM^5OgV0T=xZXBc|Sr0#k`T^u7tM#BN8K+sUg0uMDAh z>w*Gb{l%eYHA6nO&b-+>q@QauB%a2$eVo}{j>k`wZBS+^Fk=8!k_%8zX_BDSJ$%*Mm*?(Sfs@Ei2ay*s(rHsc^>PX2 zha%ni$oq9_81au*>K`EQ`I(ri$)q+1*uPv(+WQ0twcF(cb3|y^!6DM}`o` z$j+bfu`U>=r6h|JKmy9A%mAMxWQk~KymN!ruf=;M8FpcFQv}bZm_`tl_KZ7#-^CqM zTwxy#V3V6%2X9w5(*+LOpL?mn{dk|^nBFPS6#v8eB}A#}TI1klCyfT!u8R{_t=#Rh z>Nth0R?RDj>PB~}FOWn)wcDpHJAeu0+T_9#%J9jB8({ak!JpULWLP%gq}0Pf29JBa zd({SYF)t}kWVZlzu{Pn743pmJ#?i1;Np@0{_(?)a{g{QIV9xiddzi(~!V%N2u+lxS zhmEr)exJ&~hg%NWy?Xs+P)sUJ<(X|bLo%lI_T?g;p>lYQPA0Egt) zS6k@Nsfm_oL6ER?8@Upz&^a^_h{$BUe!SlBb~ziSWVJXNMKAZK70kbH_1R@`8FT2& z=C~aQvu7OrI@(X5d=%czM=m>J)i=(;!nu-LgoeE9y2h)pjLTM`SwLM|-z6R&M|(3J z2l52m{9-PzW>NcvRy!|?h0eLWNnDinLB+=$uxy{L41e7`2{V!mfXENn#Gf}G&>Iy1 z0ya1*T;6;T_gr3{YJWts`E}D=w&-^15^3!xzEX=UkK4h@T zaA{+rT5~0cQzvS$tG#ZatHn>2DuOds-3*>}P_JUXnR~fOCWGO-$1c^#8#6lml5+Qw z`zDE~5Q*(rAgL`|cHAI|WXIH9djArhJQ~QTIZH(JaV#jzRw)z&40q5i9E4C?&v7Ws zxL^p2Du7sfRYoxWY#Ydbt_*v44jS*rE1*sGmGy}Iuxm4E3A)^L>0Nfy740T;23XUM z*X!yCW_y&s)e=|j9W0Ktw$$e7);Ei5`@>i&vdHG5PAe5CcEQiLRhKMqr(6=2Q32dk z#LWg1m+PQZQ?Kwfx)GCSqpDX*+sOgW$_Lt1LQv~5o+S!1wzXL$i{k8}Jg-(z02niP zfwelV+oFhrMW+~+KjrFQDSsYVEWZ>js+o&3G(UppdwXs(Y1fPP?L`wQS5uM2DroVC zN`r(Izq{TcK+*~|+v3q8s9+cTf{ee@pw!s`H(X48so=D@DhR5;DINrp*WYKp_a1Jyke@vk*o!&wKDi=2 zW{}=rlP6hb^9F)EV+qY{%~*JE zoYR$2%Nr*Q#VK|Xsh3ATC=-^$(ekBC`a_vk`SOoHObc?q`<^w_=Ii*rEsJtjc2ga+ z2FupP&`)Goq%l$-u!9Bg))%Z~wMxG?Y(pK43;IR25?US0WBkOKFHpwY!c+#~snpeL zq3$tq%jc@Kn_mdTdT&%TQ1&qQPtfknoX9ltCxzD&938K%s=F1*jmqyw zYu6uQ$uEj{dL@Ag-ZuRnMVCD+%l(L*366#am~VXFZ<4YC9OUaZ(Y6VoCUk~r|Gu!zIOTV1oOdl`ek&5Z~ z_kkT$(;E;{@@k*6<2BnhwgGf9$Q{o4z%3X8C|rw;KEK{0qH5dbb9N$} z&rN{^Sm)qiw~lTXVzrLxijBTMoeQajX0WtPpM_Ysgs7yg#{tJsgu`i}qd7sxbY}5L z^>pg{z%06x-gBGnFJEkCTgGhazr2U}sW!qNhN_GMWg7-iB;s1?Q9;d<@9NwyQ^ zXsFU<2^0kF=MB)0IcG`zp5L>VevCTD(ZOf6_;^{ZEG@In*D@_%xgXmvkY7A0T{3YWtt=5gZF1=VekDAYSk?IUwhIme@2qTlPzrMdP=2d4zZ0GNpxg4BL{mP=-6)pz)o-#8mylRQb zLKLS$H7Fx`Anp~(ds_n%!W|W_FWp>gj1y<|?9$s)yN3&a?81N|>O^BhfHfuUq0M&Z zO>v3S9yFpn%@ve+)dupA&G7$&U`yvXd9D4?vl(s z*bP)DWD`%;Cife$=d07bXf2p=-R##&vmYT0XrNPNz8kS%z^KfXH~$c)ed@&!H5j~4 zIDv%`bWyYW%v41 zZ=STc5p7Y?h*Qz`jj^8sYB6doFTSAM4eH#?F=_D?4QgvYP+E|q$K1@EkpG5@T@7b< z4i}wEHclX(f8%=r(sDw2Hf~m<+OIp-y78q?GJAkeTVt8OKi?*UR^Ju)fZmp1+=xhLsTNN6+SqYH zi`!!}$8588Lt_R}P^HiabvH2K(~(ef)1h_-u)>?_Asa_gM($%*TI>gyGcK~nduVM! zjgU87<@&vp8K*v=T6bm8SWvz>B&a)rJHKkX>&1|sulKb<;cC)u1=Q)Zoh&`X!rL$n z{Uw5wBUrYee>kfay&M;aqxgtKHPFQ|>?R$Zyt-&qi-rR zUm=~C>&Azc0fIJ?*ZsMQue``fPtu9*y=xzI+*DGdMYCXe711NMe&kpQd;hV8HOey^ zpd;euF&E%>b=Gr+WBa1(OM!fdG7~a1Cx}U>D~E+9tE^?g$2KCm9{DY)ad zRKikh{iKQiWWUMOX_s}hE$8Fn-)K1yLuSsht1=m;Tp0U;9>W1V?>}b}Bx{%DbVCYc zzRb%l8xSU%2+CW>Rt%r3?d6|75yUdQ0nNM(_I3O+WyW|vEF=R$z-p^0BXh*pv*q_^ z>lQT!E0+(Sb?8@8jiX^CEZHbnZ@BFdy=KfB&?0A0W=PyS{##bgvK63QJ2n%aiOUE@ z4|`IanCs!>S3Vd}d}1#yx&&`51^Spn1Ra`tF5EXXZr>|OWn#T$;{@w;N;Qt3!;ZKFaq9XN`CI0V@;(s$@I3&mneV<(zbr zwb0*0?89Ceddc})N9};8CRv{fQ#Sh_dusqrNbGO(wOsH0bu+>ffJd}s{ua>q82!&v z7TCr&z2ziZi?E=FAK1}9$8P1=(JJ$-rUn$3`Qso<dI3evEMA$0e1l3ICzEot*5|kkuBEW?|A{;M4r-2t_Ci(7~jjLk$X7TX_@0*6DMcv z*ggW09Be9xr3l{XlGs`EX*$1%^K($|+mR0-`jv@hd;QK7IqbU49Cj95?lYMyfcsU} z4E%<@scV8-z2S&uGMF?7|eH%_xt*Wb0(%miIV>Wm`gRr@^J zdO*MlBGV{hc7?Liy*~zhTn*HWgK6j1UY#CnljIAc+=tLpk5;u(7;lk{2dv$MiI2OU zWl?TkVEN9BT4?kK4zOa=P^hl6K&mHuvvAC5kA&3T&I*rFm3^^O=P{#zkMtW6ZXI0Z zpD9C{f?vn`u?yzoas7lvv9HQ4iTCP7 zwbG+TP_ZC@!4XyN^bPJ-5k(mUBs-NZ_GNO02=huwe)0ziVsEccqB>BnX!(e)#?QT# zN`hZpmS7AoWXtANrT(? z)Go#1tJS2%G2nPQ#1$wWlsm8m@CI^Y9cD@6;Tee?MURy!;XuoZrgEUjg##QxFKy5j ztW0jft3e6G%eTsah`I9w_fAZ33)cqh-sWX%6=;Gvba1Qa<;>%IRxYU?sdbWK(*t@o zFV+0vx7op%+N+vvAD$n+X4GxkTdpcJdmT@Ngs07y+l131oHS55lqY+(vR=;{-`GQ@ zp@HG+RhhY{pzhR4-6{-x#~a=WaL~Z{>LDI2OgI5D%M|Yyz*$qA9oaTXVQ`owSiG#} z^O!tw{&ZVCfz*9}3zGoQsQz~hPioWuPOkKSFFyJ|YH|OW`2Q$7{(tj|hig7<|Dv}p z`Rf)51DP}5lJ-s+@#=>UZHgCv8G5_k#QS;q+6KX4O$I1|_)|H@VQ;?&aG(*)+enW7 z-oLQR-=#@7O9LG#e4Tht^#8&pU66_DYuY#t@6!Xy#Qs!L@vy4-&@#|1;s=ps!GAvU zkI??nw14)^KgQ4c{AuR~R6m;ag|ob)W#yuBYtN~l&tsn~q@@CcWYmeA+n zVQc5JlYbGNG%MO%2-2gX1a##XZPns}XScsYc*GW>yr{wlje>L{rklFJ@nu8#z-a>gojs#0bwDvB?CI4rpy257Gwdu{^O|o6($+JTpjS+^&&tshA==KK( z3jL|30YJ;8irqOGqwV)T8D+R;XS##R-=1t{pb(k*l6gX_v zGuT8LMe4Ic$aZ?m-Ykl#Ym`mB^Zh$%Ky5Yr4DlheQKbwTqwn9kMVpi1(-ocioyj$ zOl^Rk5Z_K?`Ta_2GnLwfF ztpdd$6HGe!8PNI#tuo`q=hEnGHCJmpNhXkJ9oY>4=ypUPJ| zv9ZybZ1gGOEL>q*PpKf)l+gO~vYF}gIW{VQyDKO_`lu?8ii_VPNrWdf;*Yee?cKSA&*l(s_jc?}8 zrGGZFnn?q;^+qqnuZ`8-rKO`A9B%Ki3m}F1g{fF(e9~Ow_Y_#k-%K7#r})~V`bAaM z85IzSW5RJhmpc{SU&bLjYc>@Q|Kod$4aqq+BC7D>zWGwjghj!`(aOf%4Y=3g!tm9ifsNfCxS7Dm8{g#Q3(hTgOb@iE6}jJ> zhAJPpWL zJ8kvm(|Wcno!yIZEu6vF9}OD5wB=H2@?Xs>1ca^?zAG0oU)R$5~XR=@ONkHQwh?sHUriVw6W?$*CX zWFI%Gp_npg;|^D42)$wjv!-A|hkz5Zxp$cPIuYG)&}LJ0uTYtHUv4t9M73J- zKDMrQ0Je3l-NTV0#`Fiu3~K>0jgmw=IGM957^Ywqty)Uh%J$QD$svI4h1y5kTFrp0Km`2$kWWW}?m<1hYbe0W z{kv`Fg3N{=mDtXr*&j%x*k5y!Q7vyYHvx+KO1fi7`D4IUC}_wSn+}xgeUX(nTBQFc5@q&|LrC>8*YwN(#hY1N-iIpVleslX8WB&N{jx0`#{}V&g~bJx6%JQ zpX)(?5gys|IAp`!{#R?*Ze!^EP5TJp7_c~-jMY5)?;gI|MDmV*>uUml+z!!|GY?e5 zrvGH=r;HSyJYt#;;Ukd;Vm9BeBk(3G_=ib*Ty^_!oB%;yqJ5#;aX$4MO~T=555A3ZB})_C|#W$ zuh#Uv`F)K}!p$OnbLl=uC0HNrjxA^S#^pNwuBjO{$8~>$4!?c(0Nber&{X~n51Z%x z=r^*)wxS4N>G&ITGq2Q(t{88u{CT)pz@OiGe7PQA;n{EebOmna^{1aUG_tD09ca6{ z@lszqfX}hvneWPv5{|iHa>_?yfu98a%TKvBfGlG@0YGpb@aX(aJ5(g%|NUGpu`BtB zO+5|RhtH-qWUeK%ad*bo>0fp8n=-x)@P)ng(?9E<0`9H*(}V7nrt<)R06r&Z5&uQl zPPFOPhRGVaqQ%@*3G@Q`{Wtsk-C~lDn>Ucsn*<;F{%2_pclHkJ$_z%+Ckhkuc=6Z_+{ z&0=Jq*zSbiJ{(-Z`1Mu!=)j+*)2C%zFI&COd)@=+7%%NOZoH_)lb;L}Q6Kx+Q$PzM zftuPqc#Zt02W%V^8+(>)jxP?kMR6b0!>V||}ny#3>OrEeQPaWk+qp6hfRZ-@&tL9&BnX@m=qy~r!Q8~rmP15W2ubP3Hv z!0HZRlMlE3F_qCX4tDyTcv^JTAXuQ>DjI#Tr*Zf+?qnN4o41`PsvdU438+5;kBRO6 z$^MTuiDIo}Q{IcZ$OP?2zDzZ;CseSkvPtI#Ey3>w4_N8H6CslA`gg@^cN3NU3Ews7 zWq0)8!MNm*ryo-D)VEE2NG=3Aq<`HORZac?kuuP#9TgaPuR>y7L4t|p3+jLCa8j0h zz*7M2Q5mKYnPERLRXxRcl_T!vf{1NX>vc`Og!$%d>K_siocjz^*`*zB1#lQ{KmFmJ ziTRc@Wrt~oe5J3OdIQ9gprUG1+$8i`cA;5up|^tIG$#(F8RgZQ=mue?k!&<3efL% zW6wzqjRDQ?uX67t25PJk6*eT3qF3((^l7M;KTP=XymVsza_g}RY+f3(?9L_+=Tn}D z2OWI-sRL*cz^+G=2eU>$m+_amI?*MMgjfMhe~rnw5VIhM8in&1fCu|T`45$^57Frr zyD$bV9VyECzTqAeX!UYiU7AUKt>EZZZGDopzMG}3o!rGih+MtfC#I!<2X4SRTk;nn znuFbAkK_FO^hCPd7#}8v9DA9~2|!Ilrx662lw#xf)W>+Czvw4Y(uoouzhA6{x`wUx z{-+3U*ErTYlf94wS5F*cd&1mK(j6_hS&0CS@Y3kM)za^%pu*-?ENNF%KIl&jzExIv zG{IyN~sidbM!efdOcq3Lgj-f$To^H*;hadk_ z(fPkRm$QE|dxCRyU+w)9#XqefQF+6C?0FUKQsRmHmr6x`bvPTEYLQLZwvBM$amekY zVTtWQsP>kEg0&+4nIh6_QdY>auXpbr<5mC5;=4Xx=b%MdG?D@IhrJ?RAu3z%=V`5c#E%_{;`DymAT_R0pJj12=PksFh9 z{Pmhn;COlm&C2_|?3~^R9XL;`2+UO{oUHp_?Okb9Q%4jYL}S%pt<|vD)~zBK32Q(= z1z9|zL{SL)QUsC`KmtX>qJ~AIHhPdEpdwlHYf6-wMfJM z>NG)aN(f#HPLoCxEz1w|T-)mKfN{fzsUl94utiV8#nD|Ak!BNT_dsN1P^C-AS0W0f z&MI+Q5Z~`^v3x_7!&LY3Z`3deo(-s4!0xJ(t?$r_2;K$DGKOn1w@89=k-*{TQGeq^_hko3w zhRQ(*Tf2zF;5zbZEcVdyxb(Xc31hcqE^zO%RA;3HC)_07rinIjSr{l|iRR_XrH5<-x~d%)9%G|V?oKE-zR z1P>IX*tKq`Hvr2GanQ1H?f6m&uR?5|EpO8i8~SgEi5?&mV7|GcW^2(OpObo4kh^?q zO8}i~ybM`)T$=9pG>&sK;QZ{LX)c|1JXDNDld9z`lw7?R%vYG<^QlY ze0JZ#kxiY8lR9r{FI71j4gOm9i+^XW@y@cA61(?nb?a6H=M73fId8~7C}zz;d6OnO zITu_za)MOzwufz;tQ;I3&DeiMr_F1}OqGDRMY}1q?O~n<%uQ8qAN3h{1e}iMw9o-Q`Mz;LEg<2F{gg&i-dHtw= zLc()N%)R5J=0xbitSMnll1c!+Ds#Hsi&G*D4jxjAgOEKxF-tzfziz-cjeDg}30Zy| zY=^WG7GlVNJ;uo-GS{}zuR=(D#$Xlnf7f1ZZp`Ij+^_=xH!B0<2BmF;F02UZZ_N*Q zUoOkP^mujW+Je23E1rpUnT}XL0JzWv=cclm(ZSzuB#h8`w=8bws^UVN-gXKs(RtuxPpQ}4LSpL8K#0aWR&_~{kEOT3 z$~bONcA3af1TPwE!i^rnuC}M41|Y!?YE}LxELY$H=CYjvAAywyLJCe_-)`3c(PCx# zX|*-DjMifT6 zlG3;($XHWhi=VQV8+{CSDx)BYU_*D}EPID`*4nRZ=R?^t7brWtP7_EZOu>7Dk=0n* z5U3QR%Rrw4%L{7@b=c#U9Y!kj)FNTDzovx8S>B3~$r0)y!Du!pvHw;%@0_VJcL5W- zy_&98QZTw~E{+Fyqh2+*K7$p*3l;q7$7ugqxaxzE$wemETRvP0Nr_(NtUX68mFRz{{)9%g1X=2RPV zbFztvjfsiV67j-m3{lac;f#cTW}t4KD+C6Ezgmb3j|%%NE;x$)&pf-`$uZa{xHxZj J5;}a6`X{u|{Y?M> From a5e705049d481084aa05d1a0074e106054df38d8 Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Wed, 19 Jul 2023 16:01:00 -0400 Subject: [PATCH 03/48] created interfaces/abstract classes --- .../com/github/zipcodewilmington/Casino.java | 32 +++---- .../zipcodewilmington/MainApplication.java | 4 +- .../casino/CasinoAccount.java | 41 +++++++++ .../casino/CasinoAccountManager.java | 92 ++++++++++++------- .../casino/GameInterface.java | 23 ++--- .../zipcodewilmington/casino/Player.java | 19 ++++ .../casino/PlayerInterface.java | 10 -- .../ApplicationRunnerTest.java | 22 ++--- 8 files changed, 156 insertions(+), 87 deletions(-) create mode 100644 src/main/java/com/github/zipcodewilmington/casino/Player.java diff --git a/src/main/java/com/github/zipcodewilmington/Casino.java b/src/main/java/com/github/zipcodewilmington/Casino.java index 5eae9ac0..ac200bcd 100644 --- a/src/main/java/com/github/zipcodewilmington/Casino.java +++ b/src/main/java/com/github/zipcodewilmington/Casino.java @@ -10,15 +10,17 @@ import com.github.zipcodewilmington.casino.games.slots.SlotsPlayer; import com.github.zipcodewilmington.utils.AnsiColor; import com.github.zipcodewilmington.utils.IOConsole; +import java.io.IOException; + +import java.io.IOException; /** * Created by leon on 7/21/2020. */ -public class Casino implements Runnable { +public class Casino { private final IOConsole console = new IOConsole(AnsiColor.BLUE); - @Override - public void run() { + public void run() throws IOException{ String arcadeDashBoardInput; CasinoAccountManager casinoAccountManager = new CasinoAccountManager(); do { @@ -55,25 +57,17 @@ public void run() { } private String getArcadeDashboardInput() { - return console.getStringInput(new StringBuilder() - .append("Welcome to the Arcade Dashboard!") - .append("\nFrom here, you can select any of the following options:") - .append("\n\t[ create-account ], [ select-game ]") - .toString()); + return console.getStringInput( + "Welcome to the Trillium Casino! \n\n" + + "Select an option: \n" + + "[CREATE NEW ACCOUNT] [SELECT GAME] [CASHIER] [EXIT]"); } private String getGameSelectionInput() { - return console.getStringInput(new StringBuilder() - .append("Welcome to the Game Selection Dashboard!") - .append("\nFrom here, you can select any of the following options:") - .append("\n\t[ SLOTS ], [ NUMBERGUESS ]") - .toString()); + return console.getStringInput( + "Select any of the following games: \n" + + "[SLOTS] [ROULETTE] [COIN FLIP] [NUMBER GUESS] [21] [ROCK PAPER SCISSORS]"); } - private void play(Object gameObject, Object playerObject) { - GameInterface game = (GameInterface)gameObject; - PlayerInterface player = (PlayerInterface)playerObject; - game.add(player); - game.run(); - } + } diff --git a/src/main/java/com/github/zipcodewilmington/MainApplication.java b/src/main/java/com/github/zipcodewilmington/MainApplication.java index 508787a8..24daa840 100644 --- a/src/main/java/com/github/zipcodewilmington/MainApplication.java +++ b/src/main/java/com/github/zipcodewilmington/MainApplication.java @@ -1,7 +1,9 @@ package com.github.zipcodewilmington; +import java.io.IOException; + public class MainApplication { - public static void main(String[] args) { + public static void main(String[] args) throws IOException { new Casino().run(); } } diff --git a/src/main/java/com/github/zipcodewilmington/casino/CasinoAccount.java b/src/main/java/com/github/zipcodewilmington/casino/CasinoAccount.java index 654c749b..8fa564ea 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/CasinoAccount.java +++ b/src/main/java/com/github/zipcodewilmington/casino/CasinoAccount.java @@ -6,4 +6,45 @@ * The `ArcadeAccount` is used to log into the system to select a `Game` to play. */ public class CasinoAccount { + + private String userName; + private String password; + private int balance; + + public CasinoAccount(String userName, String password, int balance) { + this.userName = userName; + this.password = password; + this.balance = balance; + } + + public String getUserName() { + return userName; + } + + public String getPassword() { + return password; + } + + public int getBalance() { + return balance; + } + + public void setBalance(int balance) { + this.balance = balance; + } + + public void addBalance(int amount) { + this.balance = balance + amount; + } + + public void withdrawBalance(int amount) { + this.balance = balance - amount; + } + + public boolean checkBalance(int amount) { + if(this.balance >= amount) { + return true; + } + return false; + } } diff --git a/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java b/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java index 2d09ec2a..1df5607a 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java +++ b/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java @@ -1,46 +1,74 @@ package com.github.zipcodewilmington.casino; + +import java.io.BufferedReader; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.HashMap; +import java.util.Map; + + /** * Created by leon on 7/21/2020. * `ArcadeAccountManager` stores, manages, and retrieves `ArcadeAccount` objects * it is advised that every instruction in this class is logged */ public class CasinoAccountManager { - /** - * @param accountName name of account to be returned - * @param accountPassword password of account to be returned - * @return `ArcadeAccount` with specified `accountName` and `accountPassword` - */ - public CasinoAccount getAccount(String accountName, String accountPassword) { - String currentMethodName = new Object(){}.getClass().getEnclosingMethod().getName(); - String currentClassName = getClass().getName(); - String errorMessage = "Method with name [ %s ], defined in class with name [ %s ] has not yet been implemented"; - throw new RuntimeException(String.format(errorMessage, currentMethodName, currentClassName)); + + private HashMap accounts; + private Path file = Paths.get("accounts.txt"); //creates object used to locate file in file system + + public CasinoAccountManager() throws IOException { + this.accounts = new HashMap<>(); // hashmap containing username as key, and account info as value + BufferedReader reader = Files.newBufferedReader(this.file); //BufferReader to read file + String line; // used to store line when reading through file + while ((line = reader.readLine()) != null) { //while there is a line for BufferReader to read + String[] accountInfo = line.split(" "); //split words at whitespace + // create new user account and add information + CasinoAccount account = new CasinoAccount(accountInfo[0], accountInfo[1], Integer.parseInt(accountInfo[2])); //returns an integer given a string representation + this.accounts.put(account.getUserName(), account); //store username account info into accounts hashmap + } + + } + + public CasinoAccount getAccount(String username, String password) { + if (this.accounts.containsKey(username)) { //check if username key exists in the accounts hashmap + CasinoAccount account = this.accounts.get(username); // if it exists, get the account + if (account.getPassword().equals(password)) { + return account; // return account if the given password equals the password associated with the username key + } + } + return null; // else return null } - /** - * logs & creates a new `ArcadeAccount` - * - * @param accountName name of account to be created - * @param accountPassword password of account to be created - * @return new instance of `ArcadeAccount` with specified `accountName` and `accountPassword` - */ - public CasinoAccount createAccount(String accountName, String accountPassword) { - String currentMethodName = new Object(){}.getClass().getEnclosingMethod().getName(); - String currentClassName = getClass().getName(); - String errorMessage = "Method with name [ %s ], defined in class with name [ %s ] has not yet been implemented"; - throw new RuntimeException(String.format(errorMessage, currentMethodName, currentClassName)); + public CasinoAccount createAccount(String username, String password) { + if (this.accounts.containsKey(username)) { // if username already exists in accounts, return null + return null; + } else { + CasinoAccount newAccount = new CasinoAccount(username, password, 500); + this.accounts.put(username, newAccount); //store username as key and the entire new account as value in accounts hashmap + return newAccount; // else if account doesn't exist, return newly created account + } } - /** - * logs & registers a new `ArcadeAccount` to `this.getArcadeAccountList()` - * - * @param casinoAccount the arcadeAccount to be added to `this.getArcadeAccountList()` - */ - public void registerAccount(CasinoAccount casinoAccount) { - String currentMethodName = new Object(){}.getClass().getEnclosingMethod().getName(); - String currentClassName = getClass().getName(); - String errorMessage = "Method with name [ %s ], defined in class with name [ %s ] has not yet been implemented"; - throw new RuntimeException(String.format(errorMessage, currentMethodName, currentClassName)); + public void registerAccount(CasinoAccount account) { + this.accounts.put(account.getUserName(), account); // add new account with username as key to the accounts hashmap } + + public void updateAccounts() throws IOException { + String info = ""; // adding updated balance info to existing account + for(HashMap.Entry entry : this.accounts.entrySet()) { //this is a enhanced for loop + //update each account in accounts with current balance information and store in "info" + info += entry.getValue().getUserName() + " " + entry.getValue().getPassword() + " " + entry.getValue().getBalance() + "\n"; + } + byte[] infoToAdd = info.getBytes(); //create byte array and store string "info" as bytes + Files.write(this.file, infoToAdd); //add infoToAdd to the file accounts.txt + } + } + + + + diff --git a/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java b/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java index 9873f1ed..6cc97b48 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java +++ b/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java @@ -4,20 +4,15 @@ * Created by leon on 7/21/2020. */ public interface GameInterface extends Runnable { - /** - * adds a player to the game - * @param player the player to be removed from the game - */ - void add(PlayerInterface player); - /** - * removes a player from the game - * @param player the player to be removed from the game - */ - void remove(PlayerInterface player); + void add(Player player); //add player to game - /** - * specifies how the game will run - */ - void run(); + void remove(Player player);// remove player from game + + String displayInstructions(); // display instruction for game + + Boolean checkWinner(); // compare to see if user won/lost + + void quit(); // exit game + void run(); //specifies how game will run } diff --git a/src/main/java/com/github/zipcodewilmington/casino/Player.java b/src/main/java/com/github/zipcodewilmington/casino/Player.java new file mode 100644 index 00000000..5d322aef --- /dev/null +++ b/src/main/java/com/github/zipcodewilmington/casino/Player.java @@ -0,0 +1,19 @@ +package com.github.zipcodewilmington.casino; + +public abstract class Player { + + protected CasinoAccount account; + + public Player(CasinoAccount account) { + this.account = account; + } + + public CasinoAccount getAccount() { // return/access account with this method + return this.account; + } + + public String getUsername() { // return/access username + return this.account.getUserName(); + } + +} diff --git a/src/main/java/com/github/zipcodewilmington/casino/PlayerInterface.java b/src/main/java/com/github/zipcodewilmington/casino/PlayerInterface.java index c50b5113..31aa3eb4 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/PlayerInterface.java +++ b/src/main/java/com/github/zipcodewilmington/casino/PlayerInterface.java @@ -7,15 +7,5 @@ * All players are capable of `play`ing a game. */ public interface PlayerInterface { - /** - * @return the `ArcadeAccount` used to log into the `Arcade` system to play this game - */ - CasinoAccount getArcadeAccount(); - /** - * Defines how a specific implementation of `PlayerInterface` plays their respective game. - * @param specify any return type you would like here - * @return whatever return value you would like - */ - SomeReturnType play(); } diff --git a/src/test/java/com/github/zipcodewilmington/ApplicationRunnerTest.java b/src/test/java/com/github/zipcodewilmington/ApplicationRunnerTest.java index a9af8209..12592771 100644 --- a/src/test/java/com/github/zipcodewilmington/ApplicationRunnerTest.java +++ b/src/test/java/com/github/zipcodewilmington/ApplicationRunnerTest.java @@ -7,15 +7,15 @@ * Created by leon on 7/21/2020. */ public class ApplicationRunnerTest { - @Test - public void test() { // TODO - replace boiler-plate logic with business logic - // given - Runnable runnable = new Casino(); - - // when - runnable.run(); - - // then - Assert.assertNotNull(runnable.toString()); - } +// @Test +// public void test() { // TODO - replace boiler-plate logic with business logic +// // given +// Runnable runnable = new Casino(); +// +// // when +// runnable.run(); +// +// // then +// Assert.assertNotNull(runnable.toString()); +// } } From 0d008fc9f9a7f287010b6caa28cc64de178c7388 Mon Sep 17 00:00:00 2001 From: Joe Date: Wed, 19 Jul 2023 16:01:40 -0400 Subject: [PATCH 04/48] roulette folders added --- .../github/zipcodewilmington/casino/games/GameRoulette.java | 2 ++ .../zipcodewilmington/casino/games/GameRouletteTest.java | 4 ++++ 2 files changed, 6 insertions(+) create mode 100644 src/main/java/com/github/zipcodewilmington/casino/games/GameRoulette.java create mode 100644 src/test/java/com/github/zipcodewilmington/casino/games/GameRouletteTest.java diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/GameRoulette.java b/src/main/java/com/github/zipcodewilmington/casino/games/GameRoulette.java new file mode 100644 index 00000000..067be1e3 --- /dev/null +++ b/src/main/java/com/github/zipcodewilmington/casino/games/GameRoulette.java @@ -0,0 +1,2 @@ +package com.github.zipcodewilmington.casino.games;public class GameRoulette { +} diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/GameRouletteTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/GameRouletteTest.java new file mode 100644 index 00000000..60d005d4 --- /dev/null +++ b/src/test/java/com/github/zipcodewilmington/casino/games/GameRouletteTest.java @@ -0,0 +1,4 @@ +import static org.junit.jupiter.api.Assertions.*; +class GameRouletteTest { + +} \ No newline at end of file From 115be022748ee1a238198ec8cead8036e8fb3b0f Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Wed, 19 Jul 2023 19:03:32 -0400 Subject: [PATCH 05/48] edit --- .../com/github/zipcodewilmington/Casino.java | 91 ++++++++++++------- .../zipcodewilmington/MainApplication.java | 7 +- .../games/rockpaperscissors/RpsGame.java | 4 + .../games/rockpaperscissors/RpsPlayer.java | 10 ++ .../casino/games/slots/SlotsGame.java | 12 +++ 5 files changed, 89 insertions(+), 35 deletions(-) create mode 100644 src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java create mode 100644 src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java diff --git a/src/main/java/com/github/zipcodewilmington/Casino.java b/src/main/java/com/github/zipcodewilmington/Casino.java index ac200bcd..95f2eb91 100644 --- a/src/main/java/com/github/zipcodewilmington/Casino.java +++ b/src/main/java/com/github/zipcodewilmington/Casino.java @@ -18,43 +18,66 @@ * Created by leon on 7/21/2020. */ public class Casino { + + // wordguess wg1 = new wordguess + + // game object 2 + + // game object 3 + + // player private final IOConsole console = new IOConsole(AnsiColor.BLUE); - public void run() throws IOException{ - String arcadeDashBoardInput; - CasinoAccountManager casinoAccountManager = new CasinoAccountManager(); - do { - arcadeDashBoardInput = getArcadeDashboardInput(); - if ("select-game".equals(arcadeDashBoardInput)) { - String accountName = console.getStringInput("Enter your account name:"); - String accountPassword = console.getStringInput("Enter your account password:"); - CasinoAccount casinoAccount = casinoAccountManager.getAccount(accountName, accountPassword); - boolean isValidLogin = casinoAccount != null; - if (isValidLogin) { - String gameSelectionInput = getGameSelectionInput().toUpperCase(); - if (gameSelectionInput.equals("SLOTS")) { - play(new SlotsGame(), new SlotsPlayer()); - } else if (gameSelectionInput.equals("NUMBERGUESS")) { - play(new NumberGuessGame(), new NumberGuessPlayer()); - } else { - // TODO - implement better exception handling - String errorMessage = "[ %s ] is an invalid game selection"; - throw new RuntimeException(String.format(errorMessage, gameSelectionInput)); - } - } else { - // TODO - implement better exception handling - String errorMessage = "No account found with name of [ %s ] and password of [ %s ]"; - throw new RuntimeException(String.format(errorMessage, accountPassword, accountName)); - } - } else if ("create-account".equals(arcadeDashBoardInput)) { - console.println("Welcome to the account-creation screen."); - String accountName = console.getStringInput("Enter your account name:"); - String accountPassword = console.getStringInput("Enter your account password:"); - CasinoAccount newAccount = casinoAccountManager.createAccount(accountName, accountPassword); - casinoAccountManager.registerAccount(newAccount); - } - } while (!"logout".equals(arcadeDashBoardInput)); + public void run() { + + // Welcome + System.out.println("Hello"); + // these are the games I have + + // take an input, pick one + + // filter input + + // if (input = wordguess) + // slots.run + + + } +// String arcadeDashBoardInput; +// CasinoAccountManager casinoAccountManager = new CasinoAccountManager(); +// do { +// arcadeDashBoardInput = getArcadeDashboardInput(); +// if ("select-game".equals(arcadeDashBoardInput)) { +// String accountName = console.getStringInput("Enter your account name:"); +// String accountPassword = console.getStringInput("Enter your account password:"); +// CasinoAccount casinoAccount = casinoAccountManager.getAccount(accountName, accountPassword); +// boolean isValidLogin = casinoAccount != null; +// if (isValidLogin) { +// String gameSelectionInput = getGameSelectionInput().toUpperCase(); +// if (gameSelectionInput.equals("SLOTS")) { +// play(new SlotsGame(), new SlotsPlayer()); +// } else if (gameSelectionInput.equals("NUMBERGUESS")) { +// play(new NumberGuessGame(), new NumberGuessPlayer()); +// } else { +// // TODO - implement better exception handling +// String errorMessage = "[ %s ] is an invalid game selection"; +// throw new RuntimeException(String.format(errorMessage, gameSelectionInput)); +// } +// } else { +// // TODO - implement better exception handling +// String errorMessage = "No account found with name of [ %s ] and password of [ %s ]"; +// throw new RuntimeException(String.format(errorMessage, accountPassword, accountName)); +// } +// } else if ("create-account".equals(arcadeDashBoardInput)) { +// console.println("Welcome to the account-creation screen."); +// String accountName = console.getStringInput("Enter your account name:"); +// String accountPassword = console.getStringInput("Enter your account password:"); +// CasinoAccount newAccount = casinoAccountManager.createAccount(accountName, accountPassword); +// casinoAccountManager.registerAccount(newAccount); +// } +// } while (!"logout".equals(arcadeDashBoardInput)); + private String getArcadeDashboardInput() { return console.getStringInput( diff --git a/src/main/java/com/github/zipcodewilmington/MainApplication.java b/src/main/java/com/github/zipcodewilmington/MainApplication.java index 24daa840..16499d29 100644 --- a/src/main/java/com/github/zipcodewilmington/MainApplication.java +++ b/src/main/java/com/github/zipcodewilmington/MainApplication.java @@ -4,6 +4,11 @@ public class MainApplication { public static void main(String[] args) throws IOException { - new Casino().run(); + + Casino trilliumCasinp = new Casino(); + + trilliumCasinp.run(); + + //new Casino().run(); } } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java new file mode 100644 index 00000000..c81773d7 --- /dev/null +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java @@ -0,0 +1,4 @@ +package com.github.zipcodewilmington.casino.games.rockpaperscissors; + +public class RpsGame { +} diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java new file mode 100644 index 00000000..ff25feff --- /dev/null +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java @@ -0,0 +1,10 @@ +package com.github.zipcodewilmington.casino.games.rockpaperscissors; + +import com.github.zipcodewilmington.casino.CasinoAccount; +import com.github.zipcodewilmington.casino.Player; + +public class RpsPlayer extends Player { + public RpsPlayer(CasinoAccount account) { + super(account); + } +} diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java index 8cb20c78..cd9b42b6 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java @@ -4,4 +4,16 @@ * Created by leon on 7/21/2020. */ public class SlotsGame { + + //constructor + + //run method + + /* + type 'Y' to pull leveler + + @getResultsOutput + */ + + //get } From be6777775a54e69c46060a15f09f078fc1a7c1e5 Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Thu, 20 Jul 2023 14:58:45 -0400 Subject: [PATCH 06/48] testing merging games to console --- accounts.txt | 2 + .../com/github/zipcodewilmington/Casino.java | 117 ++++++++++-------- .../zipcodewilmington/MainApplication.java | 7 +- .../casino/CasinoAccountManager.java | 11 +- .../casino/games/GameRoulette.java | 2 - .../games/numberguess/NumberGuessGame.java | 82 +++++++++++- .../games/rockpaperscissors/RpsGame.java | 34 ++++- .../casino/games/roulette/GameRoulette.java | 111 +++++++++++++++++ .../casino/games/slots/SlotsGame.java | 104 ++++++++++++++-- .../casino/games/slots/SlotsPlayer.java | 14 +++ .../CasinoAccountManagerTest.java | 32 +++++ .../zipcodewilmington/CasinoAccountTest.java | 55 ++++++++ 12 files changed, 493 insertions(+), 78 deletions(-) create mode 100644 accounts.txt delete mode 100644 src/main/java/com/github/zipcodewilmington/casino/games/GameRoulette.java create mode 100644 src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java create mode 100644 src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java create mode 100644 src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java diff --git a/accounts.txt b/accounts.txt new file mode 100644 index 00000000..356f51f4 --- /dev/null +++ b/accounts.txt @@ -0,0 +1,2 @@ +angela apple 100 +bob pw 2000 diff --git a/src/main/java/com/github/zipcodewilmington/Casino.java b/src/main/java/com/github/zipcodewilmington/Casino.java index 95f2eb91..84561bc8 100644 --- a/src/main/java/com/github/zipcodewilmington/Casino.java +++ b/src/main/java/com/github/zipcodewilmington/Casino.java @@ -6,6 +6,8 @@ import com.github.zipcodewilmington.casino.PlayerInterface; import com.github.zipcodewilmington.casino.games.numberguess.NumberGuessGame; import com.github.zipcodewilmington.casino.games.numberguess.NumberGuessPlayer; +import com.github.zipcodewilmington.casino.games.rockpaperscissors.RpsGame; +import com.github.zipcodewilmington.casino.games.roulette.GameRoulette; import com.github.zipcodewilmington.casino.games.slots.SlotsGame; import com.github.zipcodewilmington.casino.games.slots.SlotsPlayer; import com.github.zipcodewilmington.utils.AnsiColor; @@ -26,70 +28,79 @@ public class Casino { // game object 3 // player - private final IOConsole console = new IOConsole(AnsiColor.BLUE); - - public void run() { - - // Welcome - System.out.println("Hello"); - // these are the games I have - - // take an input, pick one - - // filter input - - // if (input = wordguess) - // slots.run - - - + private final IOConsole console = new IOConsole(AnsiColor.CYAN); + + public void run() throws IOException { + + String arcadeDashBoardInput; + CasinoAccountManager casinoAccountManager = new CasinoAccountManager(); + welcome(); + + do { + arcadeDashBoardInput = getArcadeDashboardInput().toUpperCase(); + + switch (arcadeDashBoardInput) { + + case "CREATE ACCOUNT": + console.println("Create an account here! "); + String userName = console.getStringInput("Enter your account username: "); + String userPassword = console.getStringInput("Enter your account password: "); + Integer userBalance = console.getIntegerInput("Enter the dollar amount of money you would like to add to your account: "); + if (casinoAccountManager.getAccountUsername().contains(userName)) { + System.out.println("This username already exists"); + } else { + casinoAccountManager.createAccount(userName, userPassword, userBalance); + casinoAccountManager.updateAccounts(); + System.out.println("Account successfully created"); + } + break; + + case "SELECT GAME": + String gameSelectionInput = getGameSelectionInput().toUpperCase(); + switch (gameSelectionInput) { + case "ROCK PAPER SCISSORS": + case "NUMBER GUESS": + if (gameSelectionInput.equals("ROCK PAPER SCISSORS")) { + new RpsGame().run(); + } else { + new NumberGuessGame().run(); + } + casinoAccountManager.updateAccounts(); + break; + + case "SLOTS": + case "ROULETTE": + if (gameSelectionInput.equals("SLOTS")) { + new SlotsGame().run(); + } else { + new GameRoulette().run(); + } + casinoAccountManager.updateAccounts(); + break; + + } + + } + } while (!"EXIT".equalsIgnoreCase(arcadeDashBoardInput)); } -// String arcadeDashBoardInput; -// CasinoAccountManager casinoAccountManager = new CasinoAccountManager(); -// do { -// arcadeDashBoardInput = getArcadeDashboardInput(); -// if ("select-game".equals(arcadeDashBoardInput)) { -// String accountName = console.getStringInput("Enter your account name:"); -// String accountPassword = console.getStringInput("Enter your account password:"); -// CasinoAccount casinoAccount = casinoAccountManager.getAccount(accountName, accountPassword); -// boolean isValidLogin = casinoAccount != null; -// if (isValidLogin) { -// String gameSelectionInput = getGameSelectionInput().toUpperCase(); -// if (gameSelectionInput.equals("SLOTS")) { -// play(new SlotsGame(), new SlotsPlayer()); -// } else if (gameSelectionInput.equals("NUMBERGUESS")) { -// play(new NumberGuessGame(), new NumberGuessPlayer()); -// } else { -// // TODO - implement better exception handling -// String errorMessage = "[ %s ] is an invalid game selection"; -// throw new RuntimeException(String.format(errorMessage, gameSelectionInput)); -// } -// } else { -// // TODO - implement better exception handling -// String errorMessage = "No account found with name of [ %s ] and password of [ %s ]"; -// throw new RuntimeException(String.format(errorMessage, accountPassword, accountName)); -// } -// } else if ("create-account".equals(arcadeDashBoardInput)) { -// console.println("Welcome to the account-creation screen."); -// String accountName = console.getStringInput("Enter your account name:"); -// String accountPassword = console.getStringInput("Enter your account password:"); -// CasinoAccount newAccount = casinoAccountManager.createAccount(accountName, accountPassword); -// casinoAccountManager.registerAccount(newAccount); -// } -// } while (!"logout".equals(arcadeDashBoardInput)); private String getArcadeDashboardInput() { return console.getStringInput( - "Welcome to the Trillium Casino! \n\n" + "Select an option: \n" + - "[CREATE NEW ACCOUNT] [SELECT GAME] [CASHIER] [EXIT]"); + "[CREATE ACCOUNT] [SELECT GAME] [EXIT] \n" + + ">> "); } private String getGameSelectionInput() { return console.getStringInput( "Select any of the following games: \n" + - "[SLOTS] [ROULETTE] [COIN FLIP] [NUMBER GUESS] [21] [ROCK PAPER SCISSORS]"); + "[SLOTS] [ROULETTE] [COIN FLIP] [NUMBER GUESS] [21] [ROCK PAPER SCISSORS] \n" + + ">> "); + } + + private void welcome() { + console.println("Welcome to the Trillium Casino! \n\n"); } diff --git a/src/main/java/com/github/zipcodewilmington/MainApplication.java b/src/main/java/com/github/zipcodewilmington/MainApplication.java index 16499d29..24daa840 100644 --- a/src/main/java/com/github/zipcodewilmington/MainApplication.java +++ b/src/main/java/com/github/zipcodewilmington/MainApplication.java @@ -4,11 +4,6 @@ public class MainApplication { public static void main(String[] args) throws IOException { - - Casino trilliumCasinp = new Casino(); - - trilliumCasinp.run(); - - //new Casino().run(); + new Casino().run(); } } diff --git a/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java b/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java index 1df5607a..58cd357a 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java +++ b/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java @@ -8,6 +8,7 @@ import java.nio.file.Paths; import java.util.HashMap; import java.util.Map; +import java.util.Set; /** @@ -43,11 +44,11 @@ public CasinoAccount getAccount(String username, String password) { return null; // else return null } - public CasinoAccount createAccount(String username, String password) { + public CasinoAccount createAccount(String username, String password, int balance) { if (this.accounts.containsKey(username)) { // if username already exists in accounts, return null return null; } else { - CasinoAccount newAccount = new CasinoAccount(username, password, 500); + CasinoAccount newAccount = new CasinoAccount(username, password, balance); this.accounts.put(username, newAccount); //store username as key and the entire new account as value in accounts hashmap return newAccount; // else if account doesn't exist, return newly created account } @@ -57,9 +58,13 @@ public void registerAccount(CasinoAccount account) { this.accounts.put(account.getUserName(), account); // add new account with username as key to the accounts hashmap } + public Set getAccountUsername() { + return accounts.keySet(); // return a set of usernames (keys) + } + public void updateAccounts() throws IOException { String info = ""; // adding updated balance info to existing account - for(HashMap.Entry entry : this.accounts.entrySet()) { //this is a enhanced for loop + for(HashMap.Entry entry : this.accounts.entrySet()) { //this is an enhanced for loop //update each account in accounts with current balance information and store in "info" info += entry.getValue().getUserName() + " " + entry.getValue().getPassword() + " " + entry.getValue().getBalance() + "\n"; } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/GameRoulette.java b/src/main/java/com/github/zipcodewilmington/casino/games/GameRoulette.java deleted file mode 100644 index 067be1e3..00000000 --- a/src/main/java/com/github/zipcodewilmington/casino/games/GameRoulette.java +++ /dev/null @@ -1,2 +0,0 @@ -package com.github.zipcodewilmington.casino.games;public class GameRoulette { -} diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java index 79570948..6704bca6 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java @@ -1,7 +1,87 @@ package com.github.zipcodewilmington.casino.games.numberguess; +import com.github.zipcodewilmington.casino.GameInterface; +import com.github.zipcodewilmington.casino.Player; + +import java.util.Scanner; + /** * Created by leon on 7/21/2020. */ public class NumberGuessGame { -} \ No newline at end of file + private Player player; + private Scanner scanner; + private int targetNumber; + + public NumberGuessGame() { + this.scanner = new Scanner(System.in); + } + + public void add(Player player) { + this.player = player; + } + + public void run() { + System.out.println(displayInstructions()); + boolean playAgain = true; + while (playAgain) { + targetNumber = (int) (Math.random() * 10) + 1; // Generate a random number between 1 and 10 + boolean isWinner = false; + + while (!isWinner) { + int userGuess = getUserGuess(); + isWinner = checkWinner(userGuess); + if (isWinner) { + System.out.println("Congratulations!!!! You LUCKILY guessed the right number: " + targetNumber); + } else { + System.out.println("Better Luck Next Time!"); + } + } + + playAgain = playAgain(); + } + quit(); + } + + public String displayInstructions() { + return "Welcome to the rigged for our casino Number Guessing Game!!!! Try to guess the number between 1 and 10."; + } + + public int getUserGuess() { + System.out.print("Waste Your Money On A Guess: "); + return scanner.nextInt(); + } + + public boolean checkWinner(int userGuess) { + if (userGuess == targetNumber) { + return true; + } else if (userGuess < targetNumber) { + System.out.println("Seriously? Try Higher!"); + } else { + System.out.println("Try going lower"); + } + return false; + } + + public boolean playAgain() { + System.out.print("Play Again? (yup/nah): "); + String playAgainChoice = scanner.next().toLowerCase(); + return playAgainChoice.equals("yup"); + } + + public void quit() { + System.out.println("Thank you for playing, Stop quitting everything!"); + scanner.close(); + } + +// public static void main(String[] args) { +// NumberGuessGame game = new NumberGuessGame(); +// Player player = new Player(); +// game.add(player); +// game.run(); +// } +} + +// class Player { +// // You can add additional methods or attributes specific to the player here +// } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java index c81773d7..ae7d1361 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java @@ -1,4 +1,36 @@ package com.github.zipcodewilmington.casino.games.rockpaperscissors; -public class RpsGame { +import com.github.zipcodewilmington.casino.GameInterface; +import com.github.zipcodewilmington.casino.Player; + +public class RpsGame implements GameInterface { + @Override + public void add(Player player) { + + } + + @Override + public void remove(Player player) { + + } + + @Override + public String displayInstructions() { + return null; + } + + @Override + public Boolean checkWinner() { + return null; + } + + @Override + public void quit() { + + } + + @Override + public void run() { + + } } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java new file mode 100644 index 00000000..8896a12a --- /dev/null +++ b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java @@ -0,0 +1,111 @@ +package com.github.zipcodewilmington.casino.games.roulette; + +import java.util.Random; +import java.util.Scanner; + +public class GameRoulette { + +// public static void main(String[] args) { +// GameRoulette game = new GameRoulette(); +// game.run(); +// } + Scanner console = new Scanner(System.in); + Random rand = new Random(); + + int bank = 100; + int max = bank; + int spins = 0; + public void run(){ + play(); + int bet = getBet(); + int choice = getChoice("What would you like to bet on?", "1. odd", "2. even"); + int spin = getSpin(); + compareResults(bet, choice, spin); + spins++; + quit(); + } + public void play() { + System.out.println("Welcome to Roulette!"); + +// int bet = getChoice("You have $" + bank + " in your bank.", "The maximum amount you can bet is $" + max + ".", "How much would you like to bet?"); +// if (bet > max) { +// System.out.println("You cannot bet more than $" + max + "."); +// System.out.println("How much would you like to bet?"); +// bet = console.nextInt(); +// } + + + + } + + + private void compareResults(int bet, int choice, int spin) { + if (choice == 1) { + if (spin % 2 == 1) { +// if (spin == 1 || spin == 3 || spin == 5 || spin == 7 || spin == 9 || spin == 11 || spin == 13 || spin == 15 || +// spin == 17 || spin == 19 || spin == 21 || spin == 23 || spin == 25 || spin == 27 || spin == 29 || +// spin == 31 || spin == 33 || spin == 35 || spin == 37) { + System.out.println("You win!"); + System.out.println("the spin was " + spin); + bank = bank + bet; + System.out.println("You now have $" + bank + " in your bank."); + } else { + System.out.println("You lose!"); + System.out.println("the spin was " + spin); + bank = bank - bet; + System.out.println("You now have $" + bank + " in your bank."); + } + } else if (choice == 2) { + if (spin % 2 == 0) { +// if (spin == 0 ||spin == 2 || spin == 4 || spin == 6 || spin == 8 || spin == 10 || spin == 12 || spin == 14 || +// spin == 16 || spin == 18 || spin == 20|| spin == 22 || spin == 24|| spin == 26 || spin == 28 +// || spin == 30 || spin == 32 || spin == 34 || spin == 36) { + System.out.println("You win!"); + System.out.println("the spin was " + spin); + bank = bank + bet; + System.out.println("You now have $" + bank + " in your bank."); + } else { + System.out.println("You lose!"); + System.out.println("the spin was " + spin); + bank = bank - bet; + System.out.println("You now have $" + bank + " in your bank."); + } + } + } + + private int getSpin() { + int spin = rand.nextInt(38); + return spin; + } + + private int getChoice(String x, String x1, String x2) { + System.out.println(x); + System.out.println(x1); + System.out.println(x2); + + int choice = console.nextInt(); + return choice; + } + +// int bet = getChoice("You have $" + bank + " in your bank.", "The maximum amount you can bet is $" + max + ".", "How much would you like to bet?"); +// if (bet > max) { +// System.out.println("You cannot bet more than $" + max + "."); +// System.out.println("How much would you like to bet?"); +// bet = console.nextInt(); + + private int getBet() { + System.out.println("How much would you like to bet?"); + int bet = console.nextInt(); + return bet; + } + private void quit() { + System.out.println("Thank you for playing! Press 1 to replay or 2 to return to the casino lobby."); + int choice = console.nextInt(); + if (choice == 1) { + run(); + } else if (choice == 2) { +// Casino casino = new Casino(); +// casino.run(); + } + } +} diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java index cd9b42b6..4a11f85d 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java @@ -1,19 +1,99 @@ package com.github.zipcodewilmington.casino.games.slots; -/** - * Created by leon on 7/21/2020. - */ -public class SlotsGame { +import java.util.Random; - //constructor +import static com.github.zipcodewilmington.casino.games.slots.SlotsPlayer.promptUserToStart; - //run method + /** + * Created by leon on 7/21/2020. + */ + public class SlotsGame { - /* - type 'Y' to pull leveler + static String[] wordList = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; + SlotsPlayer sp = new SlotsPlayer(); - @getResultsOutput - */ + //just temp to check if code works +// public static void main(String[] args) { +// run(); +// } + + public static void run() { + int numberOfTries=0; + + displayInstructions(); + + do { + promptUserToStart(); + String[] wordList = spin(); + printResult(wordList); + numberOfTries++; + System.out.println("Press Enter to spin again!"); + + } + while (numberOfTries<3); + + + if (checkMatch(wordList)){ + updateAccount(); + } else { + quit(); + } + + + } + + + public static void displayInstructions(){ + System.out.println(" ***************************************"); + System.out.println(" ---------------------------------------"); + System.out.println(" { Welcome to the Slot Machine Game!!! } "); + System.out.println(" ---------------------------------------"); + System.out.println(" ***************************************\n"); + System.out.println(" Type 'PULL' to crank the lever!\n "); + System.out.print(">>> "); + + + } + + public static String[] spin() { + Random random = new Random(); +// String[] wordList = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; + + + for (int i = 0; i < wordList.length; i++) { + int randomIndex = random.nextInt(wordList.length); + wordList[i] = wordList[randomIndex]; + } + + return wordList; + } + + public static void printResult(String[] wordList) { + System.out.println(wordList[0] + " " + wordList[1] + " " + wordList[2]); + + if (checkMatch(wordList)) { + System.out.println("Congratulations! You have a match!\n"); + } else { + System.out.println("Better luck next time. No match.\n"); + } + } + + + public static boolean checkMatch(String[] wordList) { + + return wordList[0].equals(wordList[1]) && wordList[0].equals(wordList[2]); + } + + public static void updateAccount(){ + System.out.println("BLOOOP.\n"); + + } + + public static void quit(){ + System.out.println("QUIT.\n"); + + } + + + } - //get -} diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsPlayer.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsPlayer.java index f89ebd7f..13846857 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsPlayer.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsPlayer.java @@ -1,7 +1,21 @@ package com.github.zipcodewilmington.casino.games.slots; +import java.util.Scanner; + /** * Created by leon on 7/21/2020. */ public class SlotsPlayer { + + + + + public static boolean promptUserToStart() { + Scanner scanner = new Scanner(System.in); + + String userInput = scanner.nextLine(); + + return userInput.equalsIgnoreCase(""); + } + } \ No newline at end of file diff --git a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java new file mode 100644 index 00000000..1733bf20 --- /dev/null +++ b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java @@ -0,0 +1,32 @@ +package com.github.zipcodewilmington; + +import com.github.zipcodewilmington.casino.CasinoAccount; +import com.github.zipcodewilmington.casino.CasinoAccountManager; +import org.junit.Assert; +import org.junit.Test; + +import java.io.IOException; + +public class CasinoAccountManagerTest { + + CasinoAccount account = new CasinoAccount("Angela", "password", 1000); + + @Test + public void testGetAccount() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + cam.registerAccount(account); + CasinoAccount actual = cam.getAccount("Angela", "password"); + + Assert.assertEquals(actual, account); + } + +// @Test +// public void testCreateAccount() throws IOException { +// CasinoAccountManager cam = new CasinoAccountManager(); +// cam.createAccount("Angela", "password", 1000); +// CasinoAccount actual = cam.getAccount("Angela", "password"); +// +// Assert.assertEquals(actual, account); +// } + +} diff --git a/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java b/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java new file mode 100644 index 00000000..2ffcdf44 --- /dev/null +++ b/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java @@ -0,0 +1,55 @@ +package com.github.zipcodewilmington; + +import com.github.zipcodewilmington.casino.CasinoAccount; +import org.junit.Assert; +import org.junit.Test; + +public class CasinoAccountTest { + CasinoAccount account = new CasinoAccount("Angela", "password", 1000); + + @Test + public void getUserNameTest() { + String expected = "Angela"; + Assert.assertEquals(expected, account.getUserName()); + } + + @Test + public void getPasswordTest() { + String expected = "password"; + Assert.assertEquals(expected, account.getPassword()); + } + + @Test + public void getBalanceTest() { + int expected = 1000; + Assert.assertEquals(expected, account.getBalance()); + } + + @Test + public void setBalanceTest() { + account.setBalance(5000); + Assert.assertEquals(5000, account.getBalance()); + } + + @Test + public void addBalanceTest() { + account.addBalance(5000); + Assert.assertEquals(6000, account.getBalance()); + } + + @Test + public void withdrawBalanceTest() { + account.withdrawBalance(600); + Assert.assertEquals(400, account.getBalance()); + } + + @Test + public void checkBalanceTest1() { + Assert.assertTrue(account.checkBalance(1000)); + } + + @Test + public void checkBalanceTest2() { + Assert.assertTrue(account.checkBalance(500)); + } +} From d24c939e0504fec552da882b86382afd8fa20961 Mon Sep 17 00:00:00 2001 From: Keenen Date: Thu, 20 Jul 2023 15:02:45 -0400 Subject: [PATCH 07/48] game updates --- pom.xml | 6 ++ .../com/github/zipcodewilmington/Casino.java | 66 ++++++++-------- .../games/numberguess/NumberGuessGame.java | 79 ++++++++++++++++++- 3 files changed, 117 insertions(+), 34 deletions(-) diff --git a/pom.xml b/pom.xml index 8c2655d3..cde76520 100644 --- a/pom.xml +++ b/pom.xml @@ -37,6 +37,12 @@ jackson-databind ${jackson.version} + + org.testng + testng + RELEASE + compile + diff --git a/src/main/java/com/github/zipcodewilmington/Casino.java b/src/main/java/com/github/zipcodewilmington/Casino.java index ac200bcd..cbd07a6f 100644 --- a/src/main/java/com/github/zipcodewilmington/Casino.java +++ b/src/main/java/com/github/zipcodewilmington/Casino.java @@ -21,39 +21,39 @@ public class Casino { private final IOConsole console = new IOConsole(AnsiColor.BLUE); public void run() throws IOException{ - String arcadeDashBoardInput; - CasinoAccountManager casinoAccountManager = new CasinoAccountManager(); - do { - arcadeDashBoardInput = getArcadeDashboardInput(); - if ("select-game".equals(arcadeDashBoardInput)) { - String accountName = console.getStringInput("Enter your account name:"); - String accountPassword = console.getStringInput("Enter your account password:"); - CasinoAccount casinoAccount = casinoAccountManager.getAccount(accountName, accountPassword); - boolean isValidLogin = casinoAccount != null; - if (isValidLogin) { - String gameSelectionInput = getGameSelectionInput().toUpperCase(); - if (gameSelectionInput.equals("SLOTS")) { - play(new SlotsGame(), new SlotsPlayer()); - } else if (gameSelectionInput.equals("NUMBERGUESS")) { - play(new NumberGuessGame(), new NumberGuessPlayer()); - } else { - // TODO - implement better exception handling - String errorMessage = "[ %s ] is an invalid game selection"; - throw new RuntimeException(String.format(errorMessage, gameSelectionInput)); - } - } else { - // TODO - implement better exception handling - String errorMessage = "No account found with name of [ %s ] and password of [ %s ]"; - throw new RuntimeException(String.format(errorMessage, accountPassword, accountName)); - } - } else if ("create-account".equals(arcadeDashBoardInput)) { - console.println("Welcome to the account-creation screen."); - String accountName = console.getStringInput("Enter your account name:"); - String accountPassword = console.getStringInput("Enter your account password:"); - CasinoAccount newAccount = casinoAccountManager.createAccount(accountName, accountPassword); - casinoAccountManager.registerAccount(newAccount); - } - } while (!"logout".equals(arcadeDashBoardInput)); +// String arcadeDashBoardInput; +// CasinoAccountManager casinoAccountManager = new CasinoAccountManager(); +// do { +// arcadeDashBoardInput = getArcadeDashboardInput(); +// if ("select-game".equals(arcadeDashBoardInput)) { +// String accountName = console.getStringInput("Enter your account name:"); +// String accountPassword = console.getStringInput("Enter your account password:"); +// CasinoAccount casinoAccount = casinoAccountManager.getAccount(accountName, accountPassword); +// boolean isValidLogin = casinoAccount != null; +// if (isValidLogin) { +// String gameSelectionInput = getGameSelectionInput().toUpperCase(); +// if (gameSelectionInput.equals("SLOTS")) { +// play(new SlotsGame(), new SlotsPlayer()); +// } else if (gameSelectionInput.equals("NUMBERGUESS")) { +// play(new NumberGuessGame(), new NumberGuessPlayer()); +// } else { +// // TODO - implement better exception handling +// String errorMessage = "[ %s ] is an invalid game selection"; +// throw new RuntimeException(String.format(errorMessage, gameSelectionInput)); +// } +// } else { +// // TODO - implement better exception handling +// String errorMessage = "No account found with name of [ %s ] and password of [ %s ]"; +// throw new RuntimeException(String.format(errorMessage, accountPassword, accountName)); +// } +// } else if ("create-account".equals(arcadeDashBoardInput)) { +// console.println("Welcome to the account-creation screen."); +// String accountName = console.getStringInput("Enter your account name:"); +// String accountPassword = console.getStringInput("Enter your account password:"); +// CasinoAccount newAccount = casinoAccountManager.createAccount(accountName, accountPassword); +// casinoAccountManager.registerAccount(newAccount); +// } +// } while (!"logout".equals(arcadeDashBoardInput)); } private String getArcadeDashboardInput() { diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java index 79570948..bad2b3e8 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java @@ -3,5 +3,82 @@ /** * Created by leon on 7/21/2020. */ +import java.util.Scanner; public class NumberGuessGame { -} \ No newline at end of file + private Player player; + private Scanner scanner; + private int targetNumber; + + public NumberGuessGame() { + this.scanner = new Scanner(System.in); + } + + public void add(Player player) { + this.player = player; + } + + public void run() { + System.out.println(displayInstructions()); + boolean playAgain = true; + while (playAgain) { + targetNumber = (int) (Math.random() * 10) + 1; // Generate a random number between 1 and 10 + boolean isWinner = false; + + while (!isWinner) { + int userGuess = getUserGuess(); + isWinner = checkWinner(userGuess); + if (isWinner) { + System.out.println("Congratulations!!!! You LUCKILY guessed the right number: " + targetNumber); + } else { + System.out.println("Better Luck Next Time!"); + } + } + + playAgain = playAgain(); + } + quit(); + } + + public String displayInstructions() { + return "Welcome to the rigged for our casino Number Guessing Game!!!! Try to guess the number between 1 and 10."; + } + + public int getUserGuess() { + System.out.print("Waste Your Money On A Guess: "); + return scanner.nextInt(); + } + + public boolean checkWinner(int userGuess) { + if (userGuess == targetNumber) { + return true; + } else if (userGuess < targetNumber) { + System.out.println("Seriously? Try Higher!"); + } else { + System.out.println("Try going lower"); + } + return false; + } + + public boolean playAgain() { + System.out.print("Play Again? (yup/nah): "); + String playAgainChoice = scanner.next().toLowerCase(); + return playAgainChoice.equals("yup"); + } + + public void quit() { + System.out.println("Thank you for playing, Stop quitting everything!"); + scanner.close(); + } + + public static void main(String[] args) { + NumberGuessGame game = new NumberGuessGame(); + Player player = new Player(); + game.add(player); + game.run(); + } + } + + class Player { + // You can add additional methods or attributes specific to the player here + } + From a502edfe588e57439c9aa97d101c0dd7275e3722 Mon Sep 17 00:00:00 2001 From: Joe Date: Thu, 20 Jul 2023 15:14:33 -0400 Subject: [PATCH 08/48] roulette --- .../com/github/zipcodewilmington/Casino.java | 31 +++-- .../casino/CasinoAccountManager.java | 2 +- .../casino/GameInterface.java | 4 +- .../zipcodewilmington/casino/Player.java | 3 +- .../casino/PlayerInterface.java | 2 + .../casino/games/GameRoulette.java | 2 - .../casino/games/accounts.txt | 0 .../games/rockpaperscissors/RpsPlayer.java | 2 +- .../casino/games/roulette/GameRoulette.java | 115 ++++++++++++++++++ .../casino/games/roulette/PlayerRoulette.java | 8 ++ .../casino/games/GameRouletteTest.java | 9 +- 11 files changed, 158 insertions(+), 20 deletions(-) delete mode 100644 src/main/java/com/github/zipcodewilmington/casino/games/GameRoulette.java create mode 100644 src/main/java/com/github/zipcodewilmington/casino/games/accounts.txt create mode 100644 src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java create mode 100644 src/main/java/com/github/zipcodewilmington/casino/games/roulette/PlayerRoulette.java diff --git a/src/main/java/com/github/zipcodewilmington/Casino.java b/src/main/java/com/github/zipcodewilmington/Casino.java index 95f2eb91..ac9993b2 100644 --- a/src/main/java/com/github/zipcodewilmington/Casino.java +++ b/src/main/java/com/github/zipcodewilmington/Casino.java @@ -1,9 +1,6 @@ package com.github.zipcodewilmington; -import com.github.zipcodewilmington.casino.CasinoAccount; -import com.github.zipcodewilmington.casino.CasinoAccountManager; -import com.github.zipcodewilmington.casino.GameInterface; -import com.github.zipcodewilmington.casino.PlayerInterface; +import com.github.zipcodewilmington.casino.*; import com.github.zipcodewilmington.casino.games.numberguess.NumberGuessGame; import com.github.zipcodewilmington.casino.games.numberguess.NumberGuessPlayer; import com.github.zipcodewilmington.casino.games.slots.SlotsGame; @@ -79,18 +76,28 @@ public void run() { // } while (!"logout".equals(arcadeDashBoardInput)); + + private String getArcadeDashboardInput() { - return console.getStringInput( - "Welcome to the Trillium Casino! \n\n" + - "Select an option: \n" + - "[CREATE NEW ACCOUNT] [SELECT GAME] [CASHIER] [EXIT]"); + return console.getStringInput(new StringBuilder() + .append("Welcome to the Arcade Dashboard!") + .append("\nFrom here, you can select any of the following options:") + .append("\n\t[ create-account ], [ select-game ]") + .toString()); } private String getGameSelectionInput() { - return console.getStringInput( - "Select any of the following games: \n" + - "[SLOTS] [ROULETTE] [COIN FLIP] [NUMBER GUESS] [21] [ROCK PAPER SCISSORS]"); + return console.getStringInput(new StringBuilder() + .append("Welcome to the Game Selection Dashboard!") + .append("\nFrom here, you can select any of the following options:") + .append("\n\t[ SLOTS ], [ NUMBERGUESS ]") + .toString()); } - + private void play(Object gameObject, Object playerObject) { + GameInterface game = (GameInterface)gameObject; + PlayerInterface player = (PlayerInterface)playerObject; + game.add(player); + game.run(); + } } diff --git a/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java b/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java index 1df5607a..149604e9 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java +++ b/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java @@ -18,7 +18,7 @@ public class CasinoAccountManager { private HashMap accounts; - private Path file = Paths.get("accounts.txt"); //creates object used to locate file in file system + private Path file = Paths.get("/Users/joe/Desktop/local projects/GroupCasino/src/main/java/com/github/zipcodewilmington/casino/games/accounts.txt"); //creates object used to locate file in file system public CasinoAccountManager() throws IOException { this.accounts = new HashMap<>(); // hashmap containing username as key, and account info as value diff --git a/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java b/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java index 6cc97b48..37f73801 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java +++ b/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java @@ -5,9 +5,9 @@ */ public interface GameInterface extends Runnable { - void add(Player player); //add player to game + void add(PlayerInterface player); //add player to game - void remove(Player player);// remove player from game + void remove(PlayerInterface player);// remove player from game String displayInstructions(); // display instruction for game diff --git a/src/main/java/com/github/zipcodewilmington/casino/Player.java b/src/main/java/com/github/zipcodewilmington/casino/Player.java index 5d322aef..615b0052 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/Player.java +++ b/src/main/java/com/github/zipcodewilmington/casino/Player.java @@ -2,9 +2,10 @@ public abstract class Player { + protected CasinoAccount account; - public Player(CasinoAccount account) { + public Player() { this.account = account; } diff --git a/src/main/java/com/github/zipcodewilmington/casino/PlayerInterface.java b/src/main/java/com/github/zipcodewilmington/casino/PlayerInterface.java index 31aa3eb4..4a4d24c0 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/PlayerInterface.java +++ b/src/main/java/com/github/zipcodewilmington/casino/PlayerInterface.java @@ -7,5 +7,7 @@ * All players are capable of `play`ing a game. */ public interface PlayerInterface { +CasinoAccount getArcadeAccount(); + SomeReturnType play(); } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/GameRoulette.java b/src/main/java/com/github/zipcodewilmington/casino/games/GameRoulette.java deleted file mode 100644 index 067be1e3..00000000 --- a/src/main/java/com/github/zipcodewilmington/casino/games/GameRoulette.java +++ /dev/null @@ -1,2 +0,0 @@ -package com.github.zipcodewilmington.casino.games;public class GameRoulette { -} diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/accounts.txt b/src/main/java/com/github/zipcodewilmington/casino/games/accounts.txt new file mode 100644 index 00000000..e69de29b diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java index ff25feff..1acabdcf 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java @@ -5,6 +5,6 @@ public class RpsPlayer extends Player { public RpsPlayer(CasinoAccount account) { - super(account); +// super(account); } } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java new file mode 100644 index 00000000..ef5a3a42 --- /dev/null +++ b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java @@ -0,0 +1,115 @@ +package com.github.zipcodewilmington.casino.games.roulette; + +import com.github.zipcodewilmington.casino.CasinoAccount; +import com.github.zipcodewilmington.casino.GameInterface; +import com.github.zipcodewilmington.casino.Player; +import com.github.zipcodewilmington.casino.PlayerInterface; + +import java.util.Random; +import java.util.Scanner; + +public class GameRoulette { + public static void main(String[] args) { + GameRoulette game = new GameRoulette(); + game.run(); + } + Scanner console = new Scanner(System.in); + Random rand = new Random(); + + int bank = 100; + int max = bank; + int spins = 0; + public void run(){ + play(); + int bet = getBet(); + int choice = getChoice("What would you like to bet on?", "1. odd", "2. even"); + int spin = getSpin(); + compareResults(bet, choice, spin); + spins++; + quit(); + } + public void play() { + System.out.println("Welcome to Roulette!"); + +// int bet = getChoice("You have $" + bank + " in your bank.", "The maximum amount you can bet is $" + max + ".", "How much would you like to bet?"); +// if (bet > max) { +// System.out.println("You cannot bet more than $" + max + "."); +// System.out.println("How much would you like to bet?"); +// bet = console.nextInt(); +// } + + + + } + + + private void compareResults(int bet, int choice, int spin) { + if (choice == 1) { + if (spin % 2 == 1) { +// if (spin == 1 || spin == 3 || spin == 5 || spin == 7 || spin == 9 || spin == 11 || spin == 13 || spin == 15 || +// spin == 17 || spin == 19 || spin == 21 || spin == 23 || spin == 25 || spin == 27 || spin == 29 || +// spin == 31 || spin == 33 || spin == 35 || spin == 37) { + System.out.println("You win!"); + System.out.println("the spin was " + spin); + bank = bank + bet; + System.out.println("You now have $" + bank + " in your bank."); + } else { + System.out.println("You lose!"); + System.out.println("the spin was " + spin); + bank = bank - bet; + System.out.println("You now have $" + bank + " in your bank."); + } + } else if (choice == 2) { + if (spin % 2 == 0) { +// if (spin == 0 ||spin == 2 || spin == 4 || spin == 6 || spin == 8 || spin == 10 || spin == 12 || spin == 14 || +// spin == 16 || spin == 18 || spin == 20|| spin == 22 || spin == 24|| spin == 26 || spin == 28 +// || spin == 30 || spin == 32 || spin == 34 || spin == 36) { + System.out.println("You win!"); + System.out.println("the spin was " + spin); + bank = bank + bet; + System.out.println("You now have $" + bank + " in your bank."); + } else { + System.out.println("You lose!"); + System.out.println("the spin was " + spin); + bank = bank - bet; + System.out.println("You now have $" + bank + " in your bank."); + } +} + } + + private int getSpin() { + int spin = rand.nextInt(38); + return spin; + } + + private int getChoice(String x, String x1, String x2) { + System.out.println(x); + System.out.println(x1); + System.out.println(x2); + + int choice = console.nextInt(); + return choice; + } + +// int bet = getChoice("You have $" + bank + " in your bank.", "The maximum amount you can bet is $" + max + ".", "How much would you like to bet?"); +// if (bet > max) { +// System.out.println("You cannot bet more than $" + max + "."); +// System.out.println("How much would you like to bet?"); +// bet = console.nextInt(); + + private int getBet() { + System.out.println("How much would you like to bet?"); + int bet = console.nextInt(); + return bet; + } + private void quit() { + System.out.println("Thank you for playing! Press 1 to replay or 2 to return to the casino lobby."); + int choice = console.nextInt(); + if (choice == 1) { + run(); + } else if (choice == 2) { + //Casino casino = new Casino(); + //casino.run(); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/PlayerRoulette.java b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/PlayerRoulette.java new file mode 100644 index 00000000..806346b7 --- /dev/null +++ b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/PlayerRoulette.java @@ -0,0 +1,8 @@ +package com.github.zipcodewilmington.casino.games.roulette; + +import com.github.zipcodewilmington.casino.Player; +import com.github.zipcodewilmington.casino.PlayerInterface; + +public class PlayerRoulette extends Player { + +} diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/GameRouletteTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/GameRouletteTest.java index 60d005d4..dad25c34 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/GameRouletteTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/GameRouletteTest.java @@ -1,4 +1,11 @@ +package com.github.zipcodewilmington.casino.games; + import static org.junit.jupiter.api.Assertions.*; + class GameRouletteTest { - + + + + + } \ No newline at end of file From dba309f26c34a61edf903b8c7e7de52ecf9fe571 Mon Sep 17 00:00:00 2001 From: surabhi Date: Thu, 20 Jul 2023 15:19:10 -0400 Subject: [PATCH 09/48] games added --- .../com/github/zipcodewilmington/Casino.java | 64 ++++++----- .../casino/games/slots/SlotsGame.java | 106 ++++++++++++++++++ .../casino/games/slots/SlotsPlayer.java | 14 +++ 3 files changed, 153 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/github/zipcodewilmington/Casino.java b/src/main/java/com/github/zipcodewilmington/Casino.java index ac200bcd..5266ed71 100644 --- a/src/main/java/com/github/zipcodewilmington/Casino.java +++ b/src/main/java/com/github/zipcodewilmington/Casino.java @@ -20,40 +20,42 @@ public class Casino { private final IOConsole console = new IOConsole(AnsiColor.BLUE); + //while loop to beign the login + public void run() throws IOException{ String arcadeDashBoardInput; CasinoAccountManager casinoAccountManager = new CasinoAccountManager(); - do { - arcadeDashBoardInput = getArcadeDashboardInput(); - if ("select-game".equals(arcadeDashBoardInput)) { - String accountName = console.getStringInput("Enter your account name:"); - String accountPassword = console.getStringInput("Enter your account password:"); - CasinoAccount casinoAccount = casinoAccountManager.getAccount(accountName, accountPassword); - boolean isValidLogin = casinoAccount != null; - if (isValidLogin) { - String gameSelectionInput = getGameSelectionInput().toUpperCase(); - if (gameSelectionInput.equals("SLOTS")) { - play(new SlotsGame(), new SlotsPlayer()); - } else if (gameSelectionInput.equals("NUMBERGUESS")) { - play(new NumberGuessGame(), new NumberGuessPlayer()); - } else { - // TODO - implement better exception handling - String errorMessage = "[ %s ] is an invalid game selection"; - throw new RuntimeException(String.format(errorMessage, gameSelectionInput)); - } - } else { - // TODO - implement better exception handling - String errorMessage = "No account found with name of [ %s ] and password of [ %s ]"; - throw new RuntimeException(String.format(errorMessage, accountPassword, accountName)); - } - } else if ("create-account".equals(arcadeDashBoardInput)) { - console.println("Welcome to the account-creation screen."); - String accountName = console.getStringInput("Enter your account name:"); - String accountPassword = console.getStringInput("Enter your account password:"); - CasinoAccount newAccount = casinoAccountManager.createAccount(accountName, accountPassword); - casinoAccountManager.registerAccount(newAccount); - } - } while (!"logout".equals(arcadeDashBoardInput)); +// do { +// arcadeDashBoardInput = getArcadeDashboardInput(); +// if ("select-game".equals(arcadeDashBoardInput)) { +// String accountName = console.getStringInput("Enter your account name:"); +// String accountPassword = console.getStringInput("Enter your account password:"); +// CasinoAccount casinoAccount = casinoAccountManager.getAccount(accountName, accountPassword); +// boolean isValidLogin = casinoAccount != null; +// if (isValidLogin) { +// String gameSelectionInput = getGameSelectionInput().toUpperCase(); +// if (gameSelectionInput.equals("SLOTS")) { +// play(new SlotsGame(), new SlotsPlayer()); +// } else if (gameSelectionInput.equals("NUMBERGUESS")) { +// play(new NumberGuessGame(), new NumberGuessPlayer()); +// } else { +// // TODO - implement better exception handling +// String errorMessage = "[ %s ] is an invalid game selection"; +// throw new RuntimeException(String.format(errorMessage, gameSelectionInput)); +// } +// } else { +// // TODO - implement better exception handling +// String errorMessage = "No account found with name of [ %s ] and password of [ %s ]"; +// throw new RuntimeException(String.format(errorMessage, accountPassword, accountName)); +// } +// } else if ("create-account".equals(arcadeDashBoardInput)) { +// console.println("Welcome to the account-creation screen."); +// String accountName = console.getStringInput("Enter your account name:"); +// String accountPassword = console.getStringInput("Enter your account password:"); +// CasinoAccount newAccount = casinoAccountManager.createAccount(accountName, accountPassword); +// casinoAccountManager.registerAccount(newAccount); +// } +// } while (!"logout".equals(arcadeDashBoardInput)); } private String getArcadeDashboardInput() { diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java index 8cb20c78..a5a35f34 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java @@ -1,7 +1,113 @@ package com.github.zipcodewilmington.casino.games.slots; +import java.util.Random; +import java.util.Scanner; + +import static com.github.zipcodewilmington.casino.games.slots.SlotsPlayer.promptUserToStart; + /** * Created by leon on 7/21/2020. */ public class SlotsGame { + + static String[] wordList = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; + SlotsPlayer sp = new SlotsPlayer(); + + //just temp to check if code works + public static void main(String[] args) { + run(); + } + + public static void run() { + int numberOfTries=0; + + displayInstructions(); + + do { + promptUserToStart(); + String[] wordList = spin(); + printResult(wordList); + numberOfTries++; + System.out.println("Press Enter to spin again!"); + + } + while (numberOfTries<3); + + + if (checkMatch(wordList)){ + updateAccount(); + } else { + quit(); + } + + + } + + + public static void displayInstructions(){ + System.out.println(" ***************************************"); + System.out.println(" ---------------------------------------"); + System.out.println(" { Welcome to the Slot Machine Game!!! } "); + System.out.println(" ---------------------------------------"); + System.out.println(" ***************************************\n"); + System.out.println(" Type 'PULL' to crank the lever!\n "); + System.out.print(">>> "); + + + } + + public static String[] spin() { + Random random = new Random(); +// String[] wordList = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; + + + for (int i = 0; i < wordList.length; i++) { + int randomIndex = random.nextInt(wordList.length); + wordList[i] = wordList[randomIndex]; + } + + return wordList; + } + + public static void printResult(String[] wordList) { + System.out.println(wordList[0] + " " + wordList[1] + " " + wordList[2]); + + if (checkMatch(wordList)) { + System.out.println("Congratulations! You have a match!\n"); + } else { + System.out.println("Better luck next time. No match.\n"); + } + } + + + public static boolean checkMatch(String[] wordList) { + + return wordList[0].equals(wordList[1]) && wordList[0].equals(wordList[2]); + } + + public static void updateAccount(){ + System.out.println("BLOOOP.\n"); + + } + + public static void quit(){ + + System.out.println("Thank you for playing! Press 1 to replay or 2 to return to the casino lobby."); + Scanner console = new Scanner(System.in); + int choice = console.nextInt(); + if (choice == 1) { + run(); + } else if (choice == 2){ + + } + + + } + + } + + + + + diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsPlayer.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsPlayer.java index f89ebd7f..13846857 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsPlayer.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsPlayer.java @@ -1,7 +1,21 @@ package com.github.zipcodewilmington.casino.games.slots; +import java.util.Scanner; + /** * Created by leon on 7/21/2020. */ public class SlotsPlayer { + + + + + public static boolean promptUserToStart() { + Scanner scanner = new Scanner(System.in); + + String userInput = scanner.nextLine(); + + return userInput.equalsIgnoreCase(""); + } + } \ No newline at end of file From bb1cd7ac9dfd14cf1803be94fdeb8b8934928799 Mon Sep 17 00:00:00 2001 From: Keenen Date: Thu, 20 Jul 2023 16:57:17 -0400 Subject: [PATCH 10/48] NumberGuessGame update --- .../casino/games/numberguess/NumberGuessGame.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java index bad2b3e8..d6db32c2 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java @@ -8,9 +8,11 @@ public class NumberGuessGame { private Player player; private Scanner scanner; private int targetNumber; + private int numberOfTries; public NumberGuessGame() { this.scanner = new Scanner(System.in); + this.numberOfTries = 3; } public void add(Player player) { @@ -22,16 +24,22 @@ public void run() { boolean playAgain = true; while (playAgain) { targetNumber = (int) (Math.random() * 10) + 1; // Generate a random number between 1 and 10 + numberOfTries = 3; boolean isWinner = false; - while (!isWinner) { + while (!isWinner && numberOfTries > 0) { int userGuess = getUserGuess(); isWinner = checkWinner(userGuess); + numberOfTries--; if (isWinner) { System.out.println("Congratulations!!!! You LUCKILY guessed the right number: " + targetNumber); - } else { + } else if (numberOfTries > 0) { System.out.println("Better Luck Next Time!"); } + else { + System.out.println("Out of attempts! The number was " + targetNumber); + } + } playAgain = playAgain(); From e001cd203b26f010f66e3835380c0e86f797b486 Mon Sep 17 00:00:00 2001 From: Joe Date: Thu, 20 Jul 2023 17:12:57 -0400 Subject: [PATCH 11/48] roulette cleaned up and a couple tests --- .../games/rockpaperscissors/RpsGame.java | 6 +- .../games/rockpaperscissors/RpsPlayer.java | 6 +- .../casino/games/roulette/GameRoulette.java | 60 +++++++++++++------ .../games/roulette/GameRouletteTest.java | 41 +++++++++++++ 4 files changed, 88 insertions(+), 25 deletions(-) create mode 100644 src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java index ae7d1361..8e298ea4 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java @@ -2,15 +2,17 @@ import com.github.zipcodewilmington.casino.GameInterface; import com.github.zipcodewilmington.casino.Player; +import com.github.zipcodewilmington.casino.PlayerInterface; public class RpsGame implements GameInterface { + @Override - public void add(Player player) { + public void add(PlayerInterface player) { } @Override - public void remove(Player player) { + public void remove(PlayerInterface player) { } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java index 1acabdcf..a3be5ab8 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java @@ -3,8 +3,6 @@ import com.github.zipcodewilmington.casino.CasinoAccount; import com.github.zipcodewilmington.casino.Player; -public class RpsPlayer extends Player { - public RpsPlayer(CasinoAccount account) { -// super(account); - } +public class RpsPlayer { + } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java index ef5a3a42..d62f593e 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java @@ -8,26 +8,28 @@ import java.util.Random; import java.util.Scanner; -public class GameRoulette { - public static void main(String[] args) { - GameRoulette game = new GameRoulette(); - game.run(); - } +public class GameRoulette { + // public static void main(String[] args) { +// GameRoulette game = new GameRoulette(); +// game.run(); +// } Scanner console = new Scanner(System.in); Random rand = new Random(); int bank = 100; - int max = bank; - int spins = 0; - public void run(){ +// int max = bank; +// int spins = 0; + + public void run() { play(); int bet = getBet(); - int choice = getChoice("What would you like to bet on?", "1. odd", "2. even"); - int spin = getSpin(); - compareResults(bet, choice, spin); - spins++; - quit(); - } + int choice = getChoice("What would you like to bet on?", "1. odd", "2. even"); + int spin = getSpin(); + compareResults(bet, choice, spin); +// spins++; + quit(); + } + public void play() { System.out.println("Welcome to Roulette!"); @@ -39,7 +41,6 @@ public void play() { // } - } @@ -74,10 +75,10 @@ private void compareResults(int bet, int choice, int spin) { bank = bank - bet; System.out.println("You now have $" + bank + " in your bank."); } -} + } } - private int getSpin() { + int getSpin() { int spin = rand.nextInt(38); return spin; } @@ -88,6 +89,10 @@ private int getChoice(String x, String x1, String x2) { System.out.println(x2); int choice = console.nextInt(); + if (choice != 2 && choice != 1) { + System.out.println("Please enter a valid choice. 1 or 2."); + choice = console.nextInt(); + } return choice; } @@ -97,13 +102,22 @@ private int getChoice(String x, String x1, String x2) { // System.out.println("How much would you like to bet?"); // bet = console.nextInt(); - private int getBet() { - System.out.println("How much would you like to bet?"); + int getBet() { + System.out.println("You have $" + bank + " in your bank.\n" + + "The maximum amount you can bet is $" + bank + ".\n" + + " How much would you like to bet?"); int bet = console.nextInt(); + if (bet > bank) { + System.out.println("You cannot bet more than $" + bank + "."); + System.out.println("How much would you like to bet?"); + bet = console.nextInt(); + } return bet; } + private void quit() { System.out.println("Thank you for playing! Press 1 to replay or 2 to return to the casino lobby."); + int choice = console.nextInt(); if (choice == 1) { run(); @@ -112,4 +126,12 @@ private void quit() { //casino.run(); } } + public void broke(){ + if (bank <= 0){ + System.out.println("You are out of money. Please return to the casino lobby."); + + //Casino casino = new Casino(); + //casino.run(); + } + } } \ No newline at end of file diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java new file mode 100644 index 00000000..8ec96868 --- /dev/null +++ b/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java @@ -0,0 +1,41 @@ +package com.github.zipcodewilmington.casino.games.roulette; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class GameRouletteTest { + + + + @Test + void play() { +// Given + GameRoulette game = new GameRoulette(); + int expected = 100; +// When + int actual = game.bank; +// Then + assertEquals(expected, actual); + } + @Test + void testGetSpin() { +// Given + GameRoulette game = new GameRoulette(); +// When + int actual = game.getSpin(); +// Then + assertTrue(actual >= 0 && actual <= 37); + } + +// @Test +// void testGetBet() { +//// Given +// GameRoulette game = new GameRoulette(); +//// When +// int actual = game.getBet(); +//// Then +// assertTrue(actual >= 0 && actual <= 100); +// } + +} \ No newline at end of file From b5334a78515cd319dd706dfc0cb188744ed48c6f Mon Sep 17 00:00:00 2001 From: Joe Date: Thu, 20 Jul 2023 17:27:55 -0400 Subject: [PATCH 12/48] no merge conflicts --- .../zipcodewilmington/casino/CasinoAccountManager.java | 2 +- .../com/github/zipcodewilmington/casino/GameInterface.java | 4 ++-- .../casino/games/rockpaperscissors/RpsGame.java | 6 ++++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java b/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java index b18fd2a4..58cd357a 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java +++ b/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java @@ -19,7 +19,7 @@ public class CasinoAccountManager { private HashMap accounts; - private Path file = Paths.get("/Users/joe/Desktop/local projects/GroupCasino/src/main/java/com/github/zipcodewilmington/casino/games/accounts.txt"); //creates object used to locate file in file system + private Path file = Paths.get("accounts.txt"); //creates object used to locate file in file system public CasinoAccountManager() throws IOException { this.accounts = new HashMap<>(); // hashmap containing username as key, and account info as value diff --git a/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java b/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java index 37f73801..6cc97b48 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java +++ b/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java @@ -5,9 +5,9 @@ */ public interface GameInterface extends Runnable { - void add(PlayerInterface player); //add player to game + void add(Player player); //add player to game - void remove(PlayerInterface player);// remove player from game + void remove(Player player);// remove player from game String displayInstructions(); // display instruction for game diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java index 8e298ea4..6a4a8c7b 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java @@ -6,13 +6,15 @@ public class RpsGame implements GameInterface { + + @Override - public void add(PlayerInterface player) { + public void add(Player player) { } @Override - public void remove(PlayerInterface player) { + public void remove(Player player) { } From 58b455ed32942e1574f35fe2f8c12bc13a9c0234 Mon Sep 17 00:00:00 2001 From: surabhi Date: Thu, 20 Jul 2023 19:30:42 -0400 Subject: [PATCH 13/48] tests done --- .../casino/games/slots/SlotsGame.java | 37 +++++++++----- .../casino/games/slots/SlotsGameTest.java | 51 +++++++++++++++++++ 2 files changed, 75 insertions(+), 13 deletions(-) create mode 100644 src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java index a5a35f34..1f260975 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java @@ -1,5 +1,7 @@ package com.github.zipcodewilmington.casino.games.slots; +import com.github.zipcodewilmington.Casino; + import java.util.Random; import java.util.Scanner; @@ -13,13 +15,14 @@ public class SlotsGame { static String[] wordList = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; SlotsPlayer sp = new SlotsPlayer(); - //just temp to check if code works +// just temp to check if code works public static void main(String[] args) { run(); } public static void run() { int numberOfTries=0; + boolean hasMatch =false; displayInstructions(); @@ -28,13 +31,21 @@ public static void run() { String[] wordList = spin(); printResult(wordList); numberOfTries++; - System.out.println("Press Enter to spin again!"); + + if(checkMatch(wordList)){ + hasMatch =true; + break; + } + + if (numberOfTries<3) { + System.out.println("Press Enter to spin again!"); + } + } while (numberOfTries<3); - - if (checkMatch(wordList)){ + if (hasMatch){ updateAccount(); } else { quit(); @@ -45,12 +56,13 @@ public static void run() { public static void displayInstructions(){ - System.out.println(" ***************************************"); - System.out.println(" ---------------------------------------"); - System.out.println(" { Welcome to the Slot Machine Game!!! } "); - System.out.println(" ---------------------------------------"); - System.out.println(" ***************************************\n"); - System.out.println(" Type 'PULL' to crank the lever!\n "); + System.out.println(" ***************************************"); + System.out.println(" ---------------------------------------"); + System.out.println(" { Welcome to the Slot Machine Game!!! } "); + System.out.println(" ---------------------------------------"); + System.out.println(" ***************************************\n"); + System.out.println("You get three tries! If you win you double your bet!!\n"); + System.out.println(" Type 'PULL' to crank the lever!\n "); System.out.print(">>> "); @@ -58,9 +70,6 @@ public static void displayInstructions(){ public static String[] spin() { Random random = new Random(); -// String[] wordList = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; - - for (int i = 0; i < wordList.length; i++) { int randomIndex = random.nextInt(wordList.length); wordList[i] = wordList[randomIndex]; @@ -72,6 +81,7 @@ public static String[] spin() { public static void printResult(String[] wordList) { System.out.println(wordList[0] + " " + wordList[1] + " " + wordList[2]); + if (checkMatch(wordList)) { System.out.println("Congratulations! You have a match!\n"); } else { @@ -98,6 +108,7 @@ public static void quit(){ if (choice == 1) { run(); } else if (choice == 2){ + //back to main menu when i comment out this classes main method } diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java new file mode 100644 index 00000000..c7da5f81 --- /dev/null +++ b/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java @@ -0,0 +1,51 @@ +package com.github.zipcodewilmington.casino.games.slots; +import org.junit.Assert; +import org.junit.Test; + + +import java.util.Random; + +public class SlotsGameTest { + + + @Test + public void testSpin(){ + Random random = new Random(1); + SlotsGame sg = new SlotsGame(); + + String [] result = SlotsGame.spin(); + + String [] original = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; + Assert.assertTrue(original != result); + } + + @Test + public void testPrintResultTrue() { + // Mock input for wordList with a match + String[] wordList = {"word", "word", "word"}; + + // Call the method and capture the result + boolean result = SlotsGame.checkMatch(wordList); + + // Assert the expected result with the actual result + Assert.assertTrue(result); + + } + + @Test + public void testPrintResultFalse() { + // Mock input for wordList with a match + String[] wordList = {"word", "bloop", "word"}; + + // Call the method and capture the result + boolean result = SlotsGame.checkMatch(wordList); + + // Assert the expected result with the actual result + Assert.assertFalse(result); + + + } + + + +} From ffaf66ee5f87c4bf4f00f6e7041ac027681cf82d Mon Sep 17 00:00:00 2001 From: surabhi Date: Thu, 20 Jul 2023 21:38:31 -0400 Subject: [PATCH 14/48] coin toss --- .../casino/games/CoinToss/CoinTossGame.java | 38 +++++++++++++++++++ .../casino/games/slots/SlotsGame.java | 8 +++- 2 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java new file mode 100644 index 00000000..af9ef25e --- /dev/null +++ b/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java @@ -0,0 +1,38 @@ +package com.github.zipcodewilmington.casino.games.CoinToss; + +import java.util.Scanner; + +public class CoinTossGame { + + Scanner scanner = new Scanner(System.in); + + public static void main(String[] args) { + run(); + } + public static void run (){ + displayInstructions(); + + } + + public static void displayInstructions(){ + System.out.println(" ***************************************"); + System.out.println(" ---------------------------------------"); + System.out.println(" (H) Lets play coin toss (T) } "); + System.out.println(" ---------------------------------------"); + System.out.println(" ***************************************\n"); + System.out.println("You get three tries! If you win you double your bet!!\n"); + System.out.println(" Type 'FLIP' to try your luck!\n "); + //thurs night after angela changes + System.out.print(" >>> "); + + } + + + + + + + + + +} diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java index 1f260975..c149d2cc 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java @@ -63,7 +63,8 @@ public static void displayInstructions(){ System.out.println(" ***************************************\n"); System.out.println("You get three tries! If you win you double your bet!!\n"); System.out.println(" Type 'PULL' to crank the lever!\n "); - System.out.print(">>> "); + //thurs night after angela changes + System.out.print(" >>> "); } @@ -78,8 +79,11 @@ public static String[] spin() { return wordList; } + + public static void printResult(String[] wordList) { - System.out.println(wordList[0] + " " + wordList[1] + " " + wordList[2]); + //thurs night after angela changes + System.out.println(wordList[0] + " " + wordList[1] + " " + wordList[2]); if (checkMatch(wordList)) { From cfeb316bef436285fc73ba0f35213b463ed252ec Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Thu, 20 Jul 2023 22:02:13 -0400 Subject: [PATCH 15/48] updated console --- accounts.txt | 1 + .../com/github/zipcodewilmington/Casino.java | 41 +++++---- .../casino/GameInterface.java | 2 +- .../zipcodewilmington/casino/Player.java | 3 - .../games/rockpaperscissors/RpsGame.java | 86 +++++++++++++++++-- .../games/rockpaperscissors/RpsPlayer.java | 6 ++ .../casino/games/slots/SlotsGame.java | 28 +++--- .../CasinoAccountManagerTest.java | 16 ++-- 8 files changed, 134 insertions(+), 49 deletions(-) diff --git a/accounts.txt b/accounts.txt index 356f51f4..946a5ea4 100644 --- a/accounts.txt +++ b/accounts.txt @@ -1,2 +1,3 @@ +pebbles password 1000 angela apple 100 bob pw 2000 diff --git a/src/main/java/com/github/zipcodewilmington/Casino.java b/src/main/java/com/github/zipcodewilmington/Casino.java index 84561bc8..be188a26 100644 --- a/src/main/java/com/github/zipcodewilmington/Casino.java +++ b/src/main/java/com/github/zipcodewilmington/Casino.java @@ -21,13 +21,6 @@ */ public class Casino { - // wordguess wg1 = new wordguess - - // game object 2 - - // game object 3 - - // player private final IOConsole console = new IOConsole(AnsiColor.CYAN); public void run() throws IOException { @@ -58,26 +51,32 @@ public void run() throws IOException { case "SELECT GAME": String gameSelectionInput = getGameSelectionInput().toUpperCase(); switch (gameSelectionInput) { - case "ROCK PAPER SCISSORS": + case "ROCK PAPER SCISSOR": case "NUMBER GUESS": - if (gameSelectionInput.equals("ROCK PAPER SCISSORS")) { - new RpsGame().run(); - } else { - new NumberGuessGame().run(); - } - casinoAccountManager.updateAccounts(); - break; - case "SLOTS": case "ROULETTE": - if (gameSelectionInput.equals("SLOTS")) { + // log in user account + CasinoAccount userAccount = promptLogin(casinoAccountManager); + if(userAccount == null) { + console.println("No account found with that username and password. " + + "Redirecting to the main menu."); + break; + } + + if (gameSelectionInput.equals("ROCK PAPER SCISSOR")) { + new RpsGame().run(); + } else if(gameSelectionInput.equals("NUMBER GUESS")){ + new NumberGuessGame().run(); + } else if (gameSelectionInput.equals("SLOTS")) { new SlotsGame().run(); } else { new GameRoulette().run(); } + casinoAccountManager.updateAccounts(); break; + } } @@ -95,10 +94,16 @@ private String getArcadeDashboardInput() { private String getGameSelectionInput() { return console.getStringInput( "Select any of the following games: \n" + - "[SLOTS] [ROULETTE] [COIN FLIP] [NUMBER GUESS] [21] [ROCK PAPER SCISSORS] \n" + + "[SLOTS] [ROULETTE] [COIN FLIP] [NUMBER GUESS] [21] [ROCK PAPER SCISSOR] \n" + ">> "); } + private CasinoAccount promptLogin(CasinoAccountManager cam) { + String userName = console.getStringInput("Enter your username: "); + String password = console.getStringInput("Enter your password: "); + return cam.getAccount(userName, password); + } + private void welcome() { console.println("Welcome to the Trillium Casino! \n\n"); } diff --git a/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java b/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java index 6cc97b48..2f6811df 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java +++ b/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java @@ -9,7 +9,7 @@ public interface GameInterface extends Runnable { void remove(Player player);// remove player from game - String displayInstructions(); // display instruction for game + void displayInstructions(); // display instruction for game Boolean checkWinner(); // compare to see if user won/lost diff --git a/src/main/java/com/github/zipcodewilmington/casino/Player.java b/src/main/java/com/github/zipcodewilmington/casino/Player.java index 5d322aef..511e0838 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/Player.java +++ b/src/main/java/com/github/zipcodewilmington/casino/Player.java @@ -12,8 +12,5 @@ public CasinoAccount getAccount() { // return/access account with this method return this.account; } - public String getUsername() { // return/access username - return this.account.getUserName(); - } } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java index ae7d1361..739e2796 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java @@ -1,36 +1,104 @@ package com.github.zipcodewilmington.casino.games.rockpaperscissors; +import com.fasterxml.jackson.databind.util.ISO8601Utils; import com.github.zipcodewilmington.casino.GameInterface; import com.github.zipcodewilmington.casino.Player; +import com.github.zipcodewilmington.utils.AnsiColor; +import com.github.zipcodewilmington.utils.IOConsole; + +import java.util.Random; public class RpsGame implements GameInterface { + + RpsPlayer player; + String userChoice; + String computerChoice; + String playAgain; + String[] choices = {"ROCK", "PAPER", "SCISSOR"}; + + private final IOConsole console = new IOConsole(AnsiColor.CYAN); @Override - public void add(Player player) { + public void run() { + + displayInstructions(); + + boolean play = true; + while(play==true) { + + getUserChoice(); + + getComputerChoice(); + + displayResults(userChoice, computerChoice); + + playAgain(); + if(playAgain.equalsIgnoreCase("yes")) { + play = true; + } else if(playAgain.equalsIgnoreCase("no")) { + play = false; + } + + } } @Override - public void remove(Player player) { + public void displayInstructions() { + console.println("Welcome to Trillium's Rock Paper Scissor Game!"); + } + + public String getUserChoice() { + userChoice = console.getStringInput("Enter your choice: Rock Paper Scissor"); + return userChoice.toUpperCase(); + } + + public String getComputerChoice() { + Random random = new Random(); + int number = random.nextInt(3); + computerChoice = choices[number]; + return computerChoice; + } + + + public Boolean isWinner(String userChoice, String computerChoice) { + return (userChoice.equalsIgnoreCase("ROCK") && computerChoice.equals("SCISSOR")) || + (userChoice.equalsIgnoreCase("PAPER") && computerChoice.equals("ROCK")) || + (userChoice.equalsIgnoreCase("SCISSOR") && computerChoice.equals("PAPER")); } + public void displayResults(String userChoice, String computerChoice) { + if (userChoice.equals(computerChoice)) { + console.println("It's a tie!"); + } else if (isWinner(userChoice, computerChoice)) { + console.println("You won!"); + } else { + console.println("You lost..."); + } + console.println("You chose: " + userChoice + " and we chose: " + computerChoice); + } + + public String playAgain() { + playAgain = console.getStringInput("Would you like to play again? Enter \"yes\" or \"no\"."); + return playAgain; + } + @Override - public String displayInstructions() { - return null; + public void add(Player player) { + } + @Override + public void remove(Player player) { + + } @Override public Boolean checkWinner() { return null; } - @Override public void quit() { } - @Override - public void run() { - - } } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java index ff25feff..ee61e209 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java @@ -4,7 +4,13 @@ import com.github.zipcodewilmington.casino.Player; public class RpsPlayer extends Player { + public RpsPlayer(CasinoAccount account) { super(account); } + + @Override + public CasinoAccount getAccount() { + return this.account; + } } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java index 4a11f85d..27087206 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java @@ -1,6 +1,10 @@ package com.github.zipcodewilmington.casino.games.slots; +import com.github.zipcodewilmington.utils.AnsiColor; +import com.github.zipcodewilmington.utils.IOConsole; + import java.util.Random; +import java.util.Scanner; import static com.github.zipcodewilmington.casino.games.slots.SlotsPlayer.promptUserToStart; @@ -8,8 +12,8 @@ * Created by leon on 7/21/2020. */ public class SlotsGame { - - static String[] wordList = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; + Scanner console = new Scanner(System.in); + String[] wordList = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; SlotsPlayer sp = new SlotsPlayer(); //just temp to check if code works @@ -17,7 +21,7 @@ public class SlotsGame { // run(); // } - public static void run() { + public void run() { int numberOfTries=0; displayInstructions(); @@ -43,7 +47,7 @@ public static void run() { } - public static void displayInstructions(){ + public void displayInstructions(){ System.out.println(" ***************************************"); System.out.println(" ---------------------------------------"); System.out.println(" { Welcome to the Slot Machine Game!!! } "); @@ -55,7 +59,7 @@ public static void displayInstructions(){ } - public static String[] spin() { + public String[] spin() { Random random = new Random(); // String[] wordList = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; @@ -68,7 +72,7 @@ public static String[] spin() { return wordList; } - public static void printResult(String[] wordList) { + public void printResult(String[] wordList) { System.out.println(wordList[0] + " " + wordList[1] + " " + wordList[2]); if (checkMatch(wordList)) { @@ -79,18 +83,22 @@ public static void printResult(String[] wordList) { } - public static boolean checkMatch(String[] wordList) { + public boolean checkMatch(String[] wordList) { return wordList[0].equals(wordList[1]) && wordList[0].equals(wordList[2]); } - public static void updateAccount(){ + public void updateAccount(){ System.out.println("BLOOOP.\n"); } - public static void quit(){ - System.out.println("QUIT.\n"); + public void quit(){ + System.out.println("Thank you for playing! Press 1 to replay or 2 to exit game"); + int choice = console.nextInt(); + if(choice==1) { + run(); + } } diff --git a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java index 1733bf20..7699a1fd 100644 --- a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java +++ b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java @@ -20,13 +20,13 @@ public void testGetAccount() throws IOException { Assert.assertEquals(actual, account); } -// @Test -// public void testCreateAccount() throws IOException { -// CasinoAccountManager cam = new CasinoAccountManager(); -// cam.createAccount("Angela", "password", 1000); -// CasinoAccount actual = cam.getAccount("Angela", "password"); -// -// Assert.assertEquals(actual, account); -// } + @Test + public void testCreateAccount() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount expected = cam.createAccount("Angela", "password", 1000); + CasinoAccount actual = cam.getAccount("Angela", "password"); + + Assert.assertEquals(expected, actual); + } } From 0ece42ef46fba62cea015499672c8f8381f8a220 Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Fri, 21 Jul 2023 00:13:03 -0400 Subject: [PATCH 16/48] updated rps --- .../com/github/zipcodewilmington/Casino.java | 7 +-- .../zipcodewilmington/casino/Account.java | 13 ++++++ .../casino/CasinoAccount.java | 4 +- .../zipcodewilmington/casino/Player.java | 7 +-- .../games/rockpaperscissors/RpsGame.java | 6 +++ .../games/rockpaperscissors/RpsPlayer.java | 10 ++-- .../zipcodewilmington/CasinoAccountTest.java | 46 +++++++++---------- 7 files changed, 56 insertions(+), 37 deletions(-) create mode 100644 src/main/java/com/github/zipcodewilmington/casino/Account.java diff --git a/src/main/java/com/github/zipcodewilmington/Casino.java b/src/main/java/com/github/zipcodewilmington/Casino.java index be188a26..0828c4bf 100644 --- a/src/main/java/com/github/zipcodewilmington/Casino.java +++ b/src/main/java/com/github/zipcodewilmington/Casino.java @@ -2,11 +2,11 @@ import com.github.zipcodewilmington.casino.CasinoAccount; import com.github.zipcodewilmington.casino.CasinoAccountManager; -import com.github.zipcodewilmington.casino.GameInterface; -import com.github.zipcodewilmington.casino.PlayerInterface; + import com.github.zipcodewilmington.casino.games.numberguess.NumberGuessGame; import com.github.zipcodewilmington.casino.games.numberguess.NumberGuessPlayer; import com.github.zipcodewilmington.casino.games.rockpaperscissors.RpsGame; +import com.github.zipcodewilmington.casino.games.rockpaperscissors.RpsPlayer; import com.github.zipcodewilmington.casino.games.roulette.GameRoulette; import com.github.zipcodewilmington.casino.games.slots.SlotsGame; import com.github.zipcodewilmington.casino.games.slots.SlotsPlayer; @@ -64,7 +64,8 @@ public void run() throws IOException { } if (gameSelectionInput.equals("ROCK PAPER SCISSOR")) { - new RpsGame().run(); + RpsPlayer player = new RpsPlayer(userAccount); + new RpsGame(player).run(); } else if(gameSelectionInput.equals("NUMBER GUESS")){ new NumberGuessGame().run(); } else if (gameSelectionInput.equals("SLOTS")) { diff --git a/src/main/java/com/github/zipcodewilmington/casino/Account.java b/src/main/java/com/github/zipcodewilmington/casino/Account.java new file mode 100644 index 00000000..6d1f6966 --- /dev/null +++ b/src/main/java/com/github/zipcodewilmington/casino/Account.java @@ -0,0 +1,13 @@ +package com.github.zipcodewilmington.casino; + +public interface Account { + + public void addBalance(int amount); + + public void withdrawBalance(int amount); + + public Integer getBalance(); + + public boolean checkBalance(int amount); + +} diff --git a/src/main/java/com/github/zipcodewilmington/casino/CasinoAccount.java b/src/main/java/com/github/zipcodewilmington/casino/CasinoAccount.java index 8fa564ea..3c3c4b13 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/CasinoAccount.java +++ b/src/main/java/com/github/zipcodewilmington/casino/CasinoAccount.java @@ -5,7 +5,7 @@ * `ArcadeAccount` is registered for each user of the `Arcade`. * The `ArcadeAccount` is used to log into the system to select a `Game` to play. */ -public class CasinoAccount { +public class CasinoAccount implements Account{ private String userName; private String password; @@ -25,7 +25,7 @@ public String getPassword() { return password; } - public int getBalance() { + public Integer getBalance() { return balance; } diff --git a/src/main/java/com/github/zipcodewilmington/casino/Player.java b/src/main/java/com/github/zipcodewilmington/casino/Player.java index 511e0838..ea668895 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/Player.java +++ b/src/main/java/com/github/zipcodewilmington/casino/Player.java @@ -1,14 +1,15 @@ package com.github.zipcodewilmington.casino; + public abstract class Player { - protected CasinoAccount account; + protected Account account; - public Player(CasinoAccount account) { + public Player(Account account) { this.account = account; } - public CasinoAccount getAccount() { // return/access account with this method + public Account getAccount() { // return/access account with this method return this.account; } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java index 739e2796..41ef3bad 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java @@ -17,6 +17,11 @@ public class RpsGame implements GameInterface { String[] choices = {"ROCK", "PAPER", "SCISSOR"}; private final IOConsole console = new IOConsole(AnsiColor.CYAN); + + public RpsGame(RpsPlayer player) { + this.player = player; + } + @Override public void run() { @@ -74,6 +79,7 @@ public void displayResults(String userChoice, String computerChoice) { console.println("You won!"); } else { console.println("You lost..."); + player.getAccount().withdrawBalance(50); } console.println("You chose: " + userChoice + " and we chose: " + computerChoice); } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java index ee61e209..45136a7a 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java @@ -1,16 +1,14 @@ package com.github.zipcodewilmington.casino.games.rockpaperscissors; +import com.github.zipcodewilmington.casino.Account; import com.github.zipcodewilmington.casino.CasinoAccount; import com.github.zipcodewilmington.casino.Player; -public class RpsPlayer extends Player { +public class RpsPlayer extends Player{ - public RpsPlayer(CasinoAccount account) { + public RpsPlayer(Account account) { super(account); } - @Override - public CasinoAccount getAccount() { - return this.account; - } + } diff --git a/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java b/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java index 2ffcdf44..8aed8f01 100644 --- a/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java +++ b/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java @@ -19,29 +19,29 @@ public void getPasswordTest() { Assert.assertEquals(expected, account.getPassword()); } - @Test - public void getBalanceTest() { - int expected = 1000; - Assert.assertEquals(expected, account.getBalance()); - } - - @Test - public void setBalanceTest() { - account.setBalance(5000); - Assert.assertEquals(5000, account.getBalance()); - } - - @Test - public void addBalanceTest() { - account.addBalance(5000); - Assert.assertEquals(6000, account.getBalance()); - } - - @Test - public void withdrawBalanceTest() { - account.withdrawBalance(600); - Assert.assertEquals(400, account.getBalance()); - } +// @Test +// public void getBalanceTest() { +// int expected = 1000; +// Assert.assertEquals(expected, account.getBalance()); +// } +// +// @Test +// public void setBalanceTest() { +// account.setBalance(5000); +// Assert.assertEquals(5000, account.getBalance()); +// } +// +// @Test +// public void addBalanceTest() { +// account.addBalance(5000); +// Assert.assertEquals(6000, account.getBalance()); +// } +// +// @Test +// public void withdrawBalanceTest() { +// account.withdrawBalance(600); +// Assert.assertEquals(400, account.getBalance()); +// } @Test public void checkBalanceTest1() { From 6abdfc7ade7b99a1e04f0d194559a1b1aef2acab Mon Sep 17 00:00:00 2001 From: Joe Date: Fri, 21 Jul 2023 08:11:26 -0400 Subject: [PATCH 17/48] roulette implements Gameinterface --- .../casino/GameInterface.java | 14 +++---- .../games/rockpaperscissors/RpsGame.java | 38 +++++++++---------- .../casino/games/roulette/GameRoulette.java | 17 ++++++--- 3 files changed, 38 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java b/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java index 6cc97b48..dd4b13d1 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java +++ b/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java @@ -5,13 +5,13 @@ */ public interface GameInterface extends Runnable { - void add(Player player); //add player to game - - void remove(Player player);// remove player from game - - String displayInstructions(); // display instruction for game - - Boolean checkWinner(); // compare to see if user won/lost +// void add(Player player); //add player to game +// +// void remove(Player player);// remove player from game +// +// String displayInstructions(); // display instruction for game +// +// Boolean checkWinner(); // compare to see if user won/lost void quit(); // exit game void run(); //specifies how game will run diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java index 6a4a8c7b..6b45eadf 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java @@ -8,25 +8,25 @@ public class RpsGame implements GameInterface { - @Override - public void add(Player player) { - - } - - @Override - public void remove(Player player) { - - } - - @Override - public String displayInstructions() { - return null; - } - - @Override - public Boolean checkWinner() { - return null; - } +// @Override +// public void add(Player player) { +// +// } +// +// @Override +// public void remove(Player player) { +// +// } +// +// @Override +// public String displayInstructions() { +// return null; +// } +// +// @Override +// public Boolean checkWinner() { +// return null; +// } @Override public void quit() { diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java index d62f593e..e31cad03 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java @@ -1,14 +1,16 @@ package com.github.zipcodewilmington.casino.games.roulette; +import com.github.zipcodewilmington.Casino; import com.github.zipcodewilmington.casino.CasinoAccount; import com.github.zipcodewilmington.casino.GameInterface; import com.github.zipcodewilmington.casino.Player; import com.github.zipcodewilmington.casino.PlayerInterface; +import java.io.IOException; import java.util.Random; import java.util.Scanner; -public class GameRoulette { +public class GameRoulette implements GameInterface { // public static void main(String[] args) { // GameRoulette game = new GameRoulette(); // game.run(); @@ -27,6 +29,11 @@ public void run() { int spin = getSpin(); compareResults(bet, choice, spin); // spins++; + try { + broke(); + } catch (IOException e) { + throw new RuntimeException(e); + } quit(); } @@ -115,7 +122,7 @@ int getBet() { return bet; } - private void quit() { + public void quit() { System.out.println("Thank you for playing! Press 1 to replay or 2 to return to the casino lobby."); int choice = console.nextInt(); @@ -126,12 +133,12 @@ private void quit() { //casino.run(); } } - public void broke(){ + public void broke() throws IOException { if (bank <= 0){ System.out.println("You are out of money. Please return to the casino lobby."); - //Casino casino = new Casino(); - //casino.run(); + Casino casino = new Casino(); + casino.run(); } } } \ No newline at end of file From a0e29c77318017a0966393fa80875969bc84ff21 Mon Sep 17 00:00:00 2001 From: Joe Date: Fri, 21 Jul 2023 08:11:26 -0400 Subject: [PATCH 18/48] roulette implements Gameinterface --- .../casino/GameInterface.java | 14 +++---- .../games/rockpaperscissors/RpsGame.java | 38 +++++++++---------- .../casino/games/roulette/GameRoulette.java | 17 ++++++--- 3 files changed, 38 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java b/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java index 6cc97b48..dd4b13d1 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java +++ b/src/main/java/com/github/zipcodewilmington/casino/GameInterface.java @@ -5,13 +5,13 @@ */ public interface GameInterface extends Runnable { - void add(Player player); //add player to game - - void remove(Player player);// remove player from game - - String displayInstructions(); // display instruction for game - - Boolean checkWinner(); // compare to see if user won/lost +// void add(Player player); //add player to game +// +// void remove(Player player);// remove player from game +// +// String displayInstructions(); // display instruction for game +// +// Boolean checkWinner(); // compare to see if user won/lost void quit(); // exit game void run(); //specifies how game will run diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java index 6a4a8c7b..6b45eadf 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java @@ -8,25 +8,25 @@ public class RpsGame implements GameInterface { - @Override - public void add(Player player) { - - } - - @Override - public void remove(Player player) { - - } - - @Override - public String displayInstructions() { - return null; - } - - @Override - public Boolean checkWinner() { - return null; - } +// @Override +// public void add(Player player) { +// +// } +// +// @Override +// public void remove(Player player) { +// +// } +// +// @Override +// public String displayInstructions() { +// return null; +// } +// +// @Override +// public Boolean checkWinner() { +// return null; +// } @Override public void quit() { diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java index d62f593e..e31cad03 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java @@ -1,14 +1,16 @@ package com.github.zipcodewilmington.casino.games.roulette; +import com.github.zipcodewilmington.Casino; import com.github.zipcodewilmington.casino.CasinoAccount; import com.github.zipcodewilmington.casino.GameInterface; import com.github.zipcodewilmington.casino.Player; import com.github.zipcodewilmington.casino.PlayerInterface; +import java.io.IOException; import java.util.Random; import java.util.Scanner; -public class GameRoulette { +public class GameRoulette implements GameInterface { // public static void main(String[] args) { // GameRoulette game = new GameRoulette(); // game.run(); @@ -27,6 +29,11 @@ public void run() { int spin = getSpin(); compareResults(bet, choice, spin); // spins++; + try { + broke(); + } catch (IOException e) { + throw new RuntimeException(e); + } quit(); } @@ -115,7 +122,7 @@ int getBet() { return bet; } - private void quit() { + public void quit() { System.out.println("Thank you for playing! Press 1 to replay or 2 to return to the casino lobby."); int choice = console.nextInt(); @@ -126,12 +133,12 @@ private void quit() { //casino.run(); } } - public void broke(){ + public void broke() throws IOException { if (bank <= 0){ System.out.println("You are out of money. Please return to the casino lobby."); - //Casino casino = new Casino(); - //casino.run(); + Casino casino = new Casino(); + casino.run(); } } } \ No newline at end of file From 09a16b6e42b5edf80da686861453f97c96a87e58 Mon Sep 17 00:00:00 2001 From: surabhi Date: Fri, 21 Jul 2023 08:49:17 -0400 Subject: [PATCH 19/48] coin toss updated --- .../casino/games/CoinToss/CoinTossGame.java | 68 +++++++++++++++++-- .../casino/games/slots/SlotsGame.java | 4 +- .../casino/games/CoinTossTest.java | 6 ++ 3 files changed, 70 insertions(+), 8 deletions(-) create mode 100644 src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java index af9ef25e..938ac4a8 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java @@ -1,38 +1,94 @@ package com.github.zipcodewilmington.casino.games.CoinToss; +import java.util.Random; import java.util.Scanner; public class CoinTossGame { - Scanner scanner = new Scanner(System.in); + int userFlip; + int gameAns; + static int toss; + static int choice; + + public static void main(String[] args) { run(); } public static void run (){ displayInstructions(); + int tossResult=theToss(); + + for (int i=0;i<3;i++){ + int userChoice=getChoice(); + displayTossResult(tossResult); + match(tossResult,userChoice); + + if (i<2 && tossResult ==userChoice){ + updateAccount(); + break; + } + + tossResult=theToss(); + } + quit(); } public static void displayInstructions(){ System.out.println(" ***************************************"); System.out.println(" ---------------------------------------"); - System.out.println(" (H) Lets play coin toss (T) } "); + System.out.println(" (H) Lets play coin toss (T) "); System.out.println(" ---------------------------------------"); System.out.println(" ***************************************\n"); System.out.println("You get three tries! If you win you double your bet!!\n"); - System.out.println(" Type 'FLIP' to try your luck!\n "); - //thurs night after angela changes - System.out.print(" >>> "); + + + } + + public static int theToss(){ + Random random = new Random(); + int toss= random.nextInt(2); + return toss; } + public static int getChoice(){ + Scanner scanner = new Scanner(System.in); + System.out.println(" Enter your Guess: 0 for Heads, 1 for Tails"); + int choice = scanner.nextInt(); + return choice; + + } + public static void displayTossResult(int result) { + System.out.println("The coin toss result: " + (result == 0 ? "Heads" : "Tails")); + } + public static void match(int toss, int choice) { + if (toss == choice) { + System.out.println("Congratulations! You guessed it right!"); + } else { + System.out.println("Sorry! Better luck next time."); + } + } + public static void updateAccount(){ + System.out.println("BLOOOP.\n"); + } + public static void quit() { + System.out.println("Thank you for playing! Press 1 to replay or 2 to return to the casino lobby."); + Scanner console = new Scanner(System.in); + int choice = console.nextInt(); + if (choice == 1) { + run(); + } else if (choice == 2) { + //back to main menu when i comment out this classes main method + } -} + } + } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java index c149d2cc..92b63045 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java @@ -63,7 +63,7 @@ public static void displayInstructions(){ System.out.println(" ***************************************\n"); System.out.println("You get three tries! If you win you double your bet!!\n"); System.out.println(" Type 'PULL' to crank the lever!\n "); - //thurs night after angela changes + System.out.print(" >>> "); @@ -82,7 +82,7 @@ public static String[] spin() { public static void printResult(String[] wordList) { - //thurs night after angela changes + System.out.println(wordList[0] + " " + wordList[1] + " " + wordList[2]); diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java new file mode 100644 index 00000000..da14c93b --- /dev/null +++ b/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java @@ -0,0 +1,6 @@ +package com.github.zipcodewilmington.casino.games; + +public class CoinTossTest { + + +} From c34a11206eec4ac700cc600e93c602156305a462 Mon Sep 17 00:00:00 2001 From: Keenen Date: Fri, 21 Jul 2023 09:02:57 -0400 Subject: [PATCH 20/48] 7/21/23 --- .../casino/games/numberguess/NumberGuessGame.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java index d6db32c2..7f88cf72 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java @@ -90,3 +90,4 @@ class Player { // You can add additional methods or attributes specific to the player here } +//minor change to try and push \ No newline at end of file From 5ef872b6c4cb3787a2e42f1379a0e92cb565fafa Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Fri, 21 Jul 2023 09:14:54 -0400 Subject: [PATCH 21/48] updated rps --- accounts.txt | 5 ++- .../com/github/zipcodewilmington/Casino.java | 29 +++++++------ .../games/rockpaperscissors/RpsGame.java | 43 ++++++++++++------- .../casino/games/RPSTest.java | 42 ++++++++++++++++++ 4 files changed, 88 insertions(+), 31 deletions(-) create mode 100644 src/test/java/com/github/zipcodewilmington/casino/games/RPSTest.java diff --git a/accounts.txt b/accounts.txt index 946a5ea4..3dcb7952 100644 --- a/accounts.txt +++ b/accounts.txt @@ -1,3 +1,6 @@ +banana pie 400 pebbles password 1000 angela apple 100 -bob pw 2000 +bob pw 1800 +poobers pebs 300 +anna pie 40 diff --git a/src/main/java/com/github/zipcodewilmington/Casino.java b/src/main/java/com/github/zipcodewilmington/Casino.java index 0828c4bf..fdab6ac9 100644 --- a/src/main/java/com/github/zipcodewilmington/Casino.java +++ b/src/main/java/com/github/zipcodewilmington/Casino.java @@ -35,16 +35,16 @@ public void run() throws IOException { switch (arcadeDashBoardInput) { case "CREATE ACCOUNT": - console.println("Create an account here! "); - String userName = console.getStringInput("Enter your account username: "); + console.println("\n Create an account here! \n"); + String userName = console.getStringInput("\nEnter your account username: "); String userPassword = console.getStringInput("Enter your account password: "); Integer userBalance = console.getIntegerInput("Enter the dollar amount of money you would like to add to your account: "); if (casinoAccountManager.getAccountUsername().contains(userName)) { - System.out.println("This username already exists"); + System.out.println("\n This username already exists\n"); } else { casinoAccountManager.createAccount(userName, userPassword, userBalance); casinoAccountManager.updateAccounts(); - System.out.println("Account successfully created"); + System.out.println("\n Account successfully created\n"); } break; @@ -58,8 +58,8 @@ public void run() throws IOException { // log in user account CasinoAccount userAccount = promptLogin(casinoAccountManager); if(userAccount == null) { - console.println("No account found with that username and password. " + - "Redirecting to the main menu."); + console.println("\n No account found with that username and password. " + + "Redirecting to the main menu.\n"); break; } @@ -87,26 +87,27 @@ public void run() throws IOException { private String getArcadeDashboardInput() { return console.getStringInput( - "Select an option: \n" + - "[CREATE ACCOUNT] [SELECT GAME] [EXIT] \n" + - ">> "); + "\n Select an option: \n" + + "[CREATE ACCOUNT] [SELECT GAME] [EXIT] "); } private String getGameSelectionInput() { return console.getStringInput( - "Select any of the following games: \n" + - "[SLOTS] [ROULETTE] [COIN FLIP] [NUMBER GUESS] [21] [ROCK PAPER SCISSOR] \n" + - ">> "); + "\n\n Select any of the following games: \n" + + "[SLOTS] [ROULETTE] [COIN FLIP] [NUMBER GUESS] [ROCK PAPER SCISSOR] "); + } private CasinoAccount promptLogin(CasinoAccountManager cam) { - String userName = console.getStringInput("Enter your username: "); + String userName = console.getStringInput("\nEnter your username: "); String password = console.getStringInput("Enter your password: "); return cam.getAccount(userName, password); } private void welcome() { - console.println("Welcome to the Trillium Casino! \n\n"); + console.println(" +++++++++++++++++++++++++++++++++++\n" + + " Welcome to the Trillium Casino!\n" + + " +++++++++++++++++++++++++++++++++++\n"); } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java index 41ef3bad..2602fef2 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java @@ -14,7 +14,7 @@ public class RpsGame implements GameInterface { String userChoice; String computerChoice; String playAgain; - String[] choices = {"ROCK", "PAPER", "SCISSOR"}; + String[] choices = {"R", "P", "S"}; private final IOConsole console = new IOConsole(AnsiColor.CYAN); @@ -49,43 +49,54 @@ public void run() { @Override public void displayInstructions() { - console.println("Welcome to Trillium's Rock Paper Scissor Game!"); + console.println(" ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" + + " Welcome to the Trillium's Rock Paper Scissor Game!\n" + + " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"); } public String getUserChoice() { - userChoice = console.getStringInput("Enter your choice: Rock Paper Scissor"); + userChoice = console.getStringInput("\n Enter your move: [R] for rock [P] for paper [S] for scissor"); + while(true) { + if (!(userChoice.equalsIgnoreCase("R") || userChoice.equalsIgnoreCase("S") || userChoice.equalsIgnoreCase("P"))) { + console.println(userChoice + " is not a valid move."); + } + break; + } return userChoice.toUpperCase(); } public String getComputerChoice() { - Random random = new Random(); - int number = random.nextInt(3); - computerChoice = choices[number]; + computerChoice = choices[new Random().nextInt(choices.length)]; return computerChoice; +// Random random = new Random(); +// int number = random.nextInt(3); +// computerChoice = choices[number]; +// return computerChoice; } public Boolean isWinner(String userChoice, String computerChoice) { - return (userChoice.equalsIgnoreCase("ROCK") && computerChoice.equals("SCISSOR")) || - (userChoice.equalsIgnoreCase("PAPER") && computerChoice.equals("ROCK")) || - (userChoice.equalsIgnoreCase("SCISSOR") && computerChoice.equals("PAPER")); + return (userChoice.equalsIgnoreCase("R") && computerChoice.equalsIgnoreCase("S")) || + (userChoice.equalsIgnoreCase("P") && computerChoice.equalsIgnoreCase("R")) || + (userChoice.equalsIgnoreCase("S") && computerChoice.equalsIgnoreCase("P")); } public void displayResults(String userChoice, String computerChoice) { - if (userChoice.equals(computerChoice)) { - console.println("It's a tie!"); + if (userChoice.equalsIgnoreCase(computerChoice)) { + console.println("\n It's a tie!\n"); } else if (isWinner(userChoice, computerChoice)) { - console.println("You won!"); + console.println("\n You won!\n"); } else { - console.println("You lost..."); - player.getAccount().withdrawBalance(50); + console.println("\n You lost...\n"); +// player.getAccount().withdrawBalance(50); } - console.println("You chose: " + userChoice + " and we chose: " + computerChoice); + console.println(" Your move: " + userChoice.toUpperCase() + + "\n Our move: " + computerChoice); } public String playAgain() { - playAgain = console.getStringInput("Would you like to play again? Enter \"yes\" or \"no\"."); + playAgain = console.getStringInput("\n Would you like to play again? Enter [YES] or [NO]"); return playAgain; } diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/RPSTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/RPSTest.java new file mode 100644 index 00000000..852f1c5a --- /dev/null +++ b/src/test/java/com/github/zipcodewilmington/casino/games/RPSTest.java @@ -0,0 +1,42 @@ +package com.github.zipcodewilmington.casino.games; + +import com.github.zipcodewilmington.Casino; +import com.github.zipcodewilmington.casino.Account; +import com.github.zipcodewilmington.casino.CasinoAccount; +import com.github.zipcodewilmington.casino.CasinoAccountManager; +import com.github.zipcodewilmington.casino.games.rockpaperscissors.RpsGame; +import com.github.zipcodewilmington.casino.games.rockpaperscissors.RpsPlayer; +import org.junit.Assert; +import org.junit.Test; + +import java.io.IOException; +import java.util.Random; + +public class RPSTest { + + @Test + public void testIsWinner() { + CasinoAccount account = new CasinoAccount("Angela", "pw", 500); + RpsPlayer player = new RpsPlayer(account); + RpsGame game = new RpsGame(player); + String user = "ROCK"; + String computer = "SCISSOR"; + boolean winner = game.isWinner(user, computer); + + Assert.assertTrue(winner); + } + + @Test + public void testIsWinner2() { + CasinoAccount account = new CasinoAccount("Angela", "pw", 500); + RpsPlayer player = new RpsPlayer(account); + RpsGame game = new RpsGame(player); + String user = "ROCK"; + String computer = "PAPER"; + boolean winner = game.isWinner(user, computer); + + Assert.assertFalse(winner); + } + + +} From 71ab166acc0c1c99cff74b5fb46c4276f4693746 Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Fri, 21 Jul 2023 10:47:10 -0400 Subject: [PATCH 22/48] merged other team's games with my updated casino --- accounts.txt | 1 + .../com/github/zipcodewilmington/Casino.java | 35 ++++-- .../casino/games/CoinToss/CoinTossGame.java | 23 ++-- .../games/numberguess/NumberGuessGame.java | 30 +++-- .../casino/games/roulette/GameRoulette.java | 20 ++++ .../casino/games/roulette/PlayerRoulette.java | 2 +- .../casino/games/slots/SlotsGame.java | 109 ++++++++++-------- .../zipcodewilmington/CasinoAccountTest.java | 23 ---- .../casino/games/GameRouletteTest.java | 11 -- .../casino/games/RPSTest.java | 8 +- .../casino/games/slots/SlotsGameTest.java | 8 +- 11 files changed, 142 insertions(+), 128 deletions(-) delete mode 100644 src/test/java/com/github/zipcodewilmington/casino/games/GameRouletteTest.java diff --git a/accounts.txt b/accounts.txt index 3dcb7952..9bf2754a 100644 --- a/accounts.txt +++ b/accounts.txt @@ -2,5 +2,6 @@ banana pie 400 pebbles password 1000 angela apple 100 bob pw 1800 +test test 1000 poobers pebs 300 anna pie 40 diff --git a/src/main/java/com/github/zipcodewilmington/Casino.java b/src/main/java/com/github/zipcodewilmington/Casino.java index fdab6ac9..7c99d823 100644 --- a/src/main/java/com/github/zipcodewilmington/Casino.java +++ b/src/main/java/com/github/zipcodewilmington/Casino.java @@ -3,6 +3,7 @@ import com.github.zipcodewilmington.casino.CasinoAccount; import com.github.zipcodewilmington.casino.CasinoAccountManager; +import com.github.zipcodewilmington.casino.games.CoinToss.CoinTossGame; import com.github.zipcodewilmington.casino.games.numberguess.NumberGuessGame; import com.github.zipcodewilmington.casino.games.numberguess.NumberGuessPlayer; import com.github.zipcodewilmington.casino.games.rockpaperscissors.RpsGame; @@ -49,40 +50,54 @@ public void run() throws IOException { break; case "SELECT GAME": - String gameSelectionInput = getGameSelectionInput().toUpperCase(); + String gameSelectionInput = getGameSelectionInput(); switch (gameSelectionInput) { case "ROCK PAPER SCISSOR": + case "rock paper scissor": + case "5": case "NUMBER GUESS": + case "number guess": + case "4": case "SLOTS": + case "slots": + case "1": case "ROULETTE": + case "roulette": + case "2": + case "COIN TOSS": + case "coin toss": + case "3": // log in user account CasinoAccount userAccount = promptLogin(casinoAccountManager); - if(userAccount == null) { + if (userAccount == null) { console.println("\n No account found with that username and password. " + "Redirecting to the main menu.\n"); break; } - if (gameSelectionInput.equals("ROCK PAPER SCISSOR")) { + if (gameSelectionInput.equals("ROCK PAPER SCISSOR") || gameSelectionInput.equals("rock paper scissor") || gameSelectionInput.equals("5")) { RpsPlayer player = new RpsPlayer(userAccount); new RpsGame(player).run(); - } else if(gameSelectionInput.equals("NUMBER GUESS")){ + } else if (gameSelectionInput.equals("NUMBER GUESS") || gameSelectionInput.equals("number guess") || gameSelectionInput.equals("4")) { new NumberGuessGame().run(); - } else if (gameSelectionInput.equals("SLOTS")) { + } else if (gameSelectionInput.equals("SLOTS") || gameSelectionInput.equals("1") || gameSelectionInput.equals("slots")) { new SlotsGame().run(); + } else if (gameSelectionInput.equals("COIN TOSS") || gameSelectionInput.equals("coin toss") || gameSelectionInput.equals("3")) { + new CoinTossGame().run(); } else { new GameRoulette().run(); } - casinoAccountManager.updateAccounts(); break; - } + } + } } - } while (!"EXIT".equalsIgnoreCase(arcadeDashBoardInput)); - } + while (!"EXIT".equalsIgnoreCase(arcadeDashBoardInput)) ; + } + private String getArcadeDashboardInput() { @@ -94,7 +109,7 @@ private String getArcadeDashboardInput() { private String getGameSelectionInput() { return console.getStringInput( "\n\n Select any of the following games: \n" + - "[SLOTS] [ROULETTE] [COIN FLIP] [NUMBER GUESS] [ROCK PAPER SCISSOR] "); + "[1]SLOTS [2]ROULETTE [3]COIN TOSS [4]NUMBER GUESS [5]ROCK PAPER SCISSOR "); } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java index 938ac4a8..a67b8c8c 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java @@ -7,15 +7,12 @@ public class CoinTossGame { int userFlip; int gameAns; - static int toss; - static int choice; + int toss; + int choice; - public static void main(String[] args) { - run(); - } - public static void run (){ + public void run (){ displayInstructions(); int tossResult=theToss(); @@ -35,7 +32,7 @@ public static void run (){ } - public static void displayInstructions(){ + public void displayInstructions(){ System.out.println(" ***************************************"); System.out.println(" ---------------------------------------"); System.out.println(" (H) Lets play coin toss (T) "); @@ -47,24 +44,24 @@ public static void displayInstructions(){ } - public static int theToss(){ + public int theToss(){ Random random = new Random(); int toss= random.nextInt(2); return toss; } - public static int getChoice(){ + public int getChoice(){ Scanner scanner = new Scanner(System.in); System.out.println(" Enter your Guess: 0 for Heads, 1 for Tails"); int choice = scanner.nextInt(); return choice; } - public static void displayTossResult(int result) { + public void displayTossResult(int result) { System.out.println("The coin toss result: " + (result == 0 ? "Heads" : "Tails")); } - public static void match(int toss, int choice) { + public void match(int toss, int choice) { if (toss == choice) { System.out.println("Congratulations! You guessed it right!"); } else { @@ -72,12 +69,12 @@ public static void match(int toss, int choice) { } } - public static void updateAccount(){ + public void updateAccount(){ System.out.println("BLOOOP.\n"); } - public static void quit() { + public void quit() { System.out.println("Thank you for playing! Press 1 to replay or 2 to return to the casino lobby."); Scanner console = new Scanner(System.in); diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java index 7f88cf72..9e0a0e5b 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java @@ -8,7 +8,8 @@ public class NumberGuessGame { private Player player; private Scanner scanner; private int targetNumber; - private int numberOfTries; + private int numberOfTries; + private String playAgainChoice; public NumberGuessGame() { this.scanner = new Scanner(System.in); @@ -42,9 +43,14 @@ public void run() { } - playAgain = playAgain(); + playAgain(); + if(playAgainChoice.equalsIgnoreCase("yup")) { + playAgain = true; + } else if(playAgainChoice.equalsIgnoreCase("nah")) { + playAgain = false; + } } - quit(); +// quit(); } public String displayInstructions() { @@ -67,10 +73,10 @@ public boolean checkWinner(int userGuess) { return false; } - public boolean playAgain() { + public String playAgain() { System.out.print("Play Again? (yup/nah): "); - String playAgainChoice = scanner.next().toLowerCase(); - return playAgainChoice.equals("yup"); + playAgainChoice = scanner.next().toLowerCase(); + return playAgainChoice; } public void quit() { @@ -78,12 +84,12 @@ public void quit() { scanner.close(); } - public static void main(String[] args) { - NumberGuessGame game = new NumberGuessGame(); - Player player = new Player(); - game.add(player); - game.run(); - } +// public static void main(String[] args) { +// NumberGuessGame game = new NumberGuessGame(); +// Player player = new Player(); +// game.add(player); +// game.run(); +// } } class Player { diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java index e31cad03..c7e31f56 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java @@ -122,6 +122,26 @@ int getBet() { return bet; } + @Override + public void add(Player player) { + + } + + @Override + public void remove(Player player) { + + } + + @Override + public void displayInstructions() { + + } + + @Override + public Boolean checkWinner() { + return null; + } + public void quit() { System.out.println("Thank you for playing! Press 1 to replay or 2 to return to the casino lobby."); diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/PlayerRoulette.java b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/PlayerRoulette.java index 806346b7..dffebde5 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/PlayerRoulette.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/PlayerRoulette.java @@ -3,6 +3,6 @@ import com.github.zipcodewilmington.casino.Player; import com.github.zipcodewilmington.casino.PlayerInterface; -public class PlayerRoulette extends Player { +public class PlayerRoulette { } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java index f661eeb5..8f0396c1 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java @@ -1,6 +1,8 @@ package com.github.zipcodewilmington.casino.games.slots; +import com.github.zipcodewilmington.casino.GameInterface; +import com.github.zipcodewilmington.casino.Player; import com.github.zipcodewilmington.utils.AnsiColor; import com.github.zipcodewilmington.utils.IOConsole; @@ -15,21 +17,20 @@ /** * Created by leon on 7/21/2020. */ -public class SlotsGame { +public class SlotsGame implements GameInterface { - static String[] wordList = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; + String[] wordList = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; SlotsPlayer sp = new SlotsPlayer(); // just temp to check if code works - public static void main(String[] args) { - run(); - } - public static void run() { - int numberOfTries=0; - boolean hasMatch =false; + + + public void run() { + int numberOfTries = 0; + boolean hasMatch = false; displayInstructions(); @@ -40,27 +41,28 @@ public static void run() { printResult(wordList); numberOfTries++; - if(checkMatch(wordList)){ - hasMatch =true; + if (checkMatch(wordList)) { + hasMatch = true; break; } - if (numberOfTries<3) { + if (numberOfTries < 3) { System.out.println("Press Enter to spin again!"); } } - while (numberOfTries<3); + while (numberOfTries < 3); - if (hasMatch){ + if (hasMatch) { updateAccount(); } else { quit(); } + } - - public void displayInstructions(){ + @Override + public void displayInstructions () { System.out.println(" ***************************************"); System.out.println(" ---------------------------------------"); System.out.println(" { Welcome to the Slot Machine Game!!! } "); @@ -68,66 +70,71 @@ public void displayInstructions(){ System.out.println(" ***************************************\n"); System.out.println(" Type 'PULL' to crank the lever!\n "); System.out.print(">>> "); + } - } - + public String[] spin () { + Random random = new Random(); + for (int i = 0; i < wordList.length; i++) { + int randomIndex = random.nextInt(wordList.length); + wordList[i] = wordList[randomIndex]; + } + return wordList; + } + public void printResult (String[]wordList){ + System.out.println(wordList[0] + " " + wordList[1] + " " + wordList[2]); + if (checkMatch(wordList)) { + System.out.println("Congratulations! You have a match!\n"); + } else { + System.out.println("Better luck next time. No match.\n"); + } + } + public boolean checkMatch (String[]wordList){ - public static String[] spin() { - Random random = new Random(); - for (int i = 0; i < wordList.length; i++) { - int randomIndex = random.nextInt(wordList.length); - wordList[i] = wordList[randomIndex]; + return wordList[0].equals(wordList[1]) && wordList[0].equals(wordList[2]); } - return wordList; - } - public void printResult(String[] wordList) { - System.out.println(wordList[0] + " " + wordList[1] + " " + wordList[2]); - if (checkMatch(wordList)) { - System.out.println("Congratulations! You have a match!\n"); - } else { - System.out.println("Better luck next time. No match.\n"); + public void updateAccount () { + System.out.println("BLOOOP.\n"); + } - } - + @Override + public void quit () { + System.out.println("Thank you for playing! Press 1 to replay or 2 to return to the casino lobby."); + Scanner console = new Scanner(System.in); + int choice = console.nextInt(); + if (choice == 1) { + run(); + } else if (choice == 2) { + //back to main menu when i comment out this classes main method + } + } - public static boolean checkMatch(String[] wordList) { + @Override + public void add(Player player) { - return wordList[0].equals(wordList[1]) && wordList[0].equals(wordList[2]); } - - public static void updateAccount(){ - System.out.println("BLOOOP.\n"); + @Override + public void remove(Player player) { } - public static void quit(){ - - System.out.println("Thank you for playing! Press 1 to replay or 2 to return to the casino lobby."); - Scanner console = new Scanner(System.in); - int choice = console.nextInt(); - if (choice == 1) { - run(); - } else if (choice == 2){ - //back to main menu when i comment out this classes main method - - - } - - + @Override + public Boolean checkWinner() { + return null; } + } diff --git a/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java b/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java index 8aed8f01..78a5f3b6 100644 --- a/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java +++ b/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java @@ -19,29 +19,6 @@ public void getPasswordTest() { Assert.assertEquals(expected, account.getPassword()); } -// @Test -// public void getBalanceTest() { -// int expected = 1000; -// Assert.assertEquals(expected, account.getBalance()); -// } -// -// @Test -// public void setBalanceTest() { -// account.setBalance(5000); -// Assert.assertEquals(5000, account.getBalance()); -// } -// -// @Test -// public void addBalanceTest() { -// account.addBalance(5000); -// Assert.assertEquals(6000, account.getBalance()); -// } -// -// @Test -// public void withdrawBalanceTest() { -// account.withdrawBalance(600); -// Assert.assertEquals(400, account.getBalance()); -// } @Test public void checkBalanceTest1() { diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/GameRouletteTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/GameRouletteTest.java deleted file mode 100644 index dad25c34..00000000 --- a/src/test/java/com/github/zipcodewilmington/casino/games/GameRouletteTest.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.github.zipcodewilmington.casino.games; - -import static org.junit.jupiter.api.Assertions.*; - -class GameRouletteTest { - - - - - -} \ No newline at end of file diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/RPSTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/RPSTest.java index 852f1c5a..81e0f351 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/RPSTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/RPSTest.java @@ -19,8 +19,8 @@ public void testIsWinner() { CasinoAccount account = new CasinoAccount("Angela", "pw", 500); RpsPlayer player = new RpsPlayer(account); RpsGame game = new RpsGame(player); - String user = "ROCK"; - String computer = "SCISSOR"; + String user = "R"; + String computer = "S"; boolean winner = game.isWinner(user, computer); Assert.assertTrue(winner); @@ -31,8 +31,8 @@ public void testIsWinner2() { CasinoAccount account = new CasinoAccount("Angela", "pw", 500); RpsPlayer player = new RpsPlayer(account); RpsGame game = new RpsGame(player); - String user = "ROCK"; - String computer = "PAPER"; + String user = "R"; + String computer = "P"; boolean winner = game.isWinner(user, computer); Assert.assertFalse(winner); diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java index c7da5f81..543a5ecb 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java @@ -13,7 +13,7 @@ public void testSpin(){ Random random = new Random(1); SlotsGame sg = new SlotsGame(); - String [] result = SlotsGame.spin(); + String [] result = sg.spin(); String [] original = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; Assert.assertTrue(original != result); @@ -23,9 +23,10 @@ public void testSpin(){ public void testPrintResultTrue() { // Mock input for wordList with a match String[] wordList = {"word", "word", "word"}; + SlotsGame sg = new SlotsGame(); // Call the method and capture the result - boolean result = SlotsGame.checkMatch(wordList); + boolean result = sg.checkMatch(wordList); // Assert the expected result with the actual result Assert.assertTrue(result); @@ -36,9 +37,10 @@ public void testPrintResultTrue() { public void testPrintResultFalse() { // Mock input for wordList with a match String[] wordList = {"word", "bloop", "word"}; + SlotsGame sg = new SlotsGame(); // Call the method and capture the result - boolean result = SlotsGame.checkMatch(wordList); + boolean result = sg.checkMatch(wordList); // Assert the expected result with the actual result Assert.assertFalse(result); From ec6f0ece38b8a95a067731d816625565be6c3cac Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Fri, 21 Jul 2023 11:26:51 -0400 Subject: [PATCH 23/48] most updated version of casino --- accounts.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/accounts.txt b/accounts.txt index 9bf2754a..a77e360a 100644 --- a/accounts.txt +++ b/accounts.txt @@ -1,4 +1,5 @@ banana pie 400 +joe joe 5000 pebbles password 1000 angela apple 100 bob pw 1800 From 67e004d6182b4ebf03b68de72f1935fc2ec8f6d3 Mon Sep 17 00:00:00 2001 From: Joe Date: Fri, 21 Jul 2023 11:33:08 -0400 Subject: [PATCH 24/48] pre merge commit --- .../casino/games/roulette/GameRoulette.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java index e31cad03..c7e31f56 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java @@ -122,6 +122,26 @@ int getBet() { return bet; } + @Override + public void add(Player player) { + + } + + @Override + public void remove(Player player) { + + } + + @Override + public void displayInstructions() { + + } + + @Override + public Boolean checkWinner() { + return null; + } + public void quit() { System.out.println("Thank you for playing! Press 1 to replay or 2 to return to the casino lobby."); From bbf879a82f7d36108529c99a1d1319a1739064dd Mon Sep 17 00:00:00 2001 From: Joe Date: Fri, 21 Jul 2023 13:53:09 -0400 Subject: [PATCH 25/48] roulette test added --- .../casino/games/roulette/GameRoulette.java | 4 +-- .../games/roulette/GameRouletteTest.java | 25 ++++++++++++------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java index c7e31f56..2b187d29 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java @@ -51,7 +51,7 @@ public void play() { } - private void compareResults(int bet, int choice, int spin) { + public void compareResults(int bet, int choice, int spin) { if (choice == 1) { if (spin % 2 == 1) { // if (spin == 1 || spin == 3 || spin == 5 || spin == 7 || spin == 9 || spin == 11 || spin == 13 || spin == 15 || @@ -90,7 +90,7 @@ int getSpin() { return spin; } - private int getChoice(String x, String x1, String x2) { + int getChoice(String x, String x1, String x2) { System.out.println(x); System.out.println(x1); System.out.println(x2); diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java index 8ec96868..add9e8dd 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java @@ -28,14 +28,21 @@ void testGetSpin() { assertTrue(actual >= 0 && actual <= 37); } -// @Test -// void testGetBet() { -//// Given -// GameRoulette game = new GameRoulette(); -//// When -// int actual = game.getBet(); -//// Then -// assertTrue(actual >= 0 && actual <= 100); -// } + @Test + void testCompareResults() { +// Given + GameRoulette game = new GameRoulette(); + int bet = 10; + int choice = 1; + int spin = 1; + int expected = 110; +// When + game.compareResults(bet, choice, spin); + int actual = game.bank; +// Then + assertEquals(expected, actual); + + } + } \ No newline at end of file From a5e0f5416016931a82247b91370e16a76ed68e83 Mon Sep 17 00:00:00 2001 From: surabhi Date: Fri, 21 Jul 2023 14:34:18 -0400 Subject: [PATCH 26/48] slots tests --- accounts.txt | 3 ++ .../casino/games/slots/SlotsGameTest.java | 36 +++++++++++++++++-- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/accounts.txt b/accounts.txt index a77e360a..4908fc01 100644 --- a/accounts.txt +++ b/accounts.txt @@ -1,8 +1,11 @@ banana pie 400 joe joe 5000 +1 1 1 pebbles password 1000 angela apple 100 bob pw 1800 test test 1000 +das das 2000 +maggie 1234 1000 poobers pebs 300 anna pie 40 diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java index 543a5ecb..4f07ac06 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java @@ -20,9 +20,9 @@ public void testSpin(){ } @Test - public void testPrintResultTrue() { + public void testPrintResultTrue1() { // Mock input for wordList with a match - String[] wordList = {"word", "word", "word"}; + String[] wordList = {"*STAR*", "*STAR*", "*STAR*"}; SlotsGame sg = new SlotsGame(); // Call the method and capture the result @@ -34,7 +34,21 @@ public void testPrintResultTrue() { } @Test - public void testPrintResultFalse() { + public void testPrintResultTrue2() { + // Mock input for wordList with a match + String[] wordList = {"*PRAY*", "*PRAY*", "*PRAY*"}; + SlotsGame sg = new SlotsGame(); + + // Call the method and capture the result + boolean result = sg.checkMatch(wordList); + + // Assert the expected result with the actual result + Assert.assertTrue(result); + + } + + @Test + public void testPrintResultFalse1() { // Mock input for wordList with a match String[] wordList = {"word", "bloop", "word"}; SlotsGame sg = new SlotsGame(); @@ -48,6 +62,22 @@ public void testPrintResultFalse() { } + @Test + public void testPrintResultFalse2() { + // Mock input for wordList with a match + String[] wordList = {"word", "bloop", "bloop"}; + SlotsGame sg = new SlotsGame(); + + // Call the method and capture the result + boolean result = sg.checkMatch(wordList); + + // Assert the expected result with the actual result + Assert.assertFalse(result); + + + } + + } From 7e4d9c9385f446a0d327b2991a5ba325c02e4ffe Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Fri, 21 Jul 2023 15:16:33 -0400 Subject: [PATCH 27/48] updated RPS --- accounts.txt | 4 +-- .../zipcodewilmington/casino/Account.java | 16 ++++----- .../casino/CasinoAccount.java | 8 ++--- .../zipcodewilmington/casino/Player.java | 10 ++++-- .../casino/games/accounts.txt | 0 .../games/rockpaperscissors/RpsGame.java | 36 +++++++++++++------ .../games/rockpaperscissors/RpsPlayer.java | 8 +++-- .../CasinoAccountManagerTest.java | 1 + 8 files changed, 53 insertions(+), 30 deletions(-) delete mode 100644 src/main/java/com/github/zipcodewilmington/casino/games/accounts.txt diff --git a/accounts.txt b/accounts.txt index a77e360a..663d2bbc 100644 --- a/accounts.txt +++ b/accounts.txt @@ -1,8 +1,8 @@ banana pie 400 -joe joe 5000 +joe joe 5200 pebbles password 1000 angela apple 100 -bob pw 1800 +bob pw 2200 test test 1000 poobers pebs 300 anna pie 40 diff --git a/src/main/java/com/github/zipcodewilmington/casino/Account.java b/src/main/java/com/github/zipcodewilmington/casino/Account.java index 6d1f6966..11e03885 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/Account.java +++ b/src/main/java/com/github/zipcodewilmington/casino/Account.java @@ -1,13 +1,13 @@ package com.github.zipcodewilmington.casino; public interface Account { - - public void addBalance(int amount); - - public void withdrawBalance(int amount); - - public Integer getBalance(); - - public boolean checkBalance(int amount); +// +// public void addBalance(int amount); +// +// public void withdrawBalance(int amount); +// +// public Integer getBalance(); +// +// public boolean checkBalance(int amount); } diff --git a/src/main/java/com/github/zipcodewilmington/casino/CasinoAccount.java b/src/main/java/com/github/zipcodewilmington/casino/CasinoAccount.java index 3c3c4b13..dea4ef52 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/CasinoAccount.java +++ b/src/main/java/com/github/zipcodewilmington/casino/CasinoAccount.java @@ -7,8 +7,8 @@ */ public class CasinoAccount implements Account{ - private String userName; - private String password; + private final String userName; + private final String password; private int balance; public CasinoAccount(String userName, String password, int balance) { @@ -17,11 +17,11 @@ public CasinoAccount(String userName, String password, int balance) { this.balance = balance; } - public String getUserName() { + public final String getUserName() { return userName; } - public String getPassword() { + public final String getPassword() { return password; } diff --git a/src/main/java/com/github/zipcodewilmington/casino/Player.java b/src/main/java/com/github/zipcodewilmington/casino/Player.java index eb15b5a0..98bd2f89 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/Player.java +++ b/src/main/java/com/github/zipcodewilmington/casino/Player.java @@ -1,19 +1,23 @@ package com.github.zipcodewilmington.casino; +import com.github.zipcodewilmington.Casino; + public abstract class Player { - protected Account account; + protected CasinoAccount account; - public Player(Account account) { + public Player(CasinoAccount account) { this.account = account; } - public Account getAccount() { // return/access account with this method + public CasinoAccount getAccount() { // return/access account with this method return this.account; } + public abstract CasinoAccount getPlayerAccount(); + } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/accounts.txt b/src/main/java/com/github/zipcodewilmington/casino/games/accounts.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java index 12ff99d7..7cf2f37e 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java @@ -13,6 +13,7 @@ public class RpsGame implements GameInterface { RpsPlayer player; String userChoice; String computerChoice; + int bet; String playAgain; String[] choices = {"R", "P", "S"}; @@ -27,6 +28,8 @@ public void run() { displayInstructions(); + placeBet(); + boolean play = true; while(play==true) { @@ -51,11 +54,17 @@ public void run() { public void displayInstructions() { console.println(" ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" + " Welcome to the Trillium's Rock Paper Scissor Game!\n" + - " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"); + " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" + + "\n\n\n" + + " Hi " + player.getAccount().getUserName() + ", your current balance is: $" + player.getAccount().getBalance()); + } + + public int placeBet() { + return bet = console.getIntegerInput("\n Place your bet: "); } public String getUserChoice() { - userChoice = console.getStringInput("\n Enter your move: [R] for rock [P] for paper [S] for scissor"); + userChoice = console.getStringInput("\n Enter your move: [R] for rock [P] for paper [S] for scissor"); while(true) { if (!(userChoice.equalsIgnoreCase("R") || userChoice.equalsIgnoreCase("S") || userChoice.equalsIgnoreCase("P"))) { console.println(userChoice + " is not a valid move."); @@ -68,10 +77,6 @@ public String getUserChoice() { public String getComputerChoice() { computerChoice = choices[new Random().nextInt(choices.length)]; return computerChoice; -// Random random = new Random(); -// int number = random.nextInt(3); -// computerChoice = choices[number]; -// return computerChoice; } @@ -84,14 +89,23 @@ public Boolean isWinner(String userChoice, String computerChoice) { public void displayResults(String userChoice, String computerChoice) { if (userChoice.equalsIgnoreCase(computerChoice)) { - console.println("\n It's a tie!\n"); + console.println("\n It's a tie!\n\n" + + " Your current balance is: " + player.getAccount().getBalance()); + } else if (isWinner(userChoice, computerChoice)) { - console.println("\n You won!\n"); + player.getPlayerAccount().addBalance(bet*2); + player.getPlayerAccount().setBalance(player.getAccount().getBalance()); + console.println("\n You won double your bet!\n\n" + + " Your current balance is: " + player.getAccount().getBalance()); + } else { - console.println("\n You lost...\n"); -// player.getAccount().withdrawBalance(50); + player.getPlayerAccount().withdrawBalance(bet); + player.getPlayerAccount().setBalance(player.getAccount().getBalance()); + console.println("\n You lost...\n\n" + + " Your current balance is: " + player.getAccount().getBalance()); + } - console.println(" Your move: " + userChoice.toUpperCase() + + console.println("\n Your move: " + userChoice.toUpperCase() + "\n Our move: " + computerChoice); } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java index 8899a990..51c166da 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java @@ -5,11 +5,15 @@ import com.github.zipcodewilmington.casino.Player; -public class RpsPlayer extends Player{ +public class RpsPlayer extends Player { - public RpsPlayer(Account account) { + public RpsPlayer(CasinoAccount account) { super(account); } + @Override + public CasinoAccount getPlayerAccount() { + return this.account; + } } diff --git a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java index 7699a1fd..d3604b6a 100644 --- a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java +++ b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java @@ -10,6 +10,7 @@ public class CasinoAccountManagerTest { CasinoAccount account = new CasinoAccount("Angela", "password", 1000); + CasinoAccount account1 = new CasinoAccount("Bob", "pw", 2000); @Test public void testGetAccount() throws IOException { From 1113d01024d67361e332f4235e878e07df68e84e Mon Sep 17 00:00:00 2001 From: surabhi Date: Fri, 21 Jul 2023 15:19:16 -0400 Subject: [PATCH 28/48] tests for coin toss --- .../casino/games/CoinTossTest.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java index da14c93b..7019723c 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java @@ -1,6 +1,39 @@ package com.github.zipcodewilmington.casino.games; +import com.github.zipcodewilmington.casino.games.CoinToss.CoinTossGame; +import org.junit.Test; +import org.junit.jupiter.api.Assertions; + + public class CoinTossTest { +@Test + public void testTheToss1(){ + + CoinTossGame ct = new CoinTossGame(); + int result = ct.theToss(); + + Assertions.assertTrue(result ==0||result ==1); + + +} +//@Test +//public void testTheTossSecific(){ +// CoinTossGame ct = new CoinTossGame(); +// int result = ct.theToss(); +// +// Assertions.assertTrue(result ==0||result ==1,"The res") +// +// +// +// +// +//} +// + + + + + } From 17f4526dc76703f3885a42a9a66f4e4024c36326 Mon Sep 17 00:00:00 2001 From: Joe Date: Fri, 21 Jul 2023 16:23:25 -0400 Subject: [PATCH 29/48] roulette test added2 --- .../github/zipcodewilmington/casino/Player.java | 8 ++++---- .../casino/games/rockpaperscissors/RpsPlayer.java | 6 +++++- .../casino/games/roulette/GameRoulette.java | 6 +++--- .../casino/games/roulette/PlayerRoulette.java | 13 +++++++++++-- .../casino/games/roulette/GameRouletteTest.java | 14 ++++++++++++++ 5 files changed, 37 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/github/zipcodewilmington/casino/Player.java b/src/main/java/com/github/zipcodewilmington/casino/Player.java index eb15b5a0..8c1c2c4c 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/Player.java +++ b/src/main/java/com/github/zipcodewilmington/casino/Player.java @@ -4,16 +4,16 @@ public abstract class Player { - protected Account account; - - public Player(Account account) { + protected CasinoAccount account; + public Player(CasinoAccount account) { this.account = account; } - public Account getAccount() { // return/access account with this method + public CasinoAccount getAccount() { // return/access account with this method return this.account; } + public abstract CasinoAccount getPlayerAccount(); } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java index 8899a990..4f189151 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java @@ -7,9 +7,13 @@ public class RpsPlayer extends Player{ - public RpsPlayer(Account account) { + public RpsPlayer(CasinoAccount account) { super(account); } + @Override + public CasinoAccount getPlayerAccount() { + return this.account; + } } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java index 2b187d29..f10eb332 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java @@ -17,7 +17,7 @@ public class GameRoulette implements GameInterface { // } Scanner console = new Scanner(System.in); Random rand = new Random(); - + PlayerRoulette player; int bank = 100; // int max = bank; // int spins = 0; @@ -59,7 +59,7 @@ public void compareResults(int bet, int choice, int spin) { // spin == 31 || spin == 33 || spin == 35 || spin == 37) { System.out.println("You win!"); System.out.println("the spin was " + spin); - bank = bank + bet; + bank += bet; System.out.println("You now have $" + bank + " in your bank."); } else { System.out.println("You lose!"); @@ -114,7 +114,7 @@ int getBet() { "The maximum amount you can bet is $" + bank + ".\n" + " How much would you like to bet?"); int bet = console.nextInt(); - if (bet > bank) { + if (bet > player.getAccount().getBalance()) { System.out.println("You cannot bet more than $" + bank + "."); System.out.println("How much would you like to bet?"); bet = console.nextInt(); diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/PlayerRoulette.java b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/PlayerRoulette.java index dffebde5..6827c1a2 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/PlayerRoulette.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/PlayerRoulette.java @@ -1,8 +1,17 @@ package com.github.zipcodewilmington.casino.games.roulette; +import com.github.zipcodewilmington.casino.CasinoAccount; import com.github.zipcodewilmington.casino.Player; import com.github.zipcodewilmington.casino.PlayerInterface; -public class PlayerRoulette { - +public class PlayerRoulette extends Player { + + public PlayerRoulette(CasinoAccount account){ + super(account); + } + + @Override + public CasinoAccount getPlayerAccount() { + return this.account; + } } diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java index add9e8dd..e0563683 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java @@ -43,6 +43,20 @@ void testCompareResults() { assertEquals(expected, actual); } + @Test + void testCompareResults2(){ +// Given + GameRoulette game = new GameRoulette(); + int bet = 10; + int choice = 2; + int spin = 1; + int expected = 90; +// When + game.compareResults(bet, choice, spin); + int actual = game.bank; +// then + assertEquals(expected,actual); + } } \ No newline at end of file From 259879416715875088ebfbe9ffe7bfb0ea7c90df Mon Sep 17 00:00:00 2001 From: surabhi Date: Fri, 21 Jul 2023 16:25:08 -0400 Subject: [PATCH 30/48] bets added in slots --- accounts.txt | 2 +- .../com/github/zipcodewilmington/Casino.java | 3 ++- .../zipcodewilmington/casino/Player.java | 6 ++++-- .../games/rockpaperscissors/RpsPlayer.java | 6 +++++- .../casino/games/slots/SlotsGame.java | 21 ++++++++++++++++--- .../casino/games/slots/SlotsPlayer.java | 11 ++++++++-- 6 files changed, 39 insertions(+), 10 deletions(-) diff --git a/accounts.txt b/accounts.txt index 4908fc01..07fd88e9 100644 --- a/accounts.txt +++ b/accounts.txt @@ -1,5 +1,5 @@ banana pie 400 -joe joe 5000 +joe joe 5100 1 1 1 pebbles password 1000 angela apple 100 diff --git a/src/main/java/com/github/zipcodewilmington/Casino.java b/src/main/java/com/github/zipcodewilmington/Casino.java index 7c99d823..bc6261ff 100644 --- a/src/main/java/com/github/zipcodewilmington/Casino.java +++ b/src/main/java/com/github/zipcodewilmington/Casino.java @@ -81,7 +81,8 @@ public void run() throws IOException { } else if (gameSelectionInput.equals("NUMBER GUESS") || gameSelectionInput.equals("number guess") || gameSelectionInput.equals("4")) { new NumberGuessGame().run(); } else if (gameSelectionInput.equals("SLOTS") || gameSelectionInput.equals("1") || gameSelectionInput.equals("slots")) { - new SlotsGame().run(); + SlotsPlayer splayer = new SlotsPlayer(userAccount); + new SlotsGame(splayer).run(); } else if (gameSelectionInput.equals("COIN TOSS") || gameSelectionInput.equals("coin toss") || gameSelectionInput.equals("3")) { new CoinTossGame().run(); } else { diff --git a/src/main/java/com/github/zipcodewilmington/casino/Player.java b/src/main/java/com/github/zipcodewilmington/casino/Player.java index eb15b5a0..27b6b19c 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/Player.java +++ b/src/main/java/com/github/zipcodewilmington/casino/Player.java @@ -4,9 +4,9 @@ public abstract class Player { - protected Account account; + protected CasinoAccount account; - public Player(Account account) { + public Player(CasinoAccount account) { this.account = account; } @@ -15,5 +15,7 @@ public Account getAccount() { // return/access account with this method return this.account; } + public abstract CasinoAccount getPlayerAccount(); + } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java index 8899a990..4f189151 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java @@ -7,9 +7,13 @@ public class RpsPlayer extends Player{ - public RpsPlayer(Account account) { + public RpsPlayer(CasinoAccount account) { super(account); } + @Override + public CasinoAccount getPlayerAccount() { + return this.account; + } } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java index 8f0396c1..86a84622 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java @@ -20,8 +20,13 @@ public class SlotsGame implements GameInterface { String[] wordList = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; - SlotsPlayer sp = new SlotsPlayer(); + SlotsPlayer sp; //instance of player + private final IOConsole console = new IOConsole(AnsiColor.CYAN); + int bet; + public SlotsGame(SlotsPlayer splayer) { + sp = splayer; + } // just temp to check if code works @@ -34,6 +39,7 @@ public void run() { displayInstructions(); + placeBet(); do { promptUserToStart(); @@ -72,6 +78,9 @@ public void displayInstructions () { System.out.print(">>> "); } + public int placeBet() { + return bet = console.getIntegerInput("Place your bet: "); + } public String[] spin () { Random random = new Random(); @@ -86,9 +95,15 @@ public String[] spin () { public void printResult (String[]wordList){ System.out.println(wordList[0] + " " + wordList[1] + " " + wordList[2]); if (checkMatch(wordList)) { - System.out.println("Congratulations! You have a match!\n"); + System.out.println("Congratulations! You have a match! You have doubled your bet!\n"); + sp.getPlayerAccount().addBalance(bet*2); + sp.getPlayerAccount().setBalance(sp.getPlayerAccount().getBalance()); + System.out.println("Your balance now is: " + sp.getPlayerAccount().getBalance() + "\n"); } else { - System.out.println("Better luck next time. No match.\n"); + System.out.println("Better luck next time. No match. You lost your bet!\n"); + sp.getPlayerAccount().withdrawBalance(bet); + sp.getPlayerAccount().setBalance(sp.getPlayerAccount().getBalance()); + System.out.println("Your balance now is: " + sp.getPlayerAccount().getBalance() + "\n"); } } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsPlayer.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsPlayer.java index 13846857..0d0ea845 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsPlayer.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsPlayer.java @@ -1,13 +1,20 @@ package com.github.zipcodewilmington.casino.games.slots; +import com.github.zipcodewilmington.casino.CasinoAccount; +import com.github.zipcodewilmington.casino.Player; + import java.util.Scanner; /** * Created by leon on 7/21/2020. */ -public class SlotsPlayer { - +public class SlotsPlayer extends Player { + public SlotsPlayer(CasinoAccount account) {super(account);} + @Override + public CasinoAccount getPlayerAccount() { + return this.account; + } public static boolean promptUserToStart() { From 595203c9f67ea7441753f6009e3b8fb1324696cc Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Fri, 21 Jul 2023 16:25:14 -0400 Subject: [PATCH 31/48] updated console --- src/main/java/com/github/zipcodewilmington/Casino.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/github/zipcodewilmington/Casino.java b/src/main/java/com/github/zipcodewilmington/Casino.java index 7c99d823..f985ce22 100644 --- a/src/main/java/com/github/zipcodewilmington/Casino.java +++ b/src/main/java/com/github/zipcodewilmington/Casino.java @@ -9,6 +9,7 @@ import com.github.zipcodewilmington.casino.games.rockpaperscissors.RpsGame; import com.github.zipcodewilmington.casino.games.rockpaperscissors.RpsPlayer; import com.github.zipcodewilmington.casino.games.roulette.GameRoulette; +import com.github.zipcodewilmington.casino.games.roulette.PlayerRoulette; import com.github.zipcodewilmington.casino.games.slots.SlotsGame; import com.github.zipcodewilmington.casino.games.slots.SlotsPlayer; import com.github.zipcodewilmington.utils.AnsiColor; @@ -79,9 +80,11 @@ public void run() throws IOException { RpsPlayer player = new RpsPlayer(userAccount); new RpsGame(player).run(); } else if (gameSelectionInput.equals("NUMBER GUESS") || gameSelectionInput.equals("number guess") || gameSelectionInput.equals("4")) { - new NumberGuessGame().run(); +// NumberGuessPlayer nplayer = new NumberGuessPlayer(userAccount); +// new NumberGuessGame(nplayer).run(); } else if (gameSelectionInput.equals("SLOTS") || gameSelectionInput.equals("1") || gameSelectionInput.equals("slots")) { - new SlotsGame().run(); +// SlotsPlayer splayer = new SlotsPlayer(userAccount); +// new SlotsGame(splayer).run(); } else if (gameSelectionInput.equals("COIN TOSS") || gameSelectionInput.equals("coin toss") || gameSelectionInput.equals("3")) { new CoinTossGame().run(); } else { From b82a9fa36150ab06b18da11e78e173c85d75c91e Mon Sep 17 00:00:00 2001 From: Joe Date: Fri, 21 Jul 2023 17:20:30 -0400 Subject: [PATCH 32/48] roulette test added again --- .../games/roulette/GameRouletteTest.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java index e0563683..d5cab9cc 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java @@ -57,6 +57,34 @@ void testCompareResults2(){ // then assertEquals(expected,actual); } + @Test + void testCompareResults3(){ +// Given + GameRoulette game = new GameRoulette(); + int bet = 50; + int choice = 1; + int spin = 2; + int expected = 50; +// When + game.compareResults(bet, choice, spin); + int actual = game.bank; +// then + assertEquals(actual,expected); + } + @Test + void testCompareResults4(){ +// Given + GameRoulette game = new GameRoulette(); + int bet = 100; + int choice = 1; + int spin = 1; + int expected = 100; +// when + game.compareResults(bet, choice, spin); + int actual = game.bank; +// then + assertNotEquals(expected,actual); + } } \ No newline at end of file From 392e4a103ab428383470a19d6498a0d6d74793c7 Mon Sep 17 00:00:00 2001 From: surabhi Date: Sat, 22 Jul 2023 12:02:01 -0400 Subject: [PATCH 33/48] trying to refractor methods to make better test --- .../casino/games/slots/SlotsGame.java | 31 +-------- .../casino/games/slots/SlotsGameTest.java | 64 ++++--------------- 2 files changed, 17 insertions(+), 78 deletions(-) diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java index 86a84622..d0de378d 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java @@ -28,43 +28,18 @@ public SlotsGame(SlotsPlayer splayer) { sp = splayer; } -// just temp to check if code works - - + public SlotsGame() { + } public void run() { - int numberOfTries = 0; - boolean hasMatch = false; + displayInstructions(); placeBet(); - do { - promptUserToStart(); - String[] wordList = spin(); - printResult(wordList); - numberOfTries++; - - if (checkMatch(wordList)) { - hasMatch = true; - break; - } - if (numberOfTries < 3) { - System.out.println("Press Enter to spin again!"); - } - - - } - while (numberOfTries < 3); - - if (hasMatch) { - updateAccount(); - } else { - quit(); - } } @Override diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java index 4f07ac06..c754350d 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java @@ -7,76 +7,40 @@ public class SlotsGameTest { - - @Test - public void testSpin(){ - Random random = new Random(1); - SlotsGame sg = new SlotsGame(); - - String [] result = sg.spin(); - - String [] original = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; - Assert.assertTrue(original != result); - } - @Test - public void testPrintResultTrue1() { - // Mock input for wordList with a match - String[] wordList = {"*STAR*", "*STAR*", "*STAR*"}; + public void testSpin1(){ + //checking shuffled array not empty SlotsGame sg = new SlotsGame(); - // Call the method and capture the result - boolean result = sg.checkMatch(wordList); - - // Assert the expected result with the actual result - Assert.assertTrue(result); + String [] shuffle = sg.spin(); + Assert.assertNotNull(shuffle); } @Test - public void testPrintResultTrue2() { - // Mock input for wordList with a match - String[] wordList = {"*PRAY*", "*PRAY*", "*PRAY*"}; + public void testSpin2(){ + //checking length of arrays equal SlotsGame sg = new SlotsGame(); - // Call the method and capture the result - boolean result = sg.checkMatch(wordList); - - // Assert the expected result with the actual result - Assert.assertTrue(result); + String [] original = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; + String [] shuffle = sg.spin(); + Assert.assertEquals(original.length, shuffle.length); } @Test - public void testPrintResultFalse1() { - // Mock input for wordList with a match - String[] wordList = {"word", "bloop", "word"}; + public void testSpin3(){ + //checking actual contents of shuffle array is diff than the shuffled SlotsGame sg = new SlotsGame(); - // Call the method and capture the result - boolean result = sg.checkMatch(wordList); - - // Assert the expected result with the actual result - Assert.assertFalse(result); - + String [] original = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; + String [] shuffle = sg.spin(); + Assert.assertNotEquals(original, shuffle); } - @Test - public void testPrintResultFalse2() { - // Mock input for wordList with a match - String[] wordList = {"word", "bloop", "bloop"}; - SlotsGame sg = new SlotsGame(); - - // Call the method and capture the result - boolean result = sg.checkMatch(wordList); - - // Assert the expected result with the actual result - Assert.assertFalse(result); - } - From be0c7b69efeb6ff168ff9b1bf3fd5bef809a71a9 Mon Sep 17 00:00:00 2001 From: surabhi Date: Sat, 22 Jul 2023 13:17:10 -0400 Subject: [PATCH 34/48] rearraged methods --- accounts.txt | 2 +- .../casino/games/slots/SlotsGame.java | 60 +++++++++++++------ 2 files changed, 42 insertions(+), 20 deletions(-) diff --git a/accounts.txt b/accounts.txt index 07fd88e9..0ffd2d06 100644 --- a/accounts.txt +++ b/accounts.txt @@ -5,7 +5,7 @@ pebbles password 1000 angela apple 100 bob pw 1800 test test 1000 -das das 2000 +das das 5000 maggie 1234 1000 poobers pebs 300 anna pie 40 diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java index d0de378d..b5c9f616 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java @@ -31,14 +31,11 @@ public SlotsGame(SlotsPlayer splayer) { public SlotsGame() { } - public void run() { - - displayInstructions(); placeBet(); - + winOrLose(); } @@ -49,7 +46,6 @@ public void displayInstructions () { System.out.println(" { Welcome to the Slot Machine Game!!! } "); System.out.println(" ---------------------------------------"); System.out.println(" ***************************************\n"); - System.out.println(" Type 'PULL' to crank the lever!\n "); System.out.print(">>> "); } @@ -66,27 +62,53 @@ public String[] spin () { return wordList; } + public void askUserToPullMsg () { + System.out.println(" Type 'PULL' to crank the lever!\n "); + } + + public boolean checkMatch (String[]wordList){ - public void printResult (String[]wordList){ - System.out.println(wordList[0] + " " + wordList[1] + " " + wordList[2]); - if (checkMatch(wordList)) { - System.out.println("Congratulations! You have a match! You have doubled your bet!\n"); - sp.getPlayerAccount().addBalance(bet*2); - sp.getPlayerAccount().setBalance(sp.getPlayerAccount().getBalance()); - System.out.println("Your balance now is: " + sp.getPlayerAccount().getBalance() + "\n"); - } else { - System.out.println("Better luck next time. No match. You lost your bet!\n"); + boolean indexCheck= wordList[0].equals(wordList[1]) && wordList[0].equals(wordList[2]); + return indexCheck; + } + + public boolean winOrLose () { + int tries = 3; + + while (tries > 0) { + askUserToPullMsg(); + promptUserToStart(); + spin(); + System.out.println(wordList[0] + " " + wordList[1] + " " + wordList[2]); + System.out.println("\n"); + + if (checkMatch(wordList)) { + System.out.println("Congratulations! You have a match! You have doubled your bet!\n"); + sp.getPlayerAccount().addBalance(bet * 2); + sp.getPlayerAccount().setBalance(sp.getPlayerAccount().getBalance()); + System.out.println("Your balance now is: " + sp.getPlayerAccount().getBalance() + "\n"); + return true; + + } + + tries --; + + } + + noMatch(); + return false; + + } + + public void noMatch() { + System.out.println("Better luck next time. No match. You lost your bet!\n"); sp.getPlayerAccount().withdrawBalance(bet); sp.getPlayerAccount().setBalance(sp.getPlayerAccount().getBalance()); System.out.println("Your balance now is: " + sp.getPlayerAccount().getBalance() + "\n"); - } - } + } - public boolean checkMatch (String[]wordList){ - return wordList[0].equals(wordList[1]) && wordList[0].equals(wordList[2]); - } public void updateAccount () { From 931d664880a06bae142ec208c87af9328613c853 Mon Sep 17 00:00:00 2001 From: Joe Date: Mon, 24 Jul 2023 16:29:47 -0400 Subject: [PATCH 35/48] roulette test added again --- .../casino/games/roulette/GameRouletteTest.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java index d5cab9cc..e89cd28d 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/roulette/GameRouletteTest.java @@ -1,5 +1,6 @@ package com.github.zipcodewilmington.casino.games.roulette; +import org.junit.Assert; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; @@ -19,6 +20,15 @@ void play() { assertEquals(expected, actual); } @Test + void play2(){ + GameRoulette game = new GameRoulette(); + int expected = 50; + + int actual = game.bank; + + Assert.assertNotEquals(expected,actual); + } + @Test void testGetSpin() { // Given GameRoulette game = new GameRoulette(); @@ -27,6 +37,12 @@ void testGetSpin() { // Then assertTrue(actual >= 0 && actual <= 37); } + @Test + void testGetSpin2(){ + GameRoulette game = new GameRoulette(); + int actual = game.getSpin(); + Assert.assertFalse(actual>38); + } @Test void testCompareResults() { From 290969f411b106705e1c4516248c6563c237e20f Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Mon, 24 Jul 2023 16:39:52 -0400 Subject: [PATCH 36/48] added tests to casino account manager --- .../games/rockpaperscissors/RpsGame.java | 2 ++ .../CasinoAccountManagerTest.java | 18 ++++++++++++++ .../casino/games/RPSTest.java | 24 +++++++++++++++++++ 3 files changed, 44 insertions(+) diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java index 7cf2f37e..793f3843 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java @@ -53,8 +53,10 @@ public void run() { @Override public void displayInstructions() { console.println(" ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" + + " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" + " Welcome to the Trillium's Rock Paper Scissor Game!\n" + " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" + + " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" + "\n\n\n" + " Hi " + player.getAccount().getUserName() + ", your current balance is: $" + player.getAccount().getBalance()); } diff --git a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java index d3604b6a..0ac58052 100644 --- a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java +++ b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java @@ -21,8 +21,26 @@ public void testGetAccount() throws IOException { Assert.assertEquals(actual, account); } + @Test + public void testGetAccount2() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + cam.registerAccount(account1); + CasinoAccount actual = cam.getAccount("Bob", "pw"); + + Assert.assertEquals(actual, account1); + } + @Test public void testCreateAccount() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount expected = cam.createAccount("Bob", "pw", 2000); + CasinoAccount actual = cam.getAccount("Bob", "pw"); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testCreateAccount2() throws IOException { CasinoAccountManager cam = new CasinoAccountManager(); CasinoAccount expected = cam.createAccount("Angela", "password", 1000); CasinoAccount actual = cam.getAccount("Angela", "password"); diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/RPSTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/RPSTest.java index 81e0f351..5b56eb0c 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/RPSTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/RPSTest.java @@ -38,5 +38,29 @@ public void testIsWinner2() { Assert.assertFalse(winner); } + @Test + public void testIsWinner3() { + CasinoAccount account = new CasinoAccount("Angela", "pw", 500); + RpsPlayer player = new RpsPlayer(account); + RpsGame game = new RpsGame(player); + String user = "R"; + String computer = "R"; + boolean winner = game.isWinner(user, computer); + + Assert.assertFalse(winner); + } + + @Test + public void testIsWinner4() { + CasinoAccount account = new CasinoAccount("Angela", "pw", 500); + RpsPlayer player = new RpsPlayer(account); + RpsGame game = new RpsGame(player); + String user = "S"; + String computer = "P"; + boolean winner = game.isWinner(user, computer); + + Assert.assertTrue(winner); + } + } From 792e8ebbf157a068c68291d5bba91022d5c596b0 Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Mon, 24 Jul 2023 16:42:30 -0400 Subject: [PATCH 37/48] more tests to account manager --- .../CasinoAccountManagerTest.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java index 0ac58052..7ae1d455 100644 --- a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java +++ b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java @@ -11,6 +11,7 @@ public class CasinoAccountManagerTest { CasinoAccount account = new CasinoAccount("Angela", "password", 1000); CasinoAccount account1 = new CasinoAccount("Bob", "pw", 2000); + CasinoAccount account2 = new CasinoAccount("Linda", "pw", 500); @Test public void testGetAccount() throws IOException { @@ -30,6 +31,15 @@ public void testGetAccount2() throws IOException { Assert.assertEquals(actual, account1); } + @Test + public void testGetAccount3() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + cam.registerAccount(account2); + CasinoAccount actual = cam.getAccount("Linda", "pw"); + + Assert.assertEquals(actual, account2); + } + @Test public void testCreateAccount() throws IOException { CasinoAccountManager cam = new CasinoAccountManager(); @@ -48,4 +58,13 @@ public void testCreateAccount2() throws IOException { Assert.assertEquals(expected, actual); } + @Test + public void testCreateAccount3() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount expected = cam.createAccount("Linda", "pw", 500); + CasinoAccount actual = cam.getAccount("Linda", "pw"); + + Assert.assertEquals(expected, actual); + } + } From cac7b07ff8e758021c89f6ef1460a35f484bf8f3 Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Mon, 24 Jul 2023 16:47:07 -0400 Subject: [PATCH 38/48] added password tests for account --- .../zipcodewilmington/CasinoAccountTest.java | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java b/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java index 78a5f3b6..fba24a46 100644 --- a/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java +++ b/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java @@ -5,28 +5,59 @@ import org.junit.Test; public class CasinoAccountTest { - CasinoAccount account = new CasinoAccount("Angela", "password", 1000); + @Test public void getUserNameTest() { + CasinoAccount account = new CasinoAccount("Angela", "password", 1000); String expected = "Angela"; Assert.assertEquals(expected, account.getUserName()); } + @Test + public void getUserNameTest2() { + CasinoAccount account = new CasinoAccount("Linda", "pw", 500); + String expected = "Linda"; + Assert.assertEquals(expected, account.getUserName()); + } + + @Test + public void getUserNameTest3() { + CasinoAccount account = new CasinoAccount("Bob", "password", 100); + String expected = "Bob"; + Assert.assertEquals(expected, account.getUserName()); + } + @Test public void getPasswordTest() { + CasinoAccount account = new CasinoAccount("Angela", "password", 1000); String expected = "password"; Assert.assertEquals(expected, account.getPassword()); } + @Test + public void getPasswordTest2() { + CasinoAccount account = new CasinoAccount("Linda", "apple", 1000); + String expected = "apple"; + Assert.assertEquals(expected, account.getPassword()); + } + + @Test + public void getPasswordTest3() { + CasinoAccount account = new CasinoAccount("Angela", "cereal", 1000); + String expected = "cereal"; + Assert.assertEquals(expected, account.getPassword()); + } @Test public void checkBalanceTest1() { + CasinoAccount account = new CasinoAccount("Angela", "password", 1000); Assert.assertTrue(account.checkBalance(1000)); } @Test public void checkBalanceTest2() { + CasinoAccount account = new CasinoAccount("Angela", "password", 1000); Assert.assertTrue(account.checkBalance(500)); } } From 494e354fb9ac2c1b88852d83741d9ba11865d458 Mon Sep 17 00:00:00 2001 From: surabhi Date: Mon, 24 Jul 2023 17:35:12 -0400 Subject: [PATCH 39/48] added some coins toss tests --- accounts.txt | 2 +- .../casino/games/slots/SlotsGame.java | 8 --- .../casino/games/CoinTossTest.java | 34 ++++++++----- .../casino/games/slots/SlotsGameTest.java | 50 +++++++++++++++++++ 4 files changed, 72 insertions(+), 22 deletions(-) diff --git a/accounts.txt b/accounts.txt index 0ffd2d06..3c1a275b 100644 --- a/accounts.txt +++ b/accounts.txt @@ -5,7 +5,7 @@ pebbles password 1000 angela apple 100 bob pw 1800 test test 1000 -das das 5000 +das das 7000 maggie 1234 1000 poobers pebs 300 anna pie 40 diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java index b5c9f616..95257be5 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java @@ -90,9 +90,7 @@ public boolean winOrLose () { return true; } - tries --; - } noMatch(); @@ -110,12 +108,6 @@ public void noMatch() { - - public void updateAccount () { - System.out.println("BLOOOP.\n"); - - } - @Override public void quit () { diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java index 7019723c..5b76175c 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java @@ -17,20 +17,28 @@ public void testTheToss1(){ } -//@Test -//public void testTheTossSecific(){ -// CoinTossGame ct = new CoinTossGame(); -// int result = ct.theToss(); -// -// Assertions.assertTrue(result ==0||result ==1,"The res") -// -// -// -// -// -//} -// + @Test + public void testTheToss2(){ + + CoinTossGame ct = new CoinTossGame(); + int result = ct.theToss(); + + Assertions.assertFalse(result !=0||result ==1); + + + } + + @Test + public void testTheToss3(){ + + CoinTossGame ct = new CoinTossGame(); + int result = ct.theToss(); + + Assertions.assertTrue(result ==0||result !=1); + + + } diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java index c754350d..cffb5ded 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java @@ -1,7 +1,11 @@ package com.github.zipcodewilmington.casino.games.slots; +import com.github.zipcodewilmington.casino.CasinoAccount; import org.junit.Assert; import org.junit.Test; +import com.github.zipcodewilmington.casino.games.slots.SlotsGame; +import com.github.zipcodewilmington.casino.games.slots.SlotsPlayer; + import java.util.Random; @@ -39,7 +43,53 @@ public void testSpin3(){ Assert.assertNotEquals(original, shuffle); } + @Test + public void testCheckMatch1(){ + //checking that if first three index + SlotsGame sg = new SlotsGame(); + + String [] original = {"*STAR*", "*STAR*", "*STAR*" }; + + boolean result = sg.checkMatch(original); + + Assert.assertTrue(result); + } + + @Test + public void testCheckMatch2(){ + //checking that + SlotsGame sg = new SlotsGame(); + + String [] original = {"*LUCK*", "*STAR*", "*STAR*" }; + + boolean result = sg.checkMatch(original); + + Assert.assertFalse(result); + } + @Test + public void testCheckMatch3(){ + //checking that + SlotsGame sg = new SlotsGame(); + + String [] original = {"*LUCK*", null, "*STAR*" }; + + boolean result = sg.checkMatch(original); + + Assert.assertFalse(result); + } + + @Test + public void testCheckMatch4(){ + //checking that + SlotsGame sg = new SlotsGame(); + + String [] original = {"*LUCK*", "*PRAY*", "*STAR*" }; + + boolean result = sg.checkMatch(original); + + Assert.assertFalse(result); + } From f5476d730afea1bc4d0ab761e21762c369e2ceb1 Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Mon, 24 Jul 2023 17:35:32 -0400 Subject: [PATCH 40/48] tests for get balance --- .../CasinoAccountManagerTest.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java index 7ae1d455..87fc190e 100644 --- a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java +++ b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java @@ -67,4 +67,34 @@ public void testCreateAccount3() throws IOException { Assert.assertEquals(expected, actual); } + @Test + public void testGetBalance() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Linda", "pw", 500); + Integer expected = 500; + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testGetBalance2() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 1000); + Integer expected = 1000; + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testGetBalance3() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 2000); + Integer expected = 2000; + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + } From 602b9d50be4e66fa356bc60b8fdc32b297090ab2 Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Mon, 24 Jul 2023 17:40:48 -0400 Subject: [PATCH 41/48] more tests for account --- .../CasinoAccountManagerTest.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java index 87fc190e..8a91b310 100644 --- a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java +++ b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java @@ -97,4 +97,37 @@ public void testGetBalance3() throws IOException { Assert.assertEquals(expected, actual); } + @Test + public void testSetBalance() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 2000); + Integer expected = 2000; + account.setBalance(expected); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testSetBalance2() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 800); + Integer expected = 800; + account.setBalance(expected); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testSetBalance3() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 300); + Integer expected = 300; + account.setBalance(expected); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + } From f8de617093a0d492a3d65a40e27955d5c6046f3a Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Mon, 24 Jul 2023 17:50:07 -0400 Subject: [PATCH 42/48] more tests for account manager --- .../CasinoAccountManagerTest.java | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java index 8a91b310..933b065f 100644 --- a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java +++ b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java @@ -130,4 +130,106 @@ public void testSetBalance3() throws IOException { Assert.assertEquals(expected, actual); } + @Test + public void testAddBalance() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 1500); + Integer expected = 2000; + account.addBalance(500); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testAddBalance2() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 500); + Integer expected = 2000; + account.addBalance(1500); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testAddBalance3() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 800); + Integer expected = 5200; + account.addBalance(4400); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testWithdrawBalance() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 1500); + Integer expected = 1000; + account.withdrawBalance(500); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testWithdrawBalance2() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 1500); + Integer expected = 500; + account.withdrawBalance(1000); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testWithdrawBalance3() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 2800); + Integer expected = 2200; + account.withdrawBalance(600); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testCheckBalance() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 1500); + Integer bet = 1000; + + Assert.assertTrue(account.checkBalance(bet)); + } + + @Test + public void testCheckBalance2() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 1500); + Integer bet = 1500; + + Assert.assertTrue(account.checkBalance(bet)); + } + + @Test + public void testCheckBalance3() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 1500); + Integer bet = 2000; + + Assert.assertFalse(account.checkBalance(bet)); + } + + @Test + public void testCheckBalance4() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 1500); + Integer bet = 1501; + + Assert.assertFalse(account.checkBalance(bet)); + } + } From da1f6baedd19e812f3ae03b08c5442d6804ec2b5 Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Mon, 24 Jul 2023 18:00:30 -0400 Subject: [PATCH 43/48] more tests --- .../CasinoAccountManagerTest.java | 164 ++--------------- .../zipcodewilmington/CasinoAccountTest.java | 168 ++++++++++++++++++ 2 files changed, 187 insertions(+), 145 deletions(-) diff --git a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java index 933b065f..742d8f03 100644 --- a/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java +++ b/src/test/java/com/github/zipcodewilmington/CasinoAccountManagerTest.java @@ -68,168 +68,42 @@ public void testCreateAccount3() throws IOException { } @Test - public void testGetBalance() throws IOException { + public void testGetUsernames() throws IOException { CasinoAccountManager cam = new CasinoAccountManager(); - CasinoAccount account = cam.createAccount("Linda", "pw", 500); - Integer expected = 500; - Integer actual = account.getBalance(); - - Assert.assertEquals(expected, actual); - } - - @Test - public void testGetBalance2() throws IOException { - CasinoAccountManager cam = new CasinoAccountManager(); - CasinoAccount account = cam.createAccount("Bob", "pw", 1000); - Integer expected = 1000; - Integer actual = account.getBalance(); - - Assert.assertEquals(expected, actual); - } - - @Test - public void testGetBalance3() throws IOException { - CasinoAccountManager cam = new CasinoAccountManager(); - CasinoAccount account = cam.createAccount("Bob", "pw", 2000); - Integer expected = 2000; - Integer actual = account.getBalance(); - - Assert.assertEquals(expected, actual); - } - - @Test - public void testSetBalance() throws IOException { - CasinoAccountManager cam = new CasinoAccountManager(); - CasinoAccount account = cam.createAccount("Bob", "pw", 2000); - Integer expected = 2000; - account.setBalance(expected); - Integer actual = account.getBalance(); - - Assert.assertEquals(expected, actual); - } - - @Test - public void testSetBalance2() throws IOException { - CasinoAccountManager cam = new CasinoAccountManager(); - CasinoAccount account = cam.createAccount("Bob", "pw", 800); - Integer expected = 800; - account.setBalance(expected); - Integer actual = account.getBalance(); - - Assert.assertEquals(expected, actual); - } - - @Test - public void testSetBalance3() throws IOException { - CasinoAccountManager cam = new CasinoAccountManager(); - CasinoAccount account = cam.createAccount("Bob", "pw", 300); - Integer expected = 300; - account.setBalance(expected); - Integer actual = account.getBalance(); - - Assert.assertEquals(expected, actual); - } - - @Test - public void testAddBalance() throws IOException { - CasinoAccountManager cam = new CasinoAccountManager(); - CasinoAccount account = cam.createAccount("Bob", "pw", 1500); - Integer expected = 2000; - account.addBalance(500); - Integer actual = account.getBalance(); - - Assert.assertEquals(expected, actual); - } + CasinoAccount account1 = cam.createAccount("Linda", "pw", 500); + CasinoAccount account2 = cam.createAccount("Bob", "pw", 1500); + cam.registerAccount(account1); + cam.registerAccount(account2); + int expected = 10; + int actual = cam.getAccountUsername().size(); - @Test - public void testAddBalance2() throws IOException { - CasinoAccountManager cam = new CasinoAccountManager(); - CasinoAccount account = cam.createAccount("Bob", "pw", 500); - Integer expected = 2000; - account.addBalance(1500); - Integer actual = account.getBalance(); Assert.assertEquals(expected, actual); } @Test - public void testAddBalance3() throws IOException { + public void testGetUsernames2() throws IOException { CasinoAccountManager cam = new CasinoAccountManager(); - CasinoAccount account = cam.createAccount("Bob", "pw", 800); - Integer expected = 5200; - account.addBalance(4400); - Integer actual = account.getBalance(); + int expected = 8; + int actual = cam.getAccountUsername().size(); - Assert.assertEquals(expected, actual); - } - - @Test - public void testWithdrawBalance() throws IOException { - CasinoAccountManager cam = new CasinoAccountManager(); - CasinoAccount account = cam.createAccount("Bob", "pw", 1500); - Integer expected = 1000; - account.withdrawBalance(500); - Integer actual = account.getBalance(); Assert.assertEquals(expected, actual); } @Test - public void testWithdrawBalance2() throws IOException { + public void testGetUsernames3() throws IOException { CasinoAccountManager cam = new CasinoAccountManager(); - CasinoAccount account = cam.createAccount("Bob", "pw", 1500); - Integer expected = 500; - account.withdrawBalance(1000); - Integer actual = account.getBalance(); + CasinoAccount account1 = cam.createAccount("Linda", "pw", 500); + CasinoAccount account2 = cam.createAccount("Bob", "pw", 1500); + CasinoAccount account3 = cam.createAccount("Tina", "pw", 1500); + cam.registerAccount(account1); + cam.registerAccount(account2); + cam.registerAccount(account3); + int expected = 11; + int actual = cam.getAccountUsername().size(); - Assert.assertEquals(expected, actual); - } - - @Test - public void testWithdrawBalance3() throws IOException { - CasinoAccountManager cam = new CasinoAccountManager(); - CasinoAccount account = cam.createAccount("Bob", "pw", 2800); - Integer expected = 2200; - account.withdrawBalance(600); - Integer actual = account.getBalance(); Assert.assertEquals(expected, actual); } - - @Test - public void testCheckBalance() throws IOException { - CasinoAccountManager cam = new CasinoAccountManager(); - CasinoAccount account = cam.createAccount("Bob", "pw", 1500); - Integer bet = 1000; - - Assert.assertTrue(account.checkBalance(bet)); - } - - @Test - public void testCheckBalance2() throws IOException { - CasinoAccountManager cam = new CasinoAccountManager(); - CasinoAccount account = cam.createAccount("Bob", "pw", 1500); - Integer bet = 1500; - - Assert.assertTrue(account.checkBalance(bet)); - } - - @Test - public void testCheckBalance3() throws IOException { - CasinoAccountManager cam = new CasinoAccountManager(); - CasinoAccount account = cam.createAccount("Bob", "pw", 1500); - Integer bet = 2000; - - Assert.assertFalse(account.checkBalance(bet)); - } - - @Test - public void testCheckBalance4() throws IOException { - CasinoAccountManager cam = new CasinoAccountManager(); - CasinoAccount account = cam.createAccount("Bob", "pw", 1500); - Integer bet = 1501; - - Assert.assertFalse(account.checkBalance(bet)); - } - } diff --git a/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java b/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java index fba24a46..16aa6367 100644 --- a/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java +++ b/src/test/java/com/github/zipcodewilmington/CasinoAccountTest.java @@ -1,9 +1,12 @@ package com.github.zipcodewilmington; import com.github.zipcodewilmington.casino.CasinoAccount; +import com.github.zipcodewilmington.casino.CasinoAccountManager; import org.junit.Assert; import org.junit.Test; +import java.io.IOException; + public class CasinoAccountTest { @@ -60,4 +63,169 @@ public void checkBalanceTest2() { CasinoAccount account = new CasinoAccount("Angela", "password", 1000); Assert.assertTrue(account.checkBalance(500)); } + + @Test + public void testGetBalance() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Linda", "pw", 500); + Integer expected = 500; + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testGetBalance2() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 1000); + Integer expected = 1000; + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testGetBalance3() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 2000); + Integer expected = 2000; + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testSetBalance() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 2000); + Integer expected = 2000; + account.setBalance(expected); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testSetBalance2() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 800); + Integer expected = 800; + account.setBalance(expected); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testSetBalance3() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 300); + Integer expected = 300; + account.setBalance(expected); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testAddBalance() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 1500); + Integer expected = 2000; + account.addBalance(500); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testAddBalance2() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 500); + Integer expected = 2000; + account.addBalance(1500); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testAddBalance3() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 800); + Integer expected = 5200; + account.addBalance(4400); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testWithdrawBalance() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 1500); + Integer expected = 1000; + account.withdrawBalance(500); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testWithdrawBalance2() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 1500); + Integer expected = 500; + account.withdrawBalance(1000); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testWithdrawBalance3() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 2800); + Integer expected = 2200; + account.withdrawBalance(600); + Integer actual = account.getBalance(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testCheckBalance() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 1500); + Integer bet = 1000; + + Assert.assertTrue(account.checkBalance(bet)); + } + + @Test + public void testCheckBalance2() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 1500); + Integer bet = 1500; + + Assert.assertTrue(account.checkBalance(bet)); + } + + @Test + public void testCheckBalance3() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 1500); + Integer bet = 2000; + + Assert.assertFalse(account.checkBalance(bet)); + } + + @Test + public void testCheckBalance4() throws IOException { + CasinoAccountManager cam = new CasinoAccountManager(); + CasinoAccount account = cam.createAccount("Bob", "pw", 1500); + Integer bet = 1501; + + Assert.assertFalse(account.checkBalance(bet)); + } } From 83c1b61d9d61e4a42119336e84d890dd98678e6e Mon Sep 17 00:00:00 2001 From: surabhi Date: Mon, 24 Jul 2023 18:21:47 -0400 Subject: [PATCH 44/48] worked on coin toss --- .../com/github/zipcodewilmington/Casino.java | 4 +- .../casino/games/CoinToss/CoinTossGame.java | 47 +++++++++++++++++-- .../casino/games/CoinToss/CoinTossPlayer.java | 15 ++++++ .../casino/games/CoinTossTest.java | 21 +++++---- 4 files changed, 74 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossPlayer.java diff --git a/src/main/java/com/github/zipcodewilmington/Casino.java b/src/main/java/com/github/zipcodewilmington/Casino.java index bc6261ff..3ab315a7 100644 --- a/src/main/java/com/github/zipcodewilmington/Casino.java +++ b/src/main/java/com/github/zipcodewilmington/Casino.java @@ -4,6 +4,7 @@ import com.github.zipcodewilmington.casino.CasinoAccountManager; import com.github.zipcodewilmington.casino.games.CoinToss.CoinTossGame; +import com.github.zipcodewilmington.casino.games.CoinToss.CoinTossPlayer; import com.github.zipcodewilmington.casino.games.numberguess.NumberGuessGame; import com.github.zipcodewilmington.casino.games.numberguess.NumberGuessPlayer; import com.github.zipcodewilmington.casino.games.rockpaperscissors.RpsGame; @@ -84,7 +85,8 @@ public void run() throws IOException { SlotsPlayer splayer = new SlotsPlayer(userAccount); new SlotsGame(splayer).run(); } else if (gameSelectionInput.equals("COIN TOSS") || gameSelectionInput.equals("coin toss") || gameSelectionInput.equals("3")) { - new CoinTossGame().run(); + CoinTossPlayer cplayer = new CoinTossPlayer(userAccount); + new CoinTossGame(cplayer).run(); } else { new GameRoulette().run(); } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java index a67b8c8c..e1efe999 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java @@ -1,19 +1,30 @@ package com.github.zipcodewilmington.casino.games.CoinToss; +import com.github.zipcodewilmington.casino.GameInterface; +import com.github.zipcodewilmington.casino.Player; +import com.github.zipcodewilmington.utils.AnsiColor; +import com.github.zipcodewilmington.utils.IOConsole; + import java.util.Random; import java.util.Scanner; -public class CoinTossGame { +public class CoinTossGame implements GameInterface { + CoinTossPlayer player; + int bet; int userFlip; int gameAns; int toss; int choice; + private final IOConsole console = new IOConsole(AnsiColor.CYAN); - + public CoinTossGame(CoinTossPlayer player) { + this.player=player; + } public void run (){ displayInstructions(); + placeBet(); int tossResult=theToss(); for (int i=0;i<3;i++){ @@ -32,6 +43,20 @@ public void run (){ } + @Override + public void add(Player player) { + + } + + @Override + public void remove(Player player) { + + } + + public int placeBet() { + return bet = console.getIntegerInput("Place your bet: "); + } + public void displayInstructions(){ System.out.println(" ***************************************"); System.out.println(" ---------------------------------------"); @@ -44,6 +69,11 @@ public void displayInstructions(){ } + @Override + public Boolean checkWinner() { + return null; + } + public int theToss(){ Random random = new Random(); int toss= random.nextInt(2); @@ -63,9 +93,18 @@ public void displayTossResult(int result) { public void match(int toss, int choice) { if (toss == choice) { - System.out.println("Congratulations! You guessed it right!"); + + System.out.println("Congratulations! You have a match! You have doubled your bet!\n"); + player.getPlayerAccount().addBalance(bet * 2); + player.getPlayerAccount().setBalance(player.getPlayerAccount().getBalance()); + System.out.println("Your balance now is: " + player.getPlayerAccount().getBalance() + "\n"); + } else { - System.out.println("Sorry! Better luck next time."); + System.out.println("Better luck next time. No match. You lost your bet!\n"); + player.getPlayerAccount().withdrawBalance(bet); + player.getPlayerAccount().setBalance(player.getPlayerAccount().getBalance()); + System.out.println("Your balance now is: " + player.getPlayerAccount().getBalance() + "\n"); + } } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossPlayer.java b/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossPlayer.java new file mode 100644 index 00000000..d30221ba --- /dev/null +++ b/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossPlayer.java @@ -0,0 +1,15 @@ +package com.github.zipcodewilmington.casino.games.CoinToss; + +import com.github.zipcodewilmington.casino.CasinoAccount; +import com.github.zipcodewilmington.casino.Player; + +public class CoinTossPlayer extends Player { + public CoinTossPlayer(CasinoAccount account) {super(account);} + + @Override + public CasinoAccount getPlayerAccount() { + return this.account; + } + + +} diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java index 5b76175c..ff129864 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java @@ -1,6 +1,10 @@ package com.github.zipcodewilmington.casino.games; +import com.github.zipcodewilmington.casino.CasinoAccount; import com.github.zipcodewilmington.casino.games.CoinToss.CoinTossGame; +import com.github.zipcodewilmington.casino.games.CoinToss.CoinTossPlayer; +import com.github.zipcodewilmington.casino.games.slots.SlotsGame; +import org.junit.Assert; import org.junit.Test; import org.junit.jupiter.api.Assertions; @@ -9,8 +13,9 @@ public class CoinTossTest { @Test public void testTheToss1(){ - - CoinTossGame ct = new CoinTossGame(); + CasinoAccount account = new CasinoAccount("Surahi", "das", 100); + CoinTossPlayer player = new CoinTossPlayer(account); + CoinTossGame ct = new CoinTossGame(player); int result = ct.theToss(); Assertions.assertTrue(result ==0||result ==1); @@ -20,8 +25,9 @@ public void testTheToss1(){ @Test public void testTheToss2(){ - - CoinTossGame ct = new CoinTossGame(); + CasinoAccount account = new CasinoAccount("Surahi", "das", 100); + CoinTossPlayer player = new CoinTossPlayer(account); + CoinTossGame ct = new CoinTossGame(player); int result = ct.theToss(); Assertions.assertFalse(result !=0||result ==1); @@ -31,17 +37,16 @@ public void testTheToss2(){ @Test public void testTheToss3(){ - - CoinTossGame ct = new CoinTossGame(); + CasinoAccount account = new CasinoAccount("Surahi", "das", 100); + CoinTossPlayer player = new CoinTossPlayer(account); + CoinTossGame ct = new CoinTossGame(player); int result = ct.theToss(); Assertions.assertTrue(result ==0||result !=1); - } - } From 8f8b4e64445e00d8f1c41206ef73292e4409c0fd Mon Sep 17 00:00:00 2001 From: surabhi Date: Mon, 24 Jul 2023 18:57:22 -0400 Subject: [PATCH 45/48] cointoss tests --- accounts.txt | 2 +- .../casino/games/CoinToss/CoinTossGame.java | 15 +++------- .../casino/games/slots/SlotsGame.java | 1 + .../casino/games/CoinTossTest.java | 28 +++++++++---------- 4 files changed, 20 insertions(+), 26 deletions(-) diff --git a/accounts.txt b/accounts.txt index 3c1a275b..92e7cc64 100644 --- a/accounts.txt +++ b/accounts.txt @@ -5,7 +5,7 @@ pebbles password 1000 angela apple 100 bob pw 1800 test test 1000 -das das 7000 +das das 7202 maggie 1234 1000 poobers pebs 300 anna pie 40 diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java index e1efe999..36d1ecc3 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java @@ -63,7 +63,9 @@ public void displayInstructions(){ System.out.println(" (H) Lets play coin toss (T) "); System.out.println(" ---------------------------------------"); System.out.println(" ***************************************\n"); - System.out.println("You get three tries! If you win you double your bet!!\n"); + System.out.println("If you win you double your bet!!\n"); + System.out.println("Hi " + player.getPlayerAccount().getUserName() + ", your current balance is: $" + player.getAccount().getBalance()); + @@ -109,21 +111,12 @@ public void match(int toss, int choice) { } public void updateAccount(){ - System.out.println("BLOOOP.\n"); + } public void quit() { - System.out.println("Thank you for playing! Press 1 to replay or 2 to return to the casino lobby."); - Scanner console = new Scanner(System.in); - int choice = console.nextInt(); - if (choice == 1) { - run(); - } else if (choice == 2) { - //back to main menu when i comment out this classes main method - - } } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java index 95257be5..9782d2c6 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java @@ -47,6 +47,7 @@ public void displayInstructions () { System.out.println(" ---------------------------------------"); System.out.println(" ***************************************\n"); System.out.print(">>> "); + System.out.println(" Hi " + sp.getPlayerAccount().getUserName() + ", your current balance is: $" + sp.getAccount().getBalance()); } public int placeBet() { diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java index ff129864..f1c93887 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java @@ -13,7 +13,7 @@ public class CoinTossTest { @Test public void testTheToss1(){ - CasinoAccount account = new CasinoAccount("Surahi", "das", 100); + CasinoAccount account = new CasinoAccount("Surabhi", "das", 100); CoinTossPlayer player = new CoinTossPlayer(account); CoinTossGame ct = new CoinTossGame(player); int result = ct.theToss(); @@ -25,26 +25,26 @@ public void testTheToss1(){ @Test public void testTheToss2(){ - CasinoAccount account = new CasinoAccount("Surahi", "das", 100); + CasinoAccount account = new CasinoAccount("Surabhi", "das", 100); CoinTossPlayer player = new CoinTossPlayer(account); CoinTossGame ct = new CoinTossGame(player); int result = ct.theToss(); - Assertions.assertFalse(result !=0||result ==1); + Assertions.assertTrue(result !=0||result !=1); } - - @Test - public void testTheToss3(){ - CasinoAccount account = new CasinoAccount("Surahi", "das", 100); - CoinTossPlayer player = new CoinTossPlayer(account); - CoinTossGame ct = new CoinTossGame(player); - int result = ct.theToss(); - - Assertions.assertTrue(result ==0||result !=1); - - } +// +// @Test +// public void testTheToss3(){ +// CasinoAccount account = new CasinoAccount("Surahi", "das", 100); +// CoinTossPlayer player = new CoinTossPlayer(account); +// CoinTossGame ct = new CoinTossGame(player); +// int result = ct.theToss(); +// +// Assertions.assertFalse(result ==0||result !=1); +// +// } From dc9ac4756e51d171b351f81113c2a8133b24a83a Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Mon, 24 Jul 2023 18:57:29 -0400 Subject: [PATCH 46/48] adjustments to casino --- accounts.txt | 2 +- src/main/java/com/github/zipcodewilmington/Casino.java | 9 ++++++--- .../zipcodewilmington/casino/CasinoAccountManager.java | 1 - .../casino/games/rockpaperscissors/RpsGame.java | 6 +++--- .../casino/games/rockpaperscissors/RpsPlayer.java | 2 +- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/accounts.txt b/accounts.txt index 663d2bbc..4ef0111c 100644 --- a/accounts.txt +++ b/accounts.txt @@ -2,7 +2,7 @@ banana pie 400 joe joe 5200 pebbles password 1000 angela apple 100 -bob pw 2200 +bob pw 2614 test test 1000 poobers pebs 300 anna pie 40 diff --git a/src/main/java/com/github/zipcodewilmington/Casino.java b/src/main/java/com/github/zipcodewilmington/Casino.java index f985ce22..0f30111f 100644 --- a/src/main/java/com/github/zipcodewilmington/Casino.java +++ b/src/main/java/com/github/zipcodewilmington/Casino.java @@ -123,10 +123,13 @@ private CasinoAccount promptLogin(CasinoAccountManager cam) { } private void welcome() { - console.println(" +++++++++++++++++++++++++++++++++++\n" + - " Welcome to the Trillium Casino!\n" + - " +++++++++++++++++++++++++++++++++++\n"); + console.println(" +++++++++++++++++++++++++++++++++++++++++\n" + + " +++++++++++++++++++++++++++++++++++++\n" + + " Welcome to the Trillium Casino!\n" + + " +++++++++++++++++++++++++++++++++++++\n" + + " +++++++++++++++++++++++++++++++++++++++++\n"); } + } diff --git a/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java b/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java index 58cd357a..70354221 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java +++ b/src/main/java/com/github/zipcodewilmington/casino/CasinoAccountManager.java @@ -7,7 +7,6 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.HashMap; -import java.util.Map; import java.util.Set; diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java index 793f3843..60187bc3 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsGame.java @@ -22,6 +22,7 @@ public class RpsGame implements GameInterface { public RpsGame(RpsPlayer player) { this.player = player; } + //pass in player as the player of the game @Override public void run() { @@ -53,11 +54,10 @@ public void run() { @Override public void displayInstructions() { console.println(" ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" + - " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" + " Welcome to the Trillium's Rock Paper Scissor Game!\n" + " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" + - " ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" + - "\n\n\n" + + "\n Choose between [R] Rock, [P] Paper, [S] Scissor and see if you win" + + "\n\n" + " Hi " + player.getAccount().getUserName() + ", your current balance is: $" + player.getAccount().getBalance()); } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java index 51c166da..c0266f3c 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/rockpaperscissors/RpsPlayer.java @@ -1,6 +1,5 @@ package com.github.zipcodewilmington.casino.games.rockpaperscissors; -import com.github.zipcodewilmington.casino.Account; import com.github.zipcodewilmington.casino.CasinoAccount; import com.github.zipcodewilmington.casino.Player; @@ -10,6 +9,7 @@ public class RpsPlayer extends Player { public RpsPlayer(CasinoAccount account) { super(account); } + //account is passed to the constructor of the superclass(Player) setting up RpsPlayer object along with its casino account @Override public CasinoAccount getPlayerAccount() { From cd189d8a662a375d0455c9368ff63c77b6da232e Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Mon, 24 Jul 2023 20:38:22 -0400 Subject: [PATCH 47/48] casino --- .../com/github/zipcodewilmington/Casino.java | 5 +- .../casino/games/CoinToss/CoinTossGame.java | 66 ++++++--- .../casino/games/CoinToss/CoinTossPlayer.java | 15 ++ .../casino/games/slots/SlotsGame.java | 139 +++++++++--------- .../casino/games/slots/SlotsPlayer.java | 11 +- .../casino/games/CoinTossTest.java | 46 ++++++ .../casino/games/slots/SlotsGameTest.java | 78 +++++++--- 7 files changed, 255 insertions(+), 105 deletions(-) create mode 100644 src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossPlayer.java diff --git a/src/main/java/com/github/zipcodewilmington/Casino.java b/src/main/java/com/github/zipcodewilmington/Casino.java index d919ebcb..bc244287 100644 --- a/src/main/java/com/github/zipcodewilmington/Casino.java +++ b/src/main/java/com/github/zipcodewilmington/Casino.java @@ -4,6 +4,7 @@ import com.github.zipcodewilmington.casino.CasinoAccountManager; import com.github.zipcodewilmington.casino.games.CoinToss.CoinTossGame; +import com.github.zipcodewilmington.casino.games.CoinToss.CoinTossPlayer; import com.github.zipcodewilmington.casino.games.numberguess.NumberGuessGame; import com.github.zipcodewilmington.casino.games.numberguess.NumberGuessPlayer; import com.github.zipcodewilmington.casino.games.rockpaperscissors.RpsGame; @@ -80,13 +81,13 @@ public void run() throws IOException { RpsPlayer player = new RpsPlayer(userAccount); new RpsGame(player).run(); } else if (gameSelectionInput.equals("NUMBER GUESS") || gameSelectionInput.equals("number guess") || gameSelectionInput.equals("4")) { - new NumberGuessGame().run(); } else if (gameSelectionInput.equals("SLOTS") || gameSelectionInput.equals("1") || gameSelectionInput.equals("slots")) { SlotsPlayer splayer = new SlotsPlayer(userAccount); new SlotsGame(splayer).run(); } else if (gameSelectionInput.equals("COIN TOSS") || gameSelectionInput.equals("coin toss") || gameSelectionInput.equals("3")) { - new CoinTossGame().run(); + CoinTossPlayer cplayer = new CoinTossPlayer(userAccount); + new CoinTossGame(cplayer).run(); } else { new GameRoulette().run(); } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java index a67b8c8c..eb551a25 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossGame.java @@ -1,19 +1,30 @@ package com.github.zipcodewilmington.casino.games.CoinToss; +import com.github.zipcodewilmington.casino.GameInterface; +import com.github.zipcodewilmington.casino.Player; +import com.github.zipcodewilmington.utils.AnsiColor; +import com.github.zipcodewilmington.utils.IOConsole; + import java.util.Random; import java.util.Scanner; -public class CoinTossGame { +public class CoinTossGame implements GameInterface { + CoinTossPlayer player; + int bet; int userFlip; int gameAns; int toss; int choice; + private final IOConsole console = new IOConsole(AnsiColor.CYAN); - + public CoinTossGame(CoinTossPlayer player) { + this.player=player; + } public void run (){ displayInstructions(); + placeBet(); int tossResult=theToss(); for (int i=0;i<3;i++){ @@ -32,22 +43,43 @@ public void run (){ } + @Override + public void add(Player player) { + + } + + @Override + public void remove(Player player) { + + } + + public int placeBet() { + return bet = console.getIntegerInput("Place your bet: "); + } + public void displayInstructions(){ System.out.println(" ***************************************"); System.out.println(" ---------------------------------------"); System.out.println(" (H) Lets play coin toss (T) "); System.out.println(" ---------------------------------------"); System.out.println(" ***************************************\n"); - System.out.println("You get three tries! If you win you double your bet!!\n"); + System.out.println("If you win you double your bet!!\n"); + System.out.println("Hi " + player.getPlayerAccount().getUserName() + ", your current balance is: $" + player.getAccount().getBalance()); + + } + + @Override + public Boolean checkWinner() { + return null; } public int theToss(){ Random random = new Random(); int toss= random.nextInt(2); - return toss; + return toss; } public int getChoice(){ @@ -63,29 +95,29 @@ public void displayTossResult(int result) { public void match(int toss, int choice) { if (toss == choice) { - System.out.println("Congratulations! You guessed it right!"); + + System.out.println("Congratulations! You have a match! You have doubled your bet!\n"); + player.getPlayerAccount().addBalance(bet * 2); + player.getPlayerAccount().setBalance(player.getPlayerAccount().getBalance()); + System.out.println("Your balance now is: " + player.getPlayerAccount().getBalance() + "\n"); + } else { - System.out.println("Sorry! Better luck next time."); + System.out.println("Better luck next time. No match. You lost your bet!\n"); + player.getPlayerAccount().withdrawBalance(bet); + player.getPlayerAccount().setBalance(player.getPlayerAccount().getBalance()); + System.out.println("Your balance now is: " + player.getPlayerAccount().getBalance() + "\n"); + } } public void updateAccount(){ - System.out.println("BLOOOP.\n"); + } public void quit() { - System.out.println("Thank you for playing! Press 1 to replay or 2 to return to the casino lobby."); - Scanner console = new Scanner(System.in); - int choice = console.nextInt(); - if (choice == 1) { - run(); - } else if (choice == 2) { - //back to main menu when i comment out this classes main method - } - - } } +} \ No newline at end of file diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossPlayer.java b/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossPlayer.java new file mode 100644 index 00000000..d30221ba --- /dev/null +++ b/src/main/java/com/github/zipcodewilmington/casino/games/CoinToss/CoinTossPlayer.java @@ -0,0 +1,15 @@ +package com.github.zipcodewilmington.casino.games.CoinToss; + +import com.github.zipcodewilmington.casino.CasinoAccount; +import com.github.zipcodewilmington.casino.Player; + +public class CoinTossPlayer extends Player { + public CoinTossPlayer(CasinoAccount account) {super(account);} + + @Override + public CasinoAccount getPlayerAccount() { + return this.account; + } + + +} diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java index 8f0396c1..939645f8 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsGame.java @@ -20,102 +20,107 @@ public class SlotsGame implements GameInterface { String[] wordList = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; - SlotsPlayer sp = new SlotsPlayer(); - - -// just temp to check if code works - + SlotsPlayer sp; //instance of player + private final IOConsole console = new IOConsole(AnsiColor.CYAN); + int bet; + public SlotsGame(SlotsPlayer splayer) { + sp = splayer; + } + public SlotsGame() { + } public void run() { - int numberOfTries = 0; - boolean hasMatch = false; - displayInstructions(); + placeBet(); + winOrLose(); - do { - promptUserToStart(); - String[] wordList = spin(); - printResult(wordList); - numberOfTries++; - - if (checkMatch(wordList)) { - hasMatch = true; - break; - } - - if (numberOfTries < 3) { - System.out.println("Press Enter to spin again!"); - } + } + @Override + public void displayInstructions () { + System.out.println(" ***************************************"); + System.out.println(" ---------------------------------------"); + System.out.println(" { Welcome to the Slot Machine Game!!! } "); + System.out.println(" ---------------------------------------"); + System.out.println(" ***************************************\n"); + System.out.print(">>> "); + System.out.println(" Hi " + sp.getPlayerAccount().getUserName() + ", your current balance is: $" + sp.getAccount().getBalance()); + } - } - while (numberOfTries < 3); + public int placeBet() { + return bet = console.getIntegerInput("Place your bet: "); + } - if (hasMatch) { - updateAccount(); - } else { - quit(); + public String[] spin () { + Random random = new Random(); + for (int i = 0; i < wordList.length; i++) { + int randomIndex = random.nextInt(wordList.length); + wordList[i] = wordList[randomIndex]; } + return wordList; } - @Override - public void displayInstructions () { - System.out.println(" ***************************************"); - System.out.println(" ---------------------------------------"); - System.out.println(" { Welcome to the Slot Machine Game!!! } "); - System.out.println(" ---------------------------------------"); - System.out.println(" ***************************************\n"); - System.out.println(" Type 'PULL' to crank the lever!\n "); - System.out.print(">>> "); - } + public void askUserToPullMsg () { + System.out.println(" Type 'PULL' to crank the lever!\n "); + } + public boolean checkMatch (String[]wordList){ - public String[] spin () { - Random random = new Random(); - for (int i = 0; i < wordList.length; i++) { - int randomIndex = random.nextInt(wordList.length); - wordList[i] = wordList[randomIndex]; - } - return wordList; - } + boolean indexCheck= wordList[0].equals(wordList[1]) && wordList[0].equals(wordList[2]); + return indexCheck; + } + public boolean winOrLose () { + int tries = 3; - public void printResult (String[]wordList){ + while (tries > 0) { + askUserToPullMsg(); + promptUserToStart(); + spin(); System.out.println(wordList[0] + " " + wordList[1] + " " + wordList[2]); + System.out.println("\n"); + if (checkMatch(wordList)) { - System.out.println("Congratulations! You have a match!\n"); - } else { - System.out.println("Better luck next time. No match.\n"); + System.out.println("Congratulations! You have a match! You have doubled your bet!\n"); + sp.getPlayerAccount().addBalance(bet * 2); + sp.getPlayerAccount().setBalance(sp.getPlayerAccount().getBalance()); + System.out.println("Your balance now is: " + sp.getPlayerAccount().getBalance() + "\n"); + return true; + } + tries --; } + noMatch(); + return false; - public boolean checkMatch (String[]wordList){ - - return wordList[0].equals(wordList[1]) && wordList[0].equals(wordList[2]); - } + } + public void noMatch() { + System.out.println("Better luck next time. No match. You lost your bet!\n"); + sp.getPlayerAccount().withdrawBalance(bet); + sp.getPlayerAccount().setBalance(sp.getPlayerAccount().getBalance()); + System.out.println("Your balance now is: " + sp.getPlayerAccount().getBalance() + "\n"); - public void updateAccount () { - System.out.println("BLOOOP.\n"); + } - } - @Override - public void quit () { - System.out.println("Thank you for playing! Press 1 to replay or 2 to return to the casino lobby."); - Scanner console = new Scanner(System.in); - int choice = console.nextInt(); - if (choice == 1) { - run(); - } else if (choice == 2) { - //back to main menu when i comment out this classes main method - } + @Override + public void quit () { + + System.out.println("Thank you for playing! Press 1 to replay or 2 to return to the casino lobby."); + Scanner console = new Scanner(System.in); + int choice = console.nextInt(); + if (choice == 1) { + run(); + } else if (choice == 2) { + //back to main menu when i comment out this classes main method } + } @Override public void add(Player player) { diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsPlayer.java b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsPlayer.java index 13846857..0d0ea845 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsPlayer.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/slots/SlotsPlayer.java @@ -1,13 +1,20 @@ package com.github.zipcodewilmington.casino.games.slots; +import com.github.zipcodewilmington.casino.CasinoAccount; +import com.github.zipcodewilmington.casino.Player; + import java.util.Scanner; /** * Created by leon on 7/21/2020. */ -public class SlotsPlayer { - +public class SlotsPlayer extends Player { + public SlotsPlayer(CasinoAccount account) {super(account);} + @Override + public CasinoAccount getPlayerAccount() { + return this.account; + } public static boolean promptUserToStart() { diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java index da14c93b..bc047b68 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/CoinTossTest.java @@ -1,6 +1,52 @@ package com.github.zipcodewilmington.casino.games; +import com.github.zipcodewilmington.casino.CasinoAccount; +import com.github.zipcodewilmington.casino.games.CoinToss.CoinTossGame; +import com.github.zipcodewilmington.casino.games.CoinToss.CoinTossPlayer; +import com.github.zipcodewilmington.casino.games.slots.SlotsGame; +import org.junit.Assert; +import org.junit.Test; +import org.junit.jupiter.api.Assertions; + + public class CoinTossTest { + @Test + public void testTheToss1(){ + CasinoAccount account = new CasinoAccount("Surabhi", "das", 100); + CoinTossPlayer player = new CoinTossPlayer(account); + CoinTossGame ct = new CoinTossGame(player); + int result = ct.theToss(); + + Assertions.assertTrue(result ==0||result ==1); + + + } + + @Test + public void testTheToss2(){ + CasinoAccount account = new CasinoAccount("Surabhi", "das", 100); + CoinTossPlayer player = new CoinTossPlayer(account); + CoinTossGame ct = new CoinTossGame(player); + int result = ct.theToss(); + + Assertions.assertTrue(result !=0||result !=1); + + + } +// +// @Test +// public void testTheToss3(){ +// CasinoAccount account = new CasinoAccount("Surahi", "das", 100); +// CoinTossPlayer player = new CoinTossPlayer(account); +// CoinTossGame ct = new CoinTossGame(player); +// int result = ct.theToss(); +// +// Assertions.assertFalse(result ==0||result !=1); +// +// } + + + } diff --git a/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java b/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java index 543a5ecb..75fdc4c4 100644 --- a/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java +++ b/src/test/java/com/github/zipcodewilmington/casino/games/slots/SlotsGameTest.java @@ -1,53 +1,97 @@ package com.github.zipcodewilmington.casino.games.slots; +import com.github.zipcodewilmington.casino.CasinoAccount; import org.junit.Assert; import org.junit.Test; +import com.github.zipcodewilmington.casino.games.slots.SlotsGame; +import com.github.zipcodewilmington.casino.games.slots.SlotsPlayer; + import java.util.Random; public class SlotsGameTest { + @Test + public void testSpin1(){ + //checking shuffled array not empty + SlotsGame sg = new SlotsGame(); + + String [] shuffle = sg.spin(); + + Assert.assertNotNull(shuffle); + } @Test - public void testSpin(){ - Random random = new Random(1); + public void testSpin2(){ + //checking length of arrays equal SlotsGame sg = new SlotsGame(); - String [] result = sg.spin(); + String [] original = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; + String [] shuffle = sg.spin(); + + Assert.assertEquals(original.length, shuffle.length); + } + + @Test + public void testSpin3(){ + //checking actual contents of shuffle array is diff than the shuffled + SlotsGame sg = new SlotsGame(); String [] original = {"*STAR*", "*LUCK*", "*CASH*", "*PRAY*", "*HOPE*"}; - Assert.assertTrue(original != result); + String [] shuffle = sg.spin(); + + Assert.assertNotEquals(original, shuffle); } @Test - public void testPrintResultTrue() { - // Mock input for wordList with a match - String[] wordList = {"word", "word", "word"}; + public void testCheckMatch1(){ + //checking that if first three index SlotsGame sg = new SlotsGame(); - // Call the method and capture the result - boolean result = sg.checkMatch(wordList); + String [] original = {"*STAR*", "*STAR*", "*STAR*" }; + + boolean result = sg.checkMatch(original); - // Assert the expected result with the actual result Assert.assertTrue(result); + } + @Test + public void testCheckMatch2(){ + //checking that + SlotsGame sg = new SlotsGame(); + + String [] original = {"*LUCK*", "*STAR*", "*STAR*" }; + + boolean result = sg.checkMatch(original); + + Assert.assertFalse(result); } @Test - public void testPrintResultFalse() { - // Mock input for wordList with a match - String[] wordList = {"word", "bloop", "word"}; + public void testCheckMatch3(){ + //checking that SlotsGame sg = new SlotsGame(); - // Call the method and capture the result - boolean result = sg.checkMatch(wordList); + String [] original = {"*LUCK*", null, "*STAR*" }; + + boolean result = sg.checkMatch(original); - // Assert the expected result with the actual result Assert.assertFalse(result); + } + + @Test + public void testCheckMatch4(){ + //checking that + SlotsGame sg = new SlotsGame(); + String [] original = {"*LUCK*", "*PRAY*", "*STAR*" }; + boolean result = sg.checkMatch(original); + + Assert.assertFalse(result); } -} + +} \ No newline at end of file From 1d2a90713b5dc7334dd58867202f565360ae530c Mon Sep 17 00:00:00 2001 From: Angela Kim Date: Tue, 25 Jul 2023 08:00:26 -0400 Subject: [PATCH 48/48] finished --- accounts.txt | 2 +- .../casino/games/numberguess/NumberGuessGame.java | 2 +- .../zipcodewilmington/casino/games/roulette/GameRoulette.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/accounts.txt b/accounts.txt index 4ef0111c..f6dcfe96 100644 --- a/accounts.txt +++ b/accounts.txt @@ -2,7 +2,7 @@ banana pie 400 joe joe 5200 pebbles password 1000 angela apple 100 -bob pw 2614 +bob pw 2414 test test 1000 poobers pebs 300 anna pie 40 diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java b/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java index 9e0a0e5b..b751fad9 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/numberguess/NumberGuessGame.java @@ -58,7 +58,7 @@ public String displayInstructions() { } public int getUserGuess() { - System.out.print("Waste Your Money On A Guess: "); + System.out.print("Waste Your Time On A Guess: "); return scanner.nextInt(); } diff --git a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java index f10eb332..090dc6c4 100644 --- a/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java +++ b/src/main/java/com/github/zipcodewilmington/casino/games/roulette/GameRoulette.java @@ -114,7 +114,7 @@ int getBet() { "The maximum amount you can bet is $" + bank + ".\n" + " How much would you like to bet?"); int bet = console.nextInt(); - if (bet > player.getAccount().getBalance()) { + if (bet > bank) { System.out.println("You cannot bet more than $" + bank + "."); System.out.println("How much would you like to bet?"); bet = console.nextInt();