From 14c0bbb474015d20a113a4eee6bfa60015d1e92c Mon Sep 17 00:00:00 2001
From: Zening Li <zeningl@student.unimelb.edu.au>
Date: Wed, 26 May 2021 17:51:27 +1000
Subject: [PATCH] v0.71

---
 Cribbage/.idea/vcs.xml                        |   6 --
 .../Cribbage/observer/Activity.class          | Bin 1126 -> 0 bytes
 .../Cribbage/observer/CribbageHandCards.class | Bin 2289 -> 0 bytes
 .../Cribbage/observer/Fifteens.class          | Bin 2088 -> 0 bytes
 .../production/Cribbage/observer/Flush.class  | Bin 1674 -> 0 bytes
 .../Cribbage/observer/HandCards.class         | Bin 277 -> 0 bytes
 .../production/Cribbage/observer/Jack.class   | Bin 1170 -> 0 bytes
 .../production/Cribbage/observer/Pairs.class  | Bin 2035 -> 0 bytes
 .../production/Cribbage/observer/Rule.class   | Bin 204 -> 0 bytes
 .../production/Cribbage/observer/Runs.class   | Bin 811 -> 0 bytes
 Cribbage/src/observer/CribbageHandCards.java  |  38 ----------
 Cribbage/src/observer/Fifteens.java           |  53 --------------
 Cribbage/src/observer/Flush.java              |  54 --------------
 Cribbage/src/observer/HandCards.java          |  14 ----
 Cribbage/src/observer/Jack.java               |  32 ---------
 Cribbage/src/observer/Pairs.java              |  66 ------------------
 Cribbage/src/observer/Rule.java               |  10 ---
 Cribbage/src/observer/Runs.java               |  26 -------
 18 files changed, 299 deletions(-)
 delete mode 100644 Cribbage/.idea/vcs.xml
 delete mode 100644 Cribbage/out/production/Cribbage/observer/Activity.class
 delete mode 100644 Cribbage/out/production/Cribbage/observer/CribbageHandCards.class
 delete mode 100644 Cribbage/out/production/Cribbage/observer/Fifteens.class
 delete mode 100644 Cribbage/out/production/Cribbage/observer/Flush.class
 delete mode 100644 Cribbage/out/production/Cribbage/observer/HandCards.class
 delete mode 100644 Cribbage/out/production/Cribbage/observer/Jack.class
 delete mode 100644 Cribbage/out/production/Cribbage/observer/Pairs.class
 delete mode 100644 Cribbage/out/production/Cribbage/observer/Rule.class
 delete mode 100644 Cribbage/out/production/Cribbage/observer/Runs.class
 delete mode 100644 Cribbage/src/observer/CribbageHandCards.java
 delete mode 100644 Cribbage/src/observer/Fifteens.java
 delete mode 100644 Cribbage/src/observer/Flush.java
 delete mode 100644 Cribbage/src/observer/HandCards.java
 delete mode 100644 Cribbage/src/observer/Jack.java
 delete mode 100644 Cribbage/src/observer/Pairs.java
 delete mode 100644 Cribbage/src/observer/Rule.java
 delete mode 100644 Cribbage/src/observer/Runs.java

diff --git a/Cribbage/.idea/vcs.xml b/Cribbage/.idea/vcs.xml
deleted file mode 100644
index 6c0b863..0000000
--- a/Cribbage/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="VcsDirectoryMappings">
-    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
-  </component>
-</project>
\ No newline at end of file
diff --git a/Cribbage/out/production/Cribbage/observer/Activity.class b/Cribbage/out/production/Cribbage/observer/Activity.class
deleted file mode 100644
index 92854f2cf543f1c0ab12a2961adeeaf0c5663830..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1126
zcmX^0Z`VEs1_lcTJ9Y*pMh3zBq~g?~veY7d$K;aCvdof7P6kE>79Ivx1~x_pb{AJi
zA5TAbMh0OY429Mpl^i?_oFJ84E}p^8jzKP-e(oS)ZXO06kT7SktB<R52vn4hhk+j?
z$`at?7zt7)$ipB676|t64+jZ|@Gyunh%qv-tAsiFgt`VZGKfTDv6+iOf<cm<L5zn%
zib0x@fi*cNKQEP$K}18-Co8cmQ9ma!FJ0e1DJwO(#F~pimO+l4L7s;}fkBaxfe)d;
zHLo<6k%7G|F{d=uKaG*WR0B!3b53G$u{DxFa7j^SUb;214Il%+<}33ss4%E9GO*cX
z=4F=HF*1lD8wJ(rsTsz>z{<tI$e_%@z{$bD!@<DM!5{<@(B)y!W6%eA8|;{3kO7+5
zJkH3#22;V}oS%})$iVNDnV0HUnwykb6q1;flgh}Tj>T?GEP=?#Amo#uoR|}qSd<CU
z3DwS$mzbLhl0yU()B}tREF~G4#f%J`!I|lKi6x~)sf-NF8k%8@3>-GeIZ&^wB83?!
zfNZc>ZD-BMz!jWdT9lmXmI-n*FD&)xfoyd!WME{FWnf@nbC3ijL<R;2Nl-Ea(>x4p
zV45FF3xQ|>DNwp$U|?Wn;AAjh&}U#|Fl1n0P-0+Y00FK|48q$O#1Ak?Y+ztuU}P`?
znGKd>X5eH{U@(TNH(_7`i*gAuYVBZ<Il#aOQqP2<-h_dHfd`_B!IZ&_fq{Vu6!{EH
zU>gk?m>HNE7#P^Kv}Lw4C~X8wBU^{i&dy*Cayo+rSdFCs7bp!t9b(PE0&+KlGRIy9
z#z^K(49vliESnhEgCkitF>nP(vTb7E4US~r#2^q1av`dZI2f!LETIOaKn?QP&A=Eb
zq{h6RL47j=Gnk{n0_L!TIhw3s4i}iC#Rlf^f;rmkV2;2J2A$0e!XOVpY~x~JVqjok
TVQ^$%W?+JP!kWPb>=|1C^+ni(

diff --git a/Cribbage/out/production/Cribbage/observer/CribbageHandCards.class b/Cribbage/out/production/Cribbage/observer/CribbageHandCards.class
deleted file mode 100644
index bc8c2aa9c134967199547313e9c91007dace4f50..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2289
zcmX^0Z`VEs1_ld;94-bX24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc24S$G(vr*^eaE7r#7dvc;u0<fb_Qln25tr(b_QM^20jLUMh2<;
zq~g?~veY7d=c3G{q{Q@8kHowb=ft9vVnznmqSBnyVnzm0A1tO>gNzg8VGv>vW@KPa
zOi5v65Y>PvL~@(8W)w)BC=Y`eNF7^IYHog6Di?zUgCskH6c2+mgA5~sSaODbVnI%+
zepYf~QA&DZZmK@W6^smQnR&&jMJ0?3G8#VE)mTSqMhP)6Fv#&R$TKJ~GO#5kC#M#a
zFf#b#)Pc(+O^D;cVU|{!mt2yWpQrDfpI2O(n_2|+tr8D|GJ^^u1AAJ2k!xad1|x$4
z)W<k9X@-G3ug1fm&Y;1_z>!&!T9jClU&P2Drh#mmCsf>;n?Z{~o1H<2he4M?kC8zL
z5$rG}j124<iN$`Y6(!)vjsod0;9)RiFk)n2$pZ_Ez|2OD26hG$Mh0GZWCxYzq;fMD
zGnnx(m@`-~GH|4)mINo~7o~zt^#n;-@i163*f25(6s0DoW|kqR3uDs5HjJIYj*&qK
z?f_8yLQ@%MaAta5Vo52;ay6tlfTvp<AGkJ<yRGf485vld^HWk88TfrN^HTjvbCXhw
zLK2g5QW+V9eDaeMbHWmfGC_Q(AWKO`W-%j!48kCc)Naklz@C_r0<wUSK}Z9k5+q`+
z8OF%K0?G{_D^Xp;$iM|j)F6e747|muc_~P~W64O&OJQV?z?JG48Q6<U5{pVwix?UB
zia}9;q?xgZk%1K~$jHFx$;iMPT#}fa?VDHt^_N&qVs27Oq6&(gDh7-UP9(<=77ud;
z=a&{Gr@Cc=!c`0-#PmR^laWEdDL=oYxTGktz&EudBR{2>pN%1kiy@jJhMggnharw3
zo{>Qbq!dzQW#*OTXQ%4>fF16eT9TNSm|T)yRLRJ|or}yn1I=0BL=4pgu>cf4IjO}e
zKKc3Cr3KcI6a!WkTvC*omyRrgqA{ehAeB5xh?V&DLNhejAy8|b6LWHcGfPsf1sD=>
zl#XHiYz)a<4BQMUJPaWWp#lu<j0`-Ud3mWt&N+$2#i_;Y3>l0Jsu<yiEhyL-vKSfU
z@GE6xV1tAkgCYYr0}}%ygDnFi0~4q+U|?jhXJBApVsKz!V_*c;H4KaljtmS8P7KTp
zj0_A60$SS{7`1jYut#oZ;M~f<wGph^iGhKEkAazifq{#Gg@K!apMi(LnSp_U2cn0;
zg~649fq{|1jlmsm9uor-NWIn;1}^Pw3<BW@lR$MH1A_nqCxal^6fuZOs3{;jJQzF~
z7#SEDyl|Q)f?=L011EzR0rR{WY@qIoVPFRPM@(CXc^iXxIM|swyBK5{7`8DeBHRk`
zwG;z8gEWIEgACYw1&B_#d&L-h7<|DYA;#dx;0q3Me+CPvP2CJk3@i)`4BE^#AWOC}
zsQT*cWYA<}n8_fivy(xek>LP?v7fZ=P6ks(h6J1C|DQ;&VPIfjW&j1c7y~N<1A_ts
z6N4gyEQ1n*8iO)}CW8vx8L|wV3;_(DU<YYK9mK?-$q>j8#K6c942~kEzYJWA><n7J
z7~}-FKnW1)Fn4GWaO!Aj?_{uKW<dBFlr|U`q~X>uFmQtX$iM(%f&2(cE1V3Vcw%B;
oW(WhPl5mCyu!W2akqpcX2@FXLsSIhLG{C^fkj{|Fkj)?o0JV1_*Z=?k

diff --git a/Cribbage/out/production/Cribbage/observer/Fifteens.class b/Cribbage/out/production/Cribbage/observer/Fifteens.class
deleted file mode 100644
index 51db39eb40ecfe53207c37eb235cbdf3ae292b0c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2088
zcmX^0Z`VEs1_ld;d@cqi24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3Vi{G{U4qO#N?eYecClGN0^Vnzm*jKsVYMg|F=
z<P819f}B$QtmMR^l=Q^hRDF-cycBDY5qvxh{0st&46Mb;`9-OW42+&!3_=XT><l72
z45AETj0|GfH8V1>W#$#97L_nE$Y|iQAWAcei-Chdf`>s8<R!l3#GK^PoWzpUV31|(
z4AP7Y!eDQfmSpDWI~ElsR{CTXmvAviF))LiA;-fY&!E7_z@462;+$BN0+M885ZBQ3
z!J^9=q)my3L772?k%1$#B(*59B)^D}K@3H?Csf>;n?a31ot;60he4A;i;+PHVIoWk
zBLjOzVzFOpMF}{>qd+=zco=jU^cWdf^1#9(Ftd^3$(o(P0Bf*;e89z^&tSyEV9a2`
z$iR`FS`wC+Q<@4k-jj>LjKQ3p!GedulEI3Rfe-8;u(`g8B^iti%(<C)j0~(Ao}QYX
zTnsi0w(JacJPh^>4vY+f2(_MhC8_DDMT`vWWgw&d(?9{>2@No?X;2m5;Bw+&aAt5}
zWMEEANnvCV)qsR6SQ#YISwmvbjfcUV!Gn>3tvEHYC^>_XK?152HR7y6E|X&L;$iRx
zd61<zvnmx7E51AoehmJM49w}NB_L~1+yk`;<fT9!h9Hnej?6qr$gnenFf#DMlXg&P
zPAVe<i*tTTDkB5GPi9`KUukYqYEejH5=cVGCqFqcCoHij6U2uKvXo?G7Beyk`@l_s
zWe{sd27#i~<kZZvR8V#RMNcs!gE7w3j4PFEhA}d*7ndX!m4Lz>6szFm&B(x*j6L&#
zY_eu#-~#1FZ~`c1WDtb}Jz97&GKiu2sj?sy>Mt#98f+kf;0T1pvz;{~18;CiVsf@`
zVgXb$V-_O=b8%@dBLib5BLj0zY91p4b5dprBLho%eqs(I17~n%dR}5lDX2)$#TwVx
zt<v;lWZ(+UFD*(=b;|_B2`?<P^+0KqL6L!jfr){UA((-QfdN!<F@OL+g8%~q11kd~
zsOV#0WC&$oU~mPiV_@Ld+RnhJ#kiG$U5j}u1Mfx#1_maEFa`z&AqEx(1_nL`76vW`
zP6loUJ_bI9a0Uhj9tK7R1_pkH2!==o1_nlkD28aLk#P*n49pA+3?f?EAmg?$u<I~y
zV-O72+QuM`ZmtjmD}yitKZ6K^FoP)ATm^_;sJRRbB4Fo(>=I#!Vc-EfH<rN!YL`9(
zBiJ3RT3Z-+*T5ak1{RbA8whbIE7U+HP#Fo;yoZ4q>^Ya+3{sKX8DxC4wlJ`7W02j(
zpy;c!lR=e{VJ3s3&Q1nxMur0n`hMEF+ZYT5xOOm@?qIOq#^4yf{Qn&-E$wX#uFwEu
z0SA~A0~-SagDe9FgFJ&8g93v&gCc_!gEE6Ng9_L^AP=fB2r|Sm#Dl%+0(BV&gAGFh
zLm~qsLlQK2AtK2Pj0`E@C}8>vsxhS48Pt9;s4*~s$_fT1P%JW<F)%Z5GB7YiYHwrk
zv}KX0uwyo35#TptWiewDWs_aR;J|Fg&TPgZ$|19eK}D2}MU<nWZYG0>D7&^O$2JC^
z0}M9X7y=T^*jqRlm;b*b$}Y;ffPt-rg{g&&aryrPqAZ}Gg?LYoft!JWL7hQ>L4!e(
zL6bp-L5o3^L7PFJL5IPCL5snSL7%~w!GIxvL4zTT!5Hl27zR!Tc?NZcR0aVC4h9(p
z6NWSf0S0ykVFqW0bOr%%fJH)sfq@|s8VsxqAq*J|0t`$HoD2aBnG6C9%nUpXzMzVf
zfrUYU!IL42L4bi39$XNeu;5Z=VEfM?%)rjhz`@QS#Rvin41XE885tFRF|ht(;QYnF
R%8(6CF*yv347p%d9sqh=u=fA}

diff --git a/Cribbage/out/production/Cribbage/observer/Flush.class b/Cribbage/out/production/Cribbage/observer/Flush.class
deleted file mode 100644
index 6ea2ed63dbdd3ef890751c4a674f2f931d3e053f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1674
zcmX^0Z`VEs1_ld;AT9<b24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3Vf{G{U4qO#N?eYc#_;tWOx*5c&+qEto(Mo*AR
zJ{|^s1_4F}mW;%_6h;OKpX3bv#Dbhs{jB7~qLlQ++*Ey!#Jm)1E(Re6VRi-)9tKec
zF-8V4?8+D!nA1~B7#XBBJT<YH<eXTPVhyrYf`>tpL5h)qy|^T?s3f%ryTxGTTnrox
zGCT~jAg^<!fxHlqpP5&}$so_5z|Nq^!=S{V402CVW>QjOdaAxNl%Wz_npwig!0PN1
z>J$t%A1Z;W0_-tW9tJfAbw&n>^wbi+(%hufBL6gy<;CHdB^eNNgf)B+;qIDOnrp4;
z338ey4}%tiHX{R9W^r(0ZYo5vv4&4FcH3|Til!&XL%KW+dLZ9$xOh7H`un*Ag9HtD
z7z{yzY{3DJF0No9V;%+*u#ktVV^Byi7lRptIXi;|4}&Fx6(}q)q7dX6Mh5ou)DnmT
zg)}tLy~EC6!^pr3Pb@*DIjM{cEYA5Usf-N#KACx`kbntEOae&=`Q#@j=7c2{WrFxn
zL6(w?%wk3c0Ux+2;3Q|w$RJRZnw*+hmI_KrAh#4VGJwJe!<`^`Yb;>|7S{}8WZ(dK
z0g`^1H8edL8QAiib4rtn85ub9Trv}L^Yc=Q85!8~f(sH;Qo$^b)Wo8aVnznu;F84T
zY~REJm}85<>4PgczqBYh)h!d`D=x5m^*|BL$iU;7mzP@PoRe5woLbDz5WvVFh!Lrb
z3@o4kWl&_`U|?ckWUyvnW?%qiC<YLaWRL<;pnS-{z`)AD2+F_=j10C63=B44^$ZML
zTH6^IwV1auuy15wU|?dfV_;z51DnFfz{0@8z{$YJV9&t7z{9}Ez`(%8;K1O>z`(%B
z;KbkzH7S;X8LVDdOM5E=ua*w;HU`114B}eb7^D$K3Nf%SFfa%)urdfU@G*!m2r-C)
zja7hXg&NDiAPjaq$SPq5Nd^J1BV8C=p;qZLFoK=Is<nlIeGS~bY+yl2uz?VFvO*1H
z0_9tXW=2y6HU?G(28P*MTNrpZG01IWP_dC_U%()#6}g3hon31agPhhD2JvkS8VLzo
z8Q3AJbha_5*vg=&(!o@vzl}k~P8LO#KBg+8Z44@AETSwZ>Wq-pfx?R!90g_!ybKHs
zatz!I@(cnD3JhutN(_b!$_!=<DhxghY7F5F>I^Xq8Vp4YS`2jz+6*lWIt;TI^uR%2
z0`Vp^2)G$0Ft~xE&yXRD!JUDJfr%lU!G*ztfro*ap^ib8!IOc9frY^f96v077}Oa5
zFsMSYIwJ!UsC<D0Awx8%CIBS{oox)J+RGSNS=KOvq5<M&NU||x;9xLf;9@WVy9E-z
uJW#iQl94xqGB~=xB`^aM*j{D^Mo=Z=1CCK&20w60V`PwL@Mj2gkOTmASxf2w

diff --git a/Cribbage/out/production/Cribbage/observer/HandCards.class b/Cribbage/out/production/Cribbage/observer/HandCards.class
deleted file mode 100644
index 2e8a71982d23dbe35b3c8a5535c1f3534486a1dd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 277
zcmX^0Z`VEs1_lcTK6VBsMh2n$q~g?~veY7dkHowb=ft9vVs-`=Mh1bb#Ii*FoW#6z
zegCAa)Z`LI2KL01l%Ud_R7M6N4Ij8RkchQr7$XB$QEF~}St^Ln$iQ2inwJ7Mk&(ez
z!zVdIKd~UER6i>@u_z@yF*g-#qctvZkdb`F$@xX8NX9U0XnHa-a0Ta=7A2>;WrEzo
z2bb0ZIhl=-fsuik0R&iB7#Ua@*cd?GVTaNj44hy-7Xvo~0|O%i4+8@O69X>*O_)Vt

diff --git a/Cribbage/out/production/Cribbage/observer/Jack.class b/Cribbage/out/production/Cribbage/observer/Jack.class
deleted file mode 100644
index aee9e0d83fc8d0035fe6d1a1ec88a5c5950f0b70..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1170
zcmX^0Z`VEs1_lcTJ1zz$24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3V<{G{U4qO#N?eXqpiY(@sw;^h3IR7M6yPmn@B
z9tM5}0Y(OvjKsVYMg|F=<P819f}B$QtmMR^l=Q^hRDF-cycBCL1|bGvb_Nk122lnv
zMg}qL$`~1#(^E?r8KgBlHL;lFoLH1%4YE~&he47-ijjf6xFoTtB((^;#bD)J3^EL|
z><n@|4Dt*LSS<!AV`N}YPb~>9%`9PL5Yo`}K?IR&UTLm1Cxa4$GCP9`4}&U$8px2M
z%%r5m^i+LkC_^PEF)y2ufyK+w*&FN_s5q(ua42Z-FlaJpK`ew=ZKZ*3A37grV6Zdj
zAjeQpX-+C51B-KhN-84*zfWdfs$XetQfg61ViHI~$R|HJF()jsC=<ko3bK@BWEO)|
zqr|f{BZELuYI163St=<0Kn^WtWH8pi5-T8iYh2=*VT=qMprC~$8fFbmPeum5<iwoh
z(wxMS)L@7(Z*WOsa<*?`0n|-g!TF^{$*FFcAXjsO(w!bCMi?1*JoEBWi=1;3i;Gi>
z*%@pY83dEjgPM_n1r!?$iVPeKObm<++6>GL44_oX00NQ>QXmSHwiy^0SQr>VnSz0l
zL6?Dn!3M0Jfq_eFI|HK@^Hv7-jSLJ7ObmJq3=Di=Q}`HI7<d>s8Tc6V85kIN7#JBC
z7`PY=7z`O07#JCh7>uDNg)%UM)$?m<Z)M=s(qZ1lAh?x59Njn}237`P20jK6uyG0y
zEl}e?PUdG209(P&Aju#AcAN==Dbxym21c+PtJW3<_BC*KvVjF9zy?Cx#|kx&iNTBk
zBn$Fs6azC@oxIi-241Z#4C31uq&G1rZevhC#=xr;xrKq9B?0PvW+d;+Fo-b7GRQH=
lBN;CbHQt<o0c5Bg0~3P<*fo|6R^ZTKWKd$TX0UaT1OT{}?k4~M

diff --git a/Cribbage/out/production/Cribbage/observer/Pairs.class b/Cribbage/out/production/Cribbage/observer/Pairs.class
deleted file mode 100644
index f2cc2ee7a40434ffbc765e14d63906ad15aa125b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2035
zcmX^0Z`VEs1_ld;EG`Bn24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3Vf{G{U4qO#N?{eZ;GqGCn{mW;%_6h;OKpX3bv
z#Dbhs{jB7~qLlQ++*Ey!#Jm)1kbXWM27U$sMh4d6<ou#kMg~StE(Re6VRi-)9tKec
zF-8V4?3x)F*fR5qQ;SL%8DunYSrDZe#l^tEAi={R3GxqLa$-($X-;BEYB0z$b_Qui
z24S!tOG`3y^c{<e5-WW&i%Yl|q!^e%&XD6_kY`X}WZ+IuEpbjPN&!hSGKgzv`e4yz
z4brB>!=TKd!pOjpS&~|mSdw4F$RLKI+!HEp&CQ_3pw7;q!NZ`*pvA}_gfJ1Ngpq+g
zBeB>owW0(Z+)*GMIy?-z40?<VEO}sI5t!LXkz~!zV1PB)KtAAN&}T5>VK8PeVPxP)
zPb~>c%qdL;8}G@*V8&q1&S1gAV98*`$RG%I5ZGMLypq)P)FMU(_A-!i|1^-NJfVSr
ztO6VaHarZr44@Q}n3BTCAgTcgE3h(1DzXN}iUWfqJA)GsgENB*BZDZ|E^s6`=jY_4
zCYNO9=YbMXaXu)5g`sAE6@cQvS~Cn3*ls)w?hGD`49w}NB_NwnoCLKC<SQ>825+#3
zGxH!G25I)?VekV9vJ_`lrGipP01rbTLl7eaXF+0S5jcS`GO%cPYI?FWgfKGj!V`B;
zX-+C51B-KhN-84*zfWdfs$XetQfg61ViHI~$R|HJF()jsC=<ko3bK@BWEL|r2>8HF
z0cR0wMh1bR)a2C6vQ$up07XzSBZD!{^o%Q=Ylbm0uossk7L|Zv2^6nT_cJDA&we1A
ztQi>?GZ`7UKzS0J42l^UL?Mv{4rq9Gux4anP0laPD`8~dC@4w=t7T*mL-l86K`PX*
zTG-66fe3<A0W>*T+gUR*@CKJ8CTII57C<#~1?QI*C8xS&f`XC@97uYg#KEA*z`?-8
zz{n8Hz{J1+DsLD-fS*Btfq{XQfe}<-F)%WOGB7Z>g4HoF@M~>nVANvV%D}G0yp@4>
zBLf2i6GIpS1A`C)3j+fK9|H>mHv=aF4+9?qA450;0|O5OBLf2iKSKmVBm)BjBSREJ
zG}OpA24)6k1_lNZEp3o-TNv1Nn71(qhHGtO5Jxvxh=G+sn1P=`gh7}=6l|^nL@(4_
z1_lwZ^FelrFvKwMfSnu5U;?#EpMeqV4pyx#47_XLj%EW3N`ei9IFuD?AQPx?gJ@>-
zV_;!mWnf_F-OV5sxt&4AM{5fM`!)vIZ48ROIy)Iu85w3W$mr~3&}L*fz@YD^t-FoE
za0i3wHU{hP<^LaQ?_jWJvDIeY#^8E@!E76YryYwKiztisHU^(X3^v-LEN}_g1q_@m
zOpMDJ6tp6@Fz{;0Y-8|G*vi1mVvDTGu7!nh`Tv8U5Mlv`ycGi<0|SFB0|$c~gBpW8
zgAs!QgDHa|gC&D9gFAx?LokCXLo$OJLnea;Lpg&cLnVV2LmPt%Ll1*4*yDB#Yz%4)
zJPdIR@eIriUJOnQ2@C?@*zAP{1_whcLn1>G10#bqLl8qUg8%~)gFAy8Lkfcc12aP^
zG?pQ%(ij*S(is>)!S@$b<4CbHsQqG4{Kp`|$jB%s^NWF%feBP3K*E;cAOj;fB2A@N
zfs!7B0XUH`fUTEjU|;}Y6$S<dEmqs*41xk|w#yl~1$b<iGq5tRkpV>{GdK*?7&sXi
z7z`N{7)%(H7)%*d8O#|p7%UjH8LSxe7_1o#8EhGh8SLTyRbpTU)sPHK3>t8j9-PI%
mU<&m)hz0U5BZDym6I2JtcU%mt3M{Owe;61+=_&)9pfUkfuAn{u

diff --git a/Cribbage/out/production/Cribbage/observer/Rule.class b/Cribbage/out/production/Cribbage/observer/Rule.class
deleted file mode 100644
index 9060168db4c48be16f3c57ce88119cc99ea1f392..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 204
zcmX^0Z`VEs1_lcTZgvJHMh4#eq~g?~veY8|pwgUFb_Nzk27#=^vPAuy#JqHU|D>$c
z<Pt^(fuhvp)XcI}kHowb=ft9vVnzmI4WHx;{ltQtQvIyt#G;h+#N1SUki0c6am_GB
z29EU9lHlb0qEto(W(`eGMh33n{L-T2RJY8WR7M6)kQ?+s*0V7(FfuSRfB+K<BLgb~
X8w1E`><k<X3=E76oD2*MOblEA2@*2`

diff --git a/Cribbage/out/production/Cribbage/observer/Runs.class b/Cribbage/out/production/Cribbage/observer/Runs.class
deleted file mode 100644
index 4c85fd984ecb2564a6ab05cdf35f0515c9f8c668..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 811
zcmX^0Z`VEs1_lcT4K4;I24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3V<{G{U4qO#N?{h-pkVnzm*jKsVYMg|F=<P819
zf}B$QtmMR^l=Q^hRDF-cycBDYc0L{keg*+X2G-)_{GwDw21ZXV1|bGvb_Nk122lnv
zMg}qLni(0`GV_X4i%J+7WHfMD5TzN##lXQJ!NVX4@(y2eVoq{tPGU)FFvv1?25D3`
z=cF<+usG+Zq%tz_`();&`jzG;r51%GCV?b`eDaeMbHWmfGC_Q(AWKO`W-&-LiqEYX
z83c+_lT$OxQbGQ7PAp0(W@IqN=}cVC*9>E1U@tC7EGkJYVr1Y*Pb~qv8yxnYj0{}C
z`K3k4scxAd=W&99Tn`jq42ldK3``7+3{nhC3=E){VE_Ss1_1^J1{MZJP}DLoGRQD6
zFt~!%F);9JZD(NAV%*BWuEo5Sfp;SV0|OI-ECU0B5CaPX0|OTW3j;d?IJOwL7~~ij
z7<d>M85kJ&8RQuh7#J8B859|mphm_qFf%YSFffQ{X@iX0!oaS>yp2IHTx%PHIJ&uf
z46F?Npy+21W)K9Ms{qjpHJ5=w1nhi}T_Oz13_M`xsxYWR?b2sp1iOP(YYPMK8n~m`
rz=EP+10fD&g&N2NN(WHQ+F*w>Ffbxq1<@#pq>&M-k&!_SY`i)ES$&SM

diff --git a/Cribbage/src/observer/CribbageHandCards.java b/Cribbage/src/observer/CribbageHandCards.java
deleted file mode 100644
index c6eec39..0000000
--- a/Cribbage/src/observer/CribbageHandCards.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package observer;
-
-import ch.aplu.jcardgame.Hand;
-import java.util.ArrayList;
-
-public class CribbageHandCards implements HandCards{
-
-    private ArrayList<Rule> rules;
-
-    public CribbageHandCards(){
-        rules = new ArrayList<Rule>();
-    }
-
-    @Override
-    public void addRule(Rule rule){
-        rules.add(rule);
-    }
-
-    @Override
-    public void removeRule(Rule rule){
-        rules.remove(rule);
-    }
-
-    @Override
-    public void sendHandCards(Hand hand, Hand starter){
-        hand.insert(starter, false);
-        rules.forEach((rule) -> rule.receiveHandCards(hand, starter));
-    }
-
-    @Override
-    public int scoreHandCards() {
-        int score = 0;
-        for(Rule r : rules){
-            score += r.getScore();
-        }
-        return score;
-    }
-}
diff --git a/Cribbage/src/observer/Fifteens.java b/Cribbage/src/observer/Fifteens.java
deleted file mode 100644
index 2a30ba6..0000000
--- a/Cribbage/src/observer/Fifteens.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package observer;
-
-import ch.aplu.jcardgame.Card;
-import ch.aplu.jcardgame.Hand;
-
-import java.util.ArrayList;
-
-public class Fifteens implements Rule{
-
-    Hand hand = null;
-    int score = 0;
-
-
-    public Fifteens(){}
-
-    @Override
-    public void receiveHandCards(Hand hand, Hand starter){
-        this.hand = hand;
-        this.hand.insert(starter, false);
-        calculateScore();
-    }
-
-    @Override
-    public int getScore() {
-        return score;
-    }
-
-    private void calculateScore(){
-        ArrayList<Integer> cardValues = new ArrayList<>(); //An array list that contains all card values.
-        //Add values to the array list.
-        for (Card c: hand.getCardList()){
-            cardValues.add(Math.min(c.getValue(), 10));
-        }
-        //Choose N numbers from a list, the sum of them should be 15.
-        score = search(cardValues);
-    }
-
-    private int search(ArrayList<Integer> cardValues){
-        int len = cardValues.size(), bit = 1 << len, score = 0, goal = 15;
-        for(int i=1; i<bit; i++){
-            int sum = 0;
-            for (int j=0; j < len; j++){
-                if((i & 1 << j) != 0){
-                    sum += cardValues.get(j);
-                }
-            }
-            if (sum == goal){
-                score += 2;
-            }
-        }
-        return score;
-    }
-}
diff --git a/Cribbage/src/observer/Flush.java b/Cribbage/src/observer/Flush.java
deleted file mode 100644
index 8307c70..0000000
--- a/Cribbage/src/observer/Flush.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package observer;
-
-import ch.aplu.jcardgame.Card;
-import ch.aplu.jcardgame.Hand;
-
-import cribbage.Cribbage;
-
-public class Flush implements Rule{
-
-    Hand hand;
-    Card starter;
-    int score = 0;
-
-    public Flush(){}
-
-    @Override
-    public void receiveHandCards(Hand hand, Hand starter){
-        this.hand = hand;
-        this.starter = starter.get(0);
-        flushPoint();
-    }
-
-    @Override
-    public int getScore() {
-        return score;
-    }
-
-
-    private void flushPoint(){
-        int nClubs = hand.getNumberOfCardsWithSuit(Cribbage.Suit.CLUBS);
-        if (nClubs == 4){
-            score += (4 + isSameSuit(Cribbage.Suit.CLUBS, starter));
-        }
-        int nDiamonds = hand.getNumberOfCardsWithSuit(Cribbage.Suit.DIAMONDS);
-        if (nDiamonds == 4){
-            score += (4 + isSameSuit(Cribbage.Suit.DIAMONDS, starter));
-        }
-        int nSpades = hand.getNumberOfCardsWithSuit(Cribbage.Suit.SPADES);
-        if (nSpades == 4){
-            score += (4 + isSameSuit(Cribbage.Suit.SPADES, starter));
-        }
-        int nHearts = hand.getNumberOfCardsWithSuit(Cribbage.Suit.HEARTS);
-        if (nHearts == 4){
-            score += (4 + isSameSuit(Cribbage.Suit.HEARTS, starter));
-        }
-    }
-
-    private int isSameSuit(Cribbage.Suit suit, Card starter){
-        if (starter.getSuit() == suit){
-            return 1;
-        }
-        return 0;
-    }
-}
diff --git a/Cribbage/src/observer/HandCards.java b/Cribbage/src/observer/HandCards.java
deleted file mode 100644
index 0815b94..0000000
--- a/Cribbage/src/observer/HandCards.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package observer;
-
-import ch.aplu.jcardgame.Hand;
-
-public interface HandCards {
-
-    void addRule(Rule rule);
-
-    void removeRule(Rule rule);
-
-    void sendHandCards(Hand hand, Hand starter);
-
-    int scoreHandCards();
-}
diff --git a/Cribbage/src/observer/Jack.java b/Cribbage/src/observer/Jack.java
deleted file mode 100644
index d8123d3..0000000
--- a/Cribbage/src/observer/Jack.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package observer;
-
-import ch.aplu.jcardgame.Card;
-import ch.aplu.jcardgame.Hand;
-
-import static cribbage.Cribbage.Rank.JACK;
-
-public class Jack implements Rule{
-
-    Hand hand;
-    Card starter;
-    int score = 0;
-
-    public Jack(){}
-
-    @Override
-    public void receiveHandCards(Hand hand, Hand starter){
-        this.hand = hand;
-        this.starter = starter.get(0);
-    }
-
-    @Override
-    public int getScore() {
-        return score;
-    }
-
-    private void calculateScore(){
-        if (hand.getCard(starter.getSuit(), JACK) != null){
-            score ++;
-        }
-    }
-}
diff --git a/Cribbage/src/observer/Pairs.java b/Cribbage/src/observer/Pairs.java
deleted file mode 100644
index daae509..0000000
--- a/Cribbage/src/observer/Pairs.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package observer;
-
-import ch.aplu.jcardgame.Card;
-import ch.aplu.jcardgame.Hand;
-
-import java.util.ArrayList;
-import java.util.Collections;
-
-public class Pairs implements Rule{
-
-    Hand hand = null;
-    int score = 0;
-
-    public Pairs(){}
-
-    @Override
-    public void receiveHandCards(Hand hand, Hand starter){
-        this.hand = hand;
-        this.hand.insert(starter, false);
-        calculateScore();
-    }
-
-    @Override
-    public int getScore() {
-        return score;
-    }
-
-    private void calculateScore(){
-        ArrayList<Integer> cardValues = new ArrayList<>();
-        for (Card c: hand.getCardList()){
-            cardValues.add(c.getValue());
-        }
-        Collections.sort(cardValues);
-        // 1,1,2,2,2,3,3,3,4,4,4,4,4,5,5
-        int count = 1, preValue = cardValues.get(0);
-        for (int i=1; i<cardValues.size(); i++){
-            if (cardValues.get(i) == preValue){
-                count ++;
-            } else{
-                score += pairScore(count);
-                count = 1;
-                preValue = cardValues.get(i);
-            }
-        }
-    }
-
-    private int pairScore(int count){
-        int score;
-        switch (count){
-            case 1:
-            case 2:
-                score = 2;
-                break;
-            case 3:
-                score = 6;
-                break;
-            case 4:
-                score = 12;
-                break;
-            default:
-                return 0;
-        }
-        return score;
-    }
-
-}
diff --git a/Cribbage/src/observer/Rule.java b/Cribbage/src/observer/Rule.java
deleted file mode 100644
index 4a70068..0000000
--- a/Cribbage/src/observer/Rule.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package observer;
-
-import ch.aplu.jcardgame.Card;
-import ch.aplu.jcardgame.Hand;
-
-public interface Rule {
-
-    void receiveHandCards(Hand hand, Hand starter);
-    int getScore();
-}
diff --git a/Cribbage/src/observer/Runs.java b/Cribbage/src/observer/Runs.java
deleted file mode 100644
index faca545..0000000
--- a/Cribbage/src/observer/Runs.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package observer;
-
-import ch.aplu.jcardgame.Hand;
-
-public class Runs implements Rule{
-
-    Hand hand = null;
-    int score = 0;
-
-    public Runs(){}
-
-    @Override
-    public void receiveHandCards(Hand hand, Hand starter){
-        this.hand = hand;
-        this.hand.insert(starter, false);
-        calculateScore();
-    }
-
-    @Override
-    public int getScore() {
-        return score;
-    }
-
-    private void calculateScore(){
-    }
-}
-- 
GitLab