From ef2702e3a5d732fc246765d512be3be398db80c5 Mon Sep 17 00:00:00 2001 From: cdez Date: Thu, 12 Sep 2024 14:21:00 -0700 Subject: [PATCH] Get the Go Fish human function almost completed, computer turn still needs work. --- assignmentOne/go_fish | Bin 39104 -> 51576 bytes assignmentOne/go_fish.cpp | 88 ++++++++++++++++++++++++++++++++++---- assignmentOne/maze | Bin 16568 -> 16664 bytes 3 files changed, 80 insertions(+), 8 deletions(-) diff --git a/assignmentOne/go_fish b/assignmentOne/go_fish index f6ff91bed8ab79bf396f0d0793f2194a997d2cb9..646be19bf4f8c0a6d621960e7c8eb1525fd4de1f 100755 GIT binary patch literal 51576 zcmeHw3wT^rwf{+)v_T397(N)baviOOaEzqR(-XZD=Tq`dy$ zcmLm)^CeklueJ8tYp=cb+H3D~W^%o6>7v}697|sltdCh#sys(wDuvMbh}-~FTIJR; z`0KIGv?ijQ$2di=Q~*?U?axhz1%jUdNcE=DO$KbJFEOW8Bkg4y2e+NbPw4t+bGTu4*+-ijFKiCCc646YSw8#1*=5Di zw&GHzlU^SD((o-_zS6?53=mGtXytaPvX)1*6NFCueMcP~3$~x0m>YiXvd91Q{lv{% zE}TI;q&L+e9=b@L47pSG;Es5dJ#NX(!N?PiuCwtw7<#fLdi$i@6Sq%Zz{m`Lh9O`| z2K-TIEEE3eEciuP!XHIPGx5KX1>cfIpNTMHCOQ3C^qH20zc5R?i?iVK zvh?ePEcjcp=zn|`eNN57-jAJ5X?mm&Xbw=yU{1pec!Q?2@26mcpwi0ixHCw%2LRW1^|W!r07+FI>sED(v= zwq;kiH+E{6cZO57-ZR_pkQ0tmllO2jg z+9K6Uf|d!Ol*v*ITNZ0aLhjO;v4~T|3LJ^V&Wi+GuR9 zUe^Mcoj-%}N`VDl-#XT^EY#ZAe56jgbev5cd~c1eKo7XxnZa zw6;Y;JT}q0TU56D7FT z4mPc|R|mq)RxAt|s1l7e2G2jAa)sGcToZ&0DtW0CRQSaU7T7b3ORU99tL87TON+~# zyP2um(&AYPy=oPh%TQXdYSp~?RkpWyW^qLtsnk{U8muNGMYUXH75Vs^i@*8EA|@e! z$j2{X3K)A7)APYcyc3XZe8@T)e{)b)d~{!qwMxhP>W^$V+5%TKaCGIM)*_)-qI^O) ze2irsWvvq2y|>(s^kt&eAmxrz!bedC+v3!pXi-8$^6A=q{S2%)M_U^Nx8dpUp}hj@ zMqM8HGU$`6+oXIAm-DS}N%d}g7pI_$7bA$6gby<5M{b_ey;Ok&oqS}l>A%c z_Z2Jreiwe|9EC5Cbwl&(^4^;jopLshy5+xv23}NQ{C)$kWf5V>z@NgL>QBPJpKjoX z4g47fe#F3^Y2b@Qe_HlVHt>2qq7Fm8cy3yfP}+ydhk7`MQ< z1;#BfZh>(Nd;k{sYvCFH^mo5n;P1`5Jq5d2dUDn?t(J8-dG0R& z3eU8NzlkV^5B@%xOm5>c9q=4J__R}|gPp?%A92cbpmX@(_nk5wbR9nU4W~>8JBJV6 z;*{w?=kUQBoH8Bc96orBQ>Fv4!v_OSnGSRgAH2*d(?QPRgY%p+9pD^3=yl3;aC7+J zSx%V_Yz`kh&MDJD&EbPNPPvfFufMJPO9wOPzf-0I8T8*N(?JaS@095P2K{%+bnt@y zJ7qd>LI0gH9kihTPMHo^(0^UVXdJ_%vC!i2K>3mu8l6;mmaBZBt9-7je7dWAqN{w2 ztDNsD|4(yz`+swl|LiKi>?;4xRsNN${Bu|Nr>^pYuJR9E8mrO*p#CQHDnM^do z*&oXffiLH3)OFgY`UltRnXnQSYyCI8IszFz4^9T!-}6HYpwZu(ckXnS>`QnD{C%4% znHW#}+c9XaZ*#pAr*hHPjH2#OH?T}v*zw63Cj z&TM~=@3(Q^A7+)!EPc%Pr+M+sC162i)ILpWAL@*6_UQX7dKvHEUU=Wa{O1ZE8ti47 zD*v|dp}qb-Uw_Y&q(eDkg}-lQzoYT9gk6LPKs-k3w)caQ+?^d=3kCjPnI5_Uv{Vk0&l*%p*>%NBup|`+J^B z>;yi(d7AFwr;RG-BK)X^l##iib%acf!k^NMhY`WJ3JrwnaXQ0~Q0(UBa=IU+RwsV8 z4?g>w3aa-Q?(#lOck#q&)XUxzH;1Xnk}e`lU;a-V)?YI%o_PIV%z9;twNRTV|2x9n z^IT#dv85blEi~!bTm}{5o2TpUukGb~e{j&@O!b;5h%bL; zs^QDHVPcIZ{`SvgvYXq$_)@bMvkDt;#9aFd);}dK$#?O@V$?iT4mavbSEmpQV-7p` zXxhK9NGe+QgER$>>3H}jGv!g8Q&}lB@Dd^gvNhu_^c1(I}Z?n}LH~kA0(Hzuz6}1!V@yFkL^~mG9 zw^2ku{!rxaxo*VY(=qJt^$imrJzax(BmUkgh4)P+=hqRz!ym1ZP#S?e_gFUK%i|hao5~eTz^D;2Y zNzuOi&p9=hNzD-R`EFJ6t`PQzfi1kxcdLpJ1NW~&<0?!Xhm<7lyN$Ft^od^IZRB~q z&g4n*q>U&38;MHceJgJ*r@n3)h@C%*^HQss%MYpypTC}>*6zThNW1eD4xURc^SNoRioGB9yjY@ zMx@rF5n78>^@}hWRm?;6QW7|uFyycB)6_J|Pi%iPnM`>q`Dr=y*$+P*gg$#s`Lx#c zuG|Zq1|bP7tkXnp3dO#a2vCIPp`L-L3$HkeI1k=Jz2PdpA;p8W5{crWdI&^K-(IP8 z7>wP+IjDG%=DQOKBX!_QG+MNLKm>|g7|p}G9>&t>r;(28nm^_HG_Agl01F4}figpA z+6XB5iJSgT6O1N04-Cz5Sl$_?B4?QT)U1CNfsCx_?}c8u+tS8mgu?@kXCDn-Jn<(y zGN%Sz16t+`C|Q0gn!xCHK((u>CU^8sB+xW-dtOLvq@c|j>d1mhB~GOtG9@>OiaZE^ zAe%ihk_+b_Iru{!1g7gj>P8o2kP-*0X&}Xaz5qM1x~T!Z!sMN1@P2AE@A)S02(>G6 zOGoo2k?A`+JYn!oB;M|pksN>bbt6{c&Ac3>_iqCAuX|)dY%2XNyt#*}caP-6uEgKm z*!hP(P$tG-IX7Sfm**Wk%mnYGz@iih8bl ztEXe6`?|MsIxfE9Iz$NMsig?nzYC&$ILTFSV0`=XuMSX=7VJGtcns@s1>@q0@L#bn zOG$l*WIT+)uo7Q{%}0kCbaZ$$cH3waG5ULp$mPkQD;|xKk%kZD5$5XMy!WMfL4Mi< zm)qX+de30bzAYn zk=_%7Rrt_AUo}OU?LF0`0paG>bueeVG7rHX1E#Q-I#?|04)!t!i;UL6E^)AwP-_YE z94r}9ut=oo&fn)Rz@YX^u-gR=g{~GfCgyXA;9(j#;)*A}{kraOWlp+~0TB{S7Xma3 zIYS9SF`j6EkZov)0+iZo#AX~iTdz5!mzcMLT2tA|$521R8RN*& z3_}aUnpk&s(}#YNOQ?AAwPEfX8C!b!!@nRidT1rkz68BGYte|*qs`Q+ z&&=_}PrxbGA5f-2fG6YYwrJLCOOup0kXk8w#uEid8M5{iyr+ys@2#eOqPv)6gZ>$N zd5hfhsDIbbpHP>-@O#)!QS!x1JUYBy|H4pV4uY3yNSC%R604ShdBC!OVL8tkaz3F3 zZB(y~9Qj#8mU1S-Wb8lJT8S}q{H|7+!jSKw0W`x7B|j>J56duqo>DUQh4hT)KVCC4 z9*j_CS#Sq(eqQW(F`b=7-sNfX$h$hB+;*(v+mJzRF_q-gf|c7K6l4~f3!$3^3O9SP zL-NOcJ8(R4Jr;4q9Up2l%Nf*ek8kHLqTLU7wES;&?DSXob{5{altKxlId1Ax%&>)T zXZKJJ&RGgKPf|>S_meL_!~)=6z1*FZTTp#aS}LM_48}X9-rsrDDCrt-DsJK?IP;o} z3I}(PMoQ%Y5ww=7br0k~?Oo7h7osTQJ=&ss;ZZk@YWu{~r7v_d_N9pCau{yZ#x+w&+d&p;qZ?zjU>W z38coLW1)7gjl{Ee8JQQY@r=2VyKHLwWvSfj)8g)@KFCUvuf&kMX!7qsCWYyc>QK%$ z7|vKB@)JKhMDaO2`l}3azv+fNSIBzU`}3&;`MMG7c47B~&JF`POiZWI=E}8is7F&7 z;+zwPW!>nlEJ7|3^FmX^Ass_7xh05DOH8W7RI8rO_dV4Ght5`a@kAXf_z0SpfWW3a zfO;8YM@klX)rcRml>D@H>{KKLX55n%(%-AO$BL>Mb0>5T4N<=a{f`Xg`f~{2&~mTA zt)r_E6;FdAI_v5wGJ8aE#E&?#7jXm*v~rg@fV>ls(k*Nm*K=OYh<8~73oxXoseo#A~ z6Q`X$l!MVW;IWA(o>T*o$`L3^Su;{jd^lU3*^&h8KznhEb?tcFa%uzg8 z=y7LF?hLL3w%Ly%95kn(j-fp52S-hNOhLp{-crJT>@I&tvZZ>So{yaLM^_~E=&@k` z<%pK%xW{2en$b%ld{4(OGb)Jn#6KOQfi8R~gIabLwXT1e)Jlz=p1CSJL%d5nnfgz- zMQS-n9|$?fpijlA1043#I2SpMcnKbiwaiSM(3P_b?ND0G6*VNSkmsytmD2}&)yz|-Zw*ta+O0^OP8&~Ath@bB!n+!UE-V@xy6dbWHgQ^u-W%kw}cBd5HUq-;=L)XRp41~7T>7nbBXxEGpvI1iFZ8+qpMO3X*_0%22-t;)~V_=QgMq!`{ zZodQF=tnr*?)J%EdN^?6wlma+TpYJR)qIwR? zg8mXYPuw>I=fiL+T{hql-guNXky5VS5(uTVZouF3YijCZrNWTE+cz{_*Zg>T%_lHH zsn2|%(Xm%*=IENLPv}=ok^lUa5d5_Nk$+6^-)|fmJdFVXf&F|3pNO*^uy_=4n$?+gQ|s#JY{Cnm-9+WIMF`HP zVzXNFhSA7~_`}N>cf(K9Ieo*0_mQwr);BgOSI_0#DIO%9{^E|Pn}sbaJDmg;(qgY<{Ff7v902&PTF-57h#Tfm^YEk zawrJ%cVKFaev;IOCrPQJhdi8yV`IxcqQ)|w_yi7Cc&@2672eF|`88Y~ndjM>t(4hl zhd2lnxY!Hs;N3o*E5sA`y-g!aU4b_7L{3UBsQ`awx%a_A$eYr=y6=Pusvh&)PEzT# z!WDpP4vg|0jF_>|%5cGbWLrYxlpgwaLUvY{!p<_~e0yA+*_^{@O~u@OyiU`E5pirP zdXj52{0?L8X(t;ow-fKMV5l(PC|c0%fV!&0su5q2qK+##Dp|(x~%l7*F&Fm8Uzm5apL2)O26#PzR*_ zl?L@&e_}b5lFO5o{KOZbU#jambdAza9lJniJaICg{L`kJ)%_3`@g@^#pf}zBA{S7> z0zSNqmO^I}a28s0XKYUPR9Rr8PYyQYa~jU@Ez;;$+#2t>(dYw6SHSzA1XulCY_ni*iFMm z-c|7^zk@<=4ANP3Jn^GnvA^&z^Z6=bhE#oks!~$ehg>RkV%CVAGX=pM9ksab&BR>c z8;VTP)vHJmVAdV0F>`=9l!wxgdx3eKwQy(nsTsZ1|CySO}k@BoI0v8e8HWM z_fYmkzqBG@bs`z)cM?gcncKVK0kN#YP8P$SIwK%A<6Ma{jv^(A&Uex|*b()9l}2qk zMlFGgLl`y86k3tviQSY0v#mjjC+_7U9YeyZSfp`q@KoaagdDZ+@i^irvh`vKIv*l4 z9`)e82!6XDRtmw~&TBlTl*6JbpI1X0UMBxY6h^BQIIZVyqmnVx6A38IXK5U+4*$Xo zIObeDbTZg@0OoU#dxX$M{)m*rEJ zDF}+&TuTFu0~><;XxWJWeyjy6q-m0=8b$%dY?dDGJL6#|VCM;#Nfj*Cp<0*`aktEpkeIB_>AV|I3HblA? zlLw@x0yUF*xvi9mht%a)re6gd8>MI%>;nX!me- zX*%hs$vJ9Y@=pjhyjn|Cah`2-6WORo#W%!(%#oIIIdJpX-I+)mBrQ@LkzNfp8XPr* zIzNMVsI8^H2S*mXCgZKHi?j`Mar9@*n!i$-&d)^#QVU2c8_lW=Tc;!hHt@@X?B@WWe7`PBFn(|Mh@Zlg@nZuCAxJdn4ALH$~fI@CjCC% z^-rMAe$^i|SOC|PPf@`NzfpH6rTVUJ*;}#gVz_ zEq%dpvE|2C8+*c0&xW>+h=;%Q7~cl$X$rJ9USw_bSRVZH^$DWKIwGybo_W!=p4Dv; zPrwrlL>fKQOE0Xrz;o$GFZ<|{kItKMkq7@+U|lE}Yl~cTk-f~uR~Xax>DuAeXebiH zM)B}EVcQUyOFS_iCCzD-(3BZ29 z;m4E7y?~SOOy?~;oBKH633%=5R=_&I{+}h2^nU^V3vd_UbAbB+i=Id(M*!yo4&eh* zul_ul+=|aq&3`hPya(`;fP-lF8o*(|O@Ku>1-cio8gMoC*PVbH0k;F*3P|7UzXxzX z;7fobfO$_RlT)GJG{ADe#efOGb%6Bd`-^}jfX6-qxq!uh?SR_=>Gj_IfV+r}ld}DQ z<$xoAn*gVxzrO@52W-UA^HqTR05<|&iqqjc0Ji`>05|}60Pr=y)9_}%X*hVF3pfNw zuOJ)->;jyE=Oq1r3jqfJ>i~xUZvw6C7D*=Z9>jAg?22UdahXL;bJnpy2 za!~ zU4T0P`vIQ^8~}V3(85O)-v;ymHV-G03jse1*a-M_z)gVv0K5y3KC!b0Fb4P%;8wsq ze01+$fYSgQ4#OUR-GEJi_X2JKob*@N1MpnHy?}E76M**sPR4wE9`FLdw*Z#{UV&$& z&46@)jjx<*Ypk5kqMTDFPb%1k(=x)-_ls6PluUkvI2KNV1u+)*EyM5BpWwUzeAcl= zi;kUoY2nf93%ab2pK{T8GpC&mEZ4sZu9P??bP=HfXKe@O4j^@U0vcM0%8g{>OdEB%4t4EKRjj2l|0A=rPcr0o@B( zP8&_B`nQ4p66j}|^vhH9dyhc>l#W{*_8T+28`u=Rb)4<-rc?F|l+X{jft` z9y5|1=3*%noO!jQ9g>xAyS2_s}tlCueP57sFDUR>SQ zawUi8cY%Hd?2&0)N#6r#XEo@}xX+tlw1aWW{ZvZMtB`Xy_|6BP)2D_MeKMYP-IvAg z9#mO~`b2NQecpc}U};@*KfywXrwKf7fX7cfy#~+qsdi#$XDZgxS>SPGG^gmdfnE$c z{4+%lr0Dm8UJm+Flb*YP8OUD01icaT>NNUdrh9;U1N7TKzZtqZ?URq+kn6~pim|tz zOeR+YI6S#mJM?nU7lD3#8hxEZUj_Pqfc`O)-oa#^%blR_0lnO$x25RYK|cU`u}Kf5 z=(|9l0N>*J+V`R<`hL*&q5g$t{YFLi05<~qe$e-rbn=(`QZi0M4$}ElGKo;0vO!gf zJ{R;)gPv`kUM2KWvwk>LeUV+e1O4MB z9c^3#77uX!pf`eE=c4BtcG?4;+rZOq^5m}JMo5R3K&PBC+c@MQC;U6;p|tu}IrXQ3 zKKJR&zC`jDf?fsse6v3K5Q7AwH-f$v^h|vu`XAarFRIgr;Ys{;{SlNCzuri!$)s4H?^?(>2OX4-G7`X+46>(0*&DxdIxJ_uQ* z*f0JC_YNQR_xCBkc>_Feg9qR8lj3Pj(NCCcStnvoIoqVSr08X!UjX_!CSCGJ>TezB z7WN0oeo}MLST|#!zjl8zIm4vO+D!Ft1N}|VdEL`4Wrt$Eg3Y~$_o_mE^pKLf!*?@SeA!86cJSM+IGNIeaRf!zw zaTVm84LfDafi{9(33{gaL-p?f{ZpVX!M!6NdR!;{d;s(w&{vxDT(uFQ`UgON2z0+m zH}cT8K>s7?+2-D97{FJ@pw9*UFzA`q74APd0L~(^`O!wuPXe9TQvFN$*&QHU`D3h$ zX8f4&4Gtb8{{hfnLi^dq@c`)0g5GM%=e>tYP)LS_;OT)5nPd>%1Ns!u&opJI<$~i= zCFsY2ew9f#;!{27%RmpO(d)UBB)<#v+sA0XAM`DtPc`eWNZDur^e)ibOnR=`^m>3B z0{tn_*O+u=gDXf1>5zx5?i8E}Wt%V4KtCSzZ2Q%Ppicvx*IZ{FsEs+vZv_1c(D4bI z)Htt9^p^Re)kwU6yTg^2k4(P z+sLhP#%Vg}e{kzy%ymELt9B)mm#5WNhZkgnCeUvJ9dEp+`cSQGK&WIg=jhG3mu{M1 zePaUBaw<>zRZjksldMBI`A7iwMAsftx%X@RIz6*43&^I4k+Jb8}9)_)5$AO-}yv6LK~a?@#j1I*@0*mWNxKWqg6R zU{U@uD2y;~LjRH0)z=Ia!J`u_vcT1gkS>3sd|ZI#;W#F-^sSd#df zj`IS#up8oQNa)xq@%6aqhpi4@oIm02L@8?^)vV#06o!sO>8g|)dR{@7G-vS{HOi}y zThgWR1=4Y?H+>T#UD#strQ7Em2pG-xFG=0N&ZxJgTrP&iYq6Z#IeJR@uypJnQkL#Y zYablY|3}>|vBaY=l>(~;)(dPG*d=hAz846F>P`F8&*6`#HiWz$5s67k;MTbsP|O zs|q(c`2WtGw<-+jM;A@+9LxqiZyAX{8}Uo+>iDAZTX2(Oo#g!AP>ugKZZhfr-^_oi zwZYZyql}+o71ZMfm)2*9@26Nt)#C=2#=p(?Q>+iw6E=lE8w@$t6zk}EMmzlTfhYYd zrz?Dk0@g;s-+Z1z@N);;{zdR{!Sfyn_$v`VNX{weD}Fvt#O*=BPrpF$3Rv_(F5;gp z_!)xl7rZTaJ`(}$0!(<~-!Ax4;s1BRyXCwk_RY!?$ua+C8ee+9gQRV#H#zYiYZ1_Mtf`he?wr8*lbtxNYn=!D z+0eg948wa!5I-gOuUxD+KQ0w^3jRZa;4^Q~W+0H0oJOB8VqEFkAo!CmQe`dw2ZHae zQTR0qSbr4!6QU2c-+Ud5=uYyNdR3Xv6L33U@DGdQ@E#ZVPQjnCSn&^uKJ*?6$*G^I z@Us-KCL%x({s#*cLhHE{czB^Tb(=5>s1^QZmp&T=zjc{nTp|2V2|iEw^*VY;@HKpx zXj#__{~73@2kly}c2B|rO?uu}su&xDpU#qx!+f;r6$0+c*An4BAodhseNOO=ixi)> z^WB0!TI?z6TE78a+eAb&NDBYfk14E7SL-83XXal3Jn27G?C%$04T8VnGKB~Wew*N% z#D8`OexKl{3tpz5^}66+Qj`3i@^4G=-pN|8(uoBL7U}J7kAdBL6JKZmkyl<*xZcXPKGwd`$SaEms2gEEKo@ z5PZwLbo@NzUB~5~V!7Af<-n6ZZ&WLO-BzpM56JiyE3)-X!QXSKLTG<}R`Ble{TuLF zrifrL4~|Feo+6H>{jFZ`|1SP{o>bZhd?qAWMt}AHna1?zs~C7{ z*X{q83;u)}#n&eMTY#UEdz_{7azR@+3I94-&@L2$=eW#zUIIL|JNcuEQGit|_-R!N zf0f8-5d4#K6(S_~yRyiCPWbN2eUZg-8~S63@W3=?0&f-e(?(*3&p zcqQj<@hf`XNY?{`|8%J;pRa&5EcmL(H+ij4v3Gku}L>+#(z_%eRDhi9H5=ZAv7 zM-X~GJ}UUu6^c>ElRpUF9Vd^1qf)yAGZp_*kx%b;q06H#pYXfq>DDa#^pK0>Un_xD zuTw=QDg0y7poDvCp5W)ofP6nksjve0O#0Ld|F>jZJ}w&nK=3gcM_so78!pnPNY-UB zt93RMqj*&*hSYJa75uucX^bCa!S50Izn6Kc2h8be5d3sX9<7l$(iM^0G{;RBYvp;Atv}2#9$pF=PAKo zAoH1CsR_8b|pp5?IIs;z}HM1 z6i~ZvznUj_cRcR^p4J6-o^yln7nLiy0<60PUn6$2rQQD){C8!d>;C>i@b38bqTteoc^A3eW5BY1b-_$|TTC-Fi1`EP(f4*RmoZA$SXnRmm&9}q{LFa26{ zx@z}X8K}PqzC-YDi9T>YzP@8q2xzp9+gU^YQaAxaZkd8 zwOa7*`E{q@Zx;Kb$k)??e?|1vx*ZJzl09#i2DLp;!wu!V?)-Cx@V`={)+Q?0IB1tDM`@LC6xa=b_B^ID0*>iK?w;7cUF&6Y}^1D@ho`*ek%cO~h% z+oR;Td8E?Vbhf_JY+R|A1H~@Jn5C-UdFCo+o2nA$|Tw0;(RbYTz^R(>V+AUn}iuo*xOmNcyYy ziEnBC3Z&v{1hehJKa++PQt;#>VKO8V3s z1t)Z!{=o_wu=0%f_K~VNsSkW)&Bef@R|I?strbB-r_dPwgU}e zI~G`D0TGRLtX^Flv>Negsx{$gEEKV0Eq1WEtu+({XJebarn#*l&}=v2b5T({(9vlH z+gjS2L$Od}aY<$ldv&-qYzHEdzy>?i8jEbOR!8u`ExWO!rDX%E7$tnVDjZ8=UDJl@ z(Wc^Hd%I;{SsPngZrkBDVncEHY};;+#+oZaouObyEZo*wy3V_FW;Aq-FFUn85Xnxh z0M+imN4&<6Fw3D|S<%$d5@@Z%r^#w+W3$z##j45{;L~KafvVaP+vlsDY5SHhS=n4e zB^c6ITV``dDk7nlwsj#pyt-<6g>A2C?XZKLo!&XN-P#sufrY~`egIaks#XFW`L(4s zNiT(TpD#^?*>-KY?W4v(w0(7U?R@&FE1@QhR%Y3DTYJ>&h4mt#MsBGpO_0-;(-(BZ zS36q?$305R(Ian(T}3`ZVyfzhWuEFC$^KwENX>}8W@BmUqTln3e*38BKKfBTuZ@+F zsjF(zDvj==mpV|U1mWKHtyo?g^UjujL_(`EDO!Ue>S$SPLwm@#qP8NlWwUBJy3tXF zUEuX$6qS!)a)etkK=02-J^&MrcAods#b9&Q@>)BiuVcQ{&cZnOd<}K~4{TfdzsFvReY-Rz%oEHS?CiotH1PVN!eX@|CvFFG&Bw8p~eziRJT_ zRV{F8uUNFG7IUa>-u$IL<%x6fIob6HYgH}26?Jw^=6OLOPECyTa1**_bPV%y45Jx` zk*-;i#T}pn2hsWL3b0jKM{5|Ww7?cIyAcaiB;3G(ABw@N$ePXJ))0btu&s4Xqyy^> zEQV!g4X{-$OIy6N%S-0?mbR4Ox71rUr>uPD?6NteMN17j21O{UVHF6p*gVInD_LTD zIX)JQ7#$7yjOmftt4nN-*NC7>p10J#oIhJ^H=us{lHsj@+%=(?UDs~&XO3wV@U7#B zfO?3l_#AQ|7P14{tjd^VDVPhfugu0Ys;TpGW5(h#vo*9nB~rEOTUg4nX-LOX%Atj^ z+)Eu)DKqu4z3)h)Earse+#j>9x|Dp%=Uewq4ZN@&?m5PgRkU|Rn_%^R`bRILDsJ4-m1?&do!mT#uT(GGU0_M%Hvc1JKm5hv8UusTeBqKYj zMQrZ0qv2~qK3HDO)NJ#jG=wP^2!_~i^^~B5QhR%CtlVBmD?!@^JpnOo)*%v<+BL`( zDTt1tE!-IM0fy$zBIBSnCZx<|mll^6&r+3PQ%X_2-ctBI)+36(t!t`+Ft<0@gqRzP z1j4asRnUhvgFYWDh`yECrs0cAy(H{N13!lsHgpH3!St_IlX^)O3za*zRNhh+YHe)J zq?ZqAx_741z76V!0xihq$UKP5rkXAtGsT4^?&)a+2G#SK$`>X1WcGKEQcA7T679jw zSiNFRSZN|{k?JKux0*a(W%Ox7hN)5F^TEK{gld|=io7zYq4dsnRu(;K7&E1!uL5f) zjDxg-_Ar-nWS}5igTcT^kk?V@v>T&sHhsZHa|lAo39yxHY>Xg@XLr-3bUNUY|L&(-RW%0+mA_$1Q$7iI47COtnt6}C zDjI=@Von7jAv=oWhbn9tv3>KQt#!Ok((V@L37qu#5H9WJa0A6Se7g+i(aQFShcjvQ zsEy5R3AZBatXaZgRxLbg4TdFF)UwYTVJ=gj#)u&8?LM*!{2vD%#!AMgD3r#jsNnL5 z3NmDtAUW%urK*$$s9bf9p0@8XrN&{0EZ#7KKFy$2G_1d|V7|1gI6GiJ9=XfPRVjJ2es)^p0|^-97HPFn~gwJRMvwNo=J70k=p1K~(j zON(zoDgIJc=%XE~TA^qzjAf=Hq-nD_?{g9(IBsV+=7a%Bi;ghG$IKE+$v0)aZ${n( zZ8IiP*|U~8yk*U{q+!)UVCN`5dgWN|EciNdk8Lc((`9<|h}cc8&hZPigF!16ZW)y^ zrc8sqwaj))aVO)k zmC7N#vl_#z<&aRVBN$$+G7Bk?*2XZxqX#%sMjAvQ!?=yk^;*}rnBz#gL*iKT&Xvj` zjATgUjx~c``D5!OE(Ro<}&Qmi<2tzmdGb72b!{+M9jN%A2tGysJIl z>_B@vc3Zxdw0()rO`T)I8a1oNIy}UJlIif!oAF@4^lPtusR|>sO>{OVNZf*J?O@Yd zdo`TXiQ35B^uwcfwYg|8-O5W5k0;+d-kl&y(w4@qTed(S#A3vh=~;q0Yr&L$w?4q?W!mPO=Mp?2ot=Ctoi;n{Gv+MK=-Rx_x(+lV8IuEZ?VzLZw9||lBo^)nmBro4+uPdJnJBy55tbBh ziE)z0M*>(?C>@|JQJ{0wmgopRm|<;69Y~M0w51Mx5aZPm1Lo6M>0b7O^;9mT9FNyH zwfEzWr4naj)}^dT*||LLMOIAHGIhW&E>MfNs5;88e2phz9`kSp+pA*F*-NhS^T09qrxt(G2UJ~p3)h{~rJb|6Ns&)!De zJ;Jr!UWba)oyF}G@cdXaj%**sl|p8-fAo+HTG!sfXwq9-b#wsABIiV#@NO6MGJ-?KA#_IzbJL8Ii1+GzeE2ldVJjo-d)NzkD^Knncz!C0br$>Sk47ZwM*)SC?fwdu9 zpCci6XT^2ing?ZhU|EHZ^f(&RlJ!D4drY)>r*nbYmGoQ~$GL~CbaW!c=T7b!Ar>`f=j zxTv{yaGb-@*@Ur&<4`wdP?G0F-couAu>%L2M|c&FqI3&hol&RyG}Y(;f=&o%@?@Pl zr8qZT6Kb_%>)Y^hpz{Jsw5sL(%m?jh*t}skk6-+x&Ml7=jmKIj5v-YP411>a#y!!E zv;Yz?BKl$aOnv%5FDwT5%)%VscOu&iBK+=xdSdUqyzoAJ96M_aq>;iq`-k*Ai5C8} z$!`@$H?+h84S=zTf=&94vernuRgBmlD#pv1#qE(c%=_2|1J%$GZf?9V+$bo#7H}cG zM$7C?foPLe+_<3?O(+XlkltSH%WaB@w$H6m6uk+_sgPe*4N(yp`pjc@2-CZ=zqs|h3NM6_o-;8 z^`9tm-1-NAKN`Qf{*dUep;(KpwuV*Nl&f6pshaKkWF=c=lfocQ5^dFUUd7q zzV82*rT%=y?tFiY{vMf15lr>*5k04UUH==vkxjIG%Yy=49{!6@N~B-z@xKFPv%bfp z_%+-{MB^%wdkw#hvRQxUS&BhJ&8J1^vW7cd^#`QBhFwQ!|HrQS`g5Neo}fP{BMRtt zwLTBK>g&%zYbe90*?Fv;0&adP_4W8$^+FYRqZBpJqlLaxpJg z(fTcjX8plN#jW9%QoDi2CIFx_$lqAVa!+F)Ynrx^z9Q*M9;>_S5zC_dN|$ zV8Eq6KdDNo`dSWs{>ZHFe6Fxd)zI_QU0;{aKxLAp+t;7loZ6*0^!(TSmHI~DInsWK z3$N>+@4}O=beT~5o}#F~{w^uW2Nmh_d*|TS>9>%N0@S(-ih=)2sx-l+fNodwl6z*V Qzhpph(Epq;FIUm}zc8V`asU7T literal 39104 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 &human, vector &computer); -int computerTurn(vector &human, vector &computer); +int humanTurn(vector &human, vector &computer, vector &cardDeck); +int computerTurn(vector &human, vector &computer, vector &cardDeck); // main program int main(int argc, char **argv) @@ -153,12 +173,22 @@ int main(int argc, char **argv) computerHand.push_back(deck.back()); deck.pop_back(); } + // tell the user the game has started. + cout << "Game Start." << endl; + // output the human's hand to the screen + cout << "Here is your starting hand:" << endl << "| "; + int handSize = humanHand.size(); + for(int handDisplayIterator = 0; handDisplayIterator < handSize; handDisplayIterator++) + { + cout << humanHand[handDisplayIterator].getFullCard() << " | "; + } + cout << endl; // main gameplay loop (while?) while(currentNumSets != 13) { // switch back and forth between human and computer. - currentNumSets = currentNumSets + humanTurn(humanHand, computerHand); - currentNumSets = currentNumSets + computerTurn(humanHand, computerHand); + currentNumSets = currentNumSets + humanTurn(humanHand, computerHand, deck); + currentNumSets = currentNumSets + computerTurn(humanHand, computerHand, deck); } // return 0 return 0; @@ -185,7 +215,7 @@ Device Input/Device: ??? Device Output/Monitor: ??? Dependencies: ??? */ -int humanTurn(vector &human, vector &computer) +int humanTurn(vector &human, vector &computer, vector &cardDeck) { /* Handles the human’s turn. It will prompt the player to ask for a card rank/number and @@ -194,11 +224,53 @@ int humanTurn(vector &human, vector &computer) card. The function should return the number of sets collected during the turn */ + int numSets = 0; + int maxCountCard = 0; + char inputChar; + bool foundCard = false; // ask for card rank/number/value - // if card is in hand, + cout << "Your turn. Ask for a card (2-9, J/Q/K/A): " << endl; + cin.ignore(); + cout << ">"; + cin >> inputChar; + Card valueOnlyCard(inputChar, 'X'); + // if card is in opposite hand, remove from and give to the other. (loop through computer hand looking for card) + for(int checkHandIterator = 0; checkHandIterator < computer.size(); checkHandIterator++) + { + // checking if value of card is equal to any of the other ones. + if(computer[checkHandIterator].getCardRawValue() == inputChar) + { + // copy the card into the human's hand. + human.push_back(computer[checkHandIterator]); + // set the card find to true. + foundCard = true; + } + } + // remove the cards that had been drawn from the other hand (use remove/remove if and erase with the vector iterators) + // NOTE: https://stackoverflow.com/questions/72179264/classes-remove-a-specific-object-from-a-vector-of-objects + if(foundCard) + { + // remove cards if found + computer.erase(remove_if(computer.begin(), computer.end(), [&](Card &remCard){return remCard.getCardValue() == inputChar;}), computer.end()); + } + // if not, draw a card from the top of the deck. + else + { + // draw a card if not found. + human.push_back(cardDeck.back()); + cardDeck.pop_back(); + } + // check to see if sets exist in the vector, aka is there four of a value. + // if there is four of a value, increase the number of sets to return, remove the cards from hand. + // NOTE: https://stackoverflow.com/questions/39906504/how-to-count-duplicates-in-a-vector-c + for (int setCounter = 0; setCounter < human.size(); setCounter++) + { + /* code */ + } + // return the number of sets - return 0; + return numSets; } /* @@ -211,7 +283,7 @@ Device Input/Device: ??? Device Output/Monitor: ??? Dependencies: ??? */ -int computerTurn(vector &human, vector &computer) +int computerTurn(vector &human, vector &computer, vector &cardDeck) { /* Handles the computer’s turn and it should do the same actions as the human but for the diff --git a/assignmentOne/maze b/assignmentOne/maze index 436115332783b0809b7aaf5c9acdf02a1a142e45..db96fb62c7fa5af47d7e3c233b1ad111f7267a00 100755 GIT binary patch delta 2730 zcmZ`*eN0nV6u10VvvSctb;N|PQe4W+@d=b@B@7`Fh5hQ9Z#KSpFkFc3HqM9BLLA)I#L*0} zX|1$edivpx#!8P!PdpmpH=$MQppk40r?gJGSJEXwYqk{vTCK%QrV-CPwgDk=Y;SBD z3emcrux0f*HFcZdgsv^J`o(2+v+LGv+Prm5`CE_?wo(_rTzV^P&>JI9J%NV7MnroN9e4sY_z&yPhwV2#tAEWw z$XzkD2GUK{v9)ZMyCXhP6uZWvrawYOrUO1TW#r;$*p62qaRDJ*^W&uXl}Yn2;JPVo zu^-WUYwb~qyQP!5J6%JFxI1;mjO@S*yQ}#gX;`|ed7LyO;&?hIH!gtJGIG^@2R9lnms(y9(m}Gh|xKiG!KD1L6>&5%(w{$^`8Duv4_yro}<|6w^Dx{Kzm(lhzonm-HVYycP^8 ziL}?BmQrHKQnIL$HT!s09|HJPfV_c!$FxVFU~ZqRbZ!BBpb`5 zsp^2`5^hn;i>xK22?xwt0Bl)SS__3)j`;19)_%@8o1hgr7oaC=8=lRaZN+C=_BO)^ zKVci3%r2n;7|C8F5Hn=w92dN0a3g0cEXaw8Pe6zMSNYC@)wxz$%AUGv95a$RvoL>o6-pQ=|u~5LE)K$O7m=RJjI_@d`vyvSrm|HzHYVTgA*49cwyK&9(}LHVJmh05Z5gYvh~2)^Qc*i&qR y>%~s>mU^*Xv*v~Pk`|#pmn8nBuH~<#{b3a6)}53(!ObF-o3$p^zYqEGA<7} z^RGRxr{Pmr(!8W`jj!Vu{QC_rP_qU#?>&aNrV|~B8>;L&PEHB=SNVE z<9_9tqgZ}qV;ImS!i3HVPQ4D+=qywRtuC8pmcTlFKit;ugO;f0;peD)KgG4QM1!3- zrmw(M*zZrrUY~aW%c&*Lu=KD|WGjWA=_mURVSRMuWnpVbeqAES>=e9OXz@-+(9C8L z(#Q*$NmR!{D|ZA$g;je1&PEqNv%v^6(VM6Q8w@sBZ!pHpcsbAB&U|Pw*pgznL3s`c zZ!~IJxPf!7)Sp zL&$V&>MZK|C-gb{ByrLe zA*1JDJl>Hr7)Djtc#Ep%+jNOKa8FiXbMLw zB4{#N0xi>x4Z5+4DOMCsgCC1R8=5e{OW^=*BES!E|0-$eA`z~_JxfhadKi6}&oUkl zJnIf_6T?M>0zZ%snG6nxO4}CNex)HWp?TddC{;hnW1B(9~X7`Qa z7{l-A4aGJddI(=wGe#z@=@L{)&J*d`+Pu0uvOIvFN&w|)loKdxP>%jC%M&Oa)3W?0 z%68b0RX|^ZrmTgu1`cLrRbRL*%i=~rKOq+E_1J@GuVMz#Qc!kdzlo9e=x|W6!1SJG zbxf4DR%eVh5a#~`yBnnJG+H~7m+h4xs4*0&$71*t6vw1EMU^8N=i%|oTP5@trkRJt znVBT4b#SpTjRxRWp(7(#&yC{xBUi);KToiGpv3MlcZjo3TvenIn(S#API36M(~~um z7^r7*I*i)AnqU;n+EeKfNOHVNJD}C!g$s_!B$G&;Pvy6W2Je$HIP0`k2A=R%B1TCv zsVe8Z`U5vBb}Lb@12tMR4p_7xWE9zG9h4L~lB%DW`=wyK(2C4K=r7uf`I%ideCE0K zN*6^Ad*HasONZc=YprI|1g<56n&-;l+LE`RxY$A$Kwq&iXaa<*93jNEk( z(vd?YnUv