From 7a819537da08b63932e14a5ec902eae55b554b9b Mon Sep 17 00:00:00 2001 From: Karl Date: Tue, 6 Dec 2016 20:53:25 +0000 Subject: [PATCH] pygames --- python_games/4row_arrow.png | Bin 0 -> 9731 bytes python_games/4row_black.png | Bin 0 -> 7463 bytes python_games/4row_board.png | Bin 0 -> 8666 bytes python_games/4row_computerwinner.png | Bin 0 -> 18933 bytes python_games/4row_humanwinner.png | Bin 0 -> 25412 bytes python_games/4row_red.png | Bin 0 -> 8562 bytes python_games/4row_tie.png | Bin 0 -> 8912 bytes python_games/Grass_Block.png | Bin 0 -> 8244 bytes python_games/Plain_Block.png | Bin 0 -> 3433 bytes python_games/RedSelector.png | Bin 0 -> 10418 bytes python_games/Rock.png | Bin 0 -> 7902 bytes python_games/Selector.png | Bin 0 -> 10243 bytes python_games/Star.png | Bin 0 -> 9824 bytes python_games/Tree_Short.png | Bin 0 -> 9771 bytes python_games/Tree_Tall.png | Bin 0 -> 11546 bytes python_games/Tree_Ugly.png | Bin 0 -> 10378 bytes python_games/Wall_Block_Tall.png | Bin 0 -> 8443 bytes python_games/Wood_Block_Tall.png | Bin 0 -> 6011 bytes python_games/badswap.wav | Bin 0 -> 36908 bytes python_games/beep1.ogg | Bin 0 -> 39782 bytes python_games/beep2.ogg | Bin 0 -> 39284 bytes python_games/beep3.ogg | Bin 0 -> 38581 bytes python_games/beep4.ogg | Bin 0 -> 39214 bytes python_games/blankpygame.py | 11 + python_games/boy.png | Bin 0 -> 6581 bytes python_games/cat.png | Bin 0 -> 12574 bytes python_games/catanimation.py | 47 + python_games/catgirl.png | Bin 0 -> 7270 bytes python_games/drawing.py | 41 + python_games/flippy.py | 518 ++++ python_games/flippybackground.png | Bin 0 -> 83036 bytes python_games/flippyboard.png | Bin 0 -> 340760 bytes python_games/fourinarow.py | 363 +++ python_games/gameicon.png | Bin 0 -> 2134 bytes python_games/gem1.png | Bin 0 -> 4382 bytes python_games/gem2.png | Bin 0 -> 5665 bytes python_games/gem3.png | Bin 0 -> 3454 bytes python_games/gem4.png | Bin 0 -> 4217 bytes python_games/gem5.png | Bin 0 -> 5507 bytes python_games/gem6.png | Bin 0 -> 1681 bytes python_games/gem7.png | Bin 0 -> 3132 bytes python_games/gemgem.py | 549 ++++ python_games/grass1.png | Bin 0 -> 3009 bytes python_games/grass2.png | Bin 0 -> 3019 bytes python_games/grass3.png | Bin 0 -> 3009 bytes python_games/grass4.png | Bin 0 -> 3032 bytes python_games/horngirl.png | Bin 0 -> 7186 bytes python_games/inkspill.py | 445 +++ python_games/inkspilllogo.png | Bin 0 -> 18855 bytes python_games/inkspillresetbutton.png | Bin 0 -> 7855 bytes python_games/inkspillsettings.png | Bin 0 -> 50806 bytes python_games/inkspillsettingsbutton.png | Bin 0 -> 10746 bytes python_games/inkspillspot.png | Bin 0 -> 5134 bytes python_games/launcher.sh | 58 + python_games/match0.wav | Bin 0 -> 31504 bytes python_games/match1.wav | Bin 0 -> 49888 bytes python_games/match2.wav | Bin 0 -> 38494 bytes python_games/match3.wav | Bin 0 -> 36050 bytes python_games/match4.wav | Bin 0 -> 36050 bytes python_games/match5.wav | Bin 0 -> 43024 bytes python_games/memorypuzzle.py | 292 ++ python_games/memorypuzzle_obfuscated.py | 167 ++ python_games/pentomino.py | 749 +++++ python_games/pinkgirl.png | Bin 0 -> 6924 bytes python_games/princess.png | Bin 0 -> 7411 bytes python_games/simulate.py | 251 ++ python_games/slidepuzzle.py | 332 +++ python_games/squirrel.png | Bin 0 -> 2974 bytes python_games/squirrel.py | 396 +++ python_games/starPusherLevels.txt | 3492 +++++++++++++++++++++++ python_games/star_solved.png | Bin 0 -> 67300 bytes python_games/star_title.png | Bin 0 -> 93531 bytes python_games/starpusher.py | 598 ++++ python_games/tetrisb.mid | Bin 0 -> 8612 bytes python_games/tetrisc.mid | Bin 0 -> 14661 bytes python_games/tetromino.py | 523 ++++ python_games/tetrominoforidiots.py | 420 +++ python_games/wormy.py | 229 ++ 78 files changed, 9481 insertions(+) create mode 100644 python_games/4row_arrow.png create mode 100644 python_games/4row_black.png create mode 100644 python_games/4row_board.png create mode 100644 python_games/4row_computerwinner.png create mode 100644 python_games/4row_humanwinner.png create mode 100644 python_games/4row_red.png create mode 100644 python_games/4row_tie.png create mode 100644 python_games/Grass_Block.png create mode 100644 python_games/Plain_Block.png create mode 100644 python_games/RedSelector.png create mode 100644 python_games/Rock.png create mode 100644 python_games/Selector.png create mode 100644 python_games/Star.png create mode 100644 python_games/Tree_Short.png create mode 100644 python_games/Tree_Tall.png create mode 100644 python_games/Tree_Ugly.png create mode 100644 python_games/Wall_Block_Tall.png create mode 100644 python_games/Wood_Block_Tall.png create mode 100644 python_games/badswap.wav create mode 100644 python_games/beep1.ogg create mode 100644 python_games/beep2.ogg create mode 100644 python_games/beep3.ogg create mode 100644 python_games/beep4.ogg create mode 100644 python_games/blankpygame.py create mode 100644 python_games/boy.png create mode 100644 python_games/cat.png create mode 100644 python_games/catanimation.py create mode 100644 python_games/catgirl.png create mode 100644 python_games/drawing.py create mode 100644 python_games/flippy.py create mode 100644 python_games/flippybackground.png create mode 100644 python_games/flippyboard.png create mode 100644 python_games/fourinarow.py create mode 100644 python_games/gameicon.png create mode 100644 python_games/gem1.png create mode 100644 python_games/gem2.png create mode 100644 python_games/gem3.png create mode 100644 python_games/gem4.png create mode 100644 python_games/gem5.png create mode 100644 python_games/gem6.png create mode 100644 python_games/gem7.png create mode 100644 python_games/gemgem.py create mode 100644 python_games/grass1.png create mode 100644 python_games/grass2.png create mode 100644 python_games/grass3.png create mode 100644 python_games/grass4.png create mode 100644 python_games/horngirl.png create mode 100644 python_games/inkspill.py create mode 100644 python_games/inkspilllogo.png create mode 100644 python_games/inkspillresetbutton.png create mode 100644 python_games/inkspillsettings.png create mode 100644 python_games/inkspillsettingsbutton.png create mode 100644 python_games/inkspillspot.png create mode 100644 python_games/launcher.sh create mode 100644 python_games/match0.wav create mode 100644 python_games/match1.wav create mode 100644 python_games/match2.wav create mode 100644 python_games/match3.wav create mode 100644 python_games/match4.wav create mode 100644 python_games/match5.wav create mode 100644 python_games/memorypuzzle.py create mode 100644 python_games/memorypuzzle_obfuscated.py create mode 100644 python_games/pentomino.py create mode 100644 python_games/pinkgirl.png create mode 100644 python_games/princess.png create mode 100644 python_games/simulate.py create mode 100644 python_games/slidepuzzle.py create mode 100644 python_games/squirrel.png create mode 100644 python_games/squirrel.py create mode 100644 python_games/starPusherLevels.txt create mode 100644 python_games/star_solved.png create mode 100644 python_games/star_title.png create mode 100644 python_games/starpusher.py create mode 100644 python_games/tetrisb.mid create mode 100644 python_games/tetrisc.mid create mode 100644 python_games/tetromino.py create mode 100644 python_games/tetrominoforidiots.py create mode 100644 python_games/wormy.py diff --git a/python_games/4row_arrow.png b/python_games/4row_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..5dbb2b0a98e5944baa3ca7b0355122d43b08a73b GIT binary patch literal 9731 zcmV+eCj8lnP)8fj|(dx328YD%&_hm_;Di zk|B_VraRc6C;{8qiZZPzQSnti-;d7Wa-fQ$Y%w!}T{$28SZY=Et-AL==iJkQTrLL$ z0`M92q~A&1q;2>OK_K5ggd+HlFG%nBX9$8I_|E8GlhT~g34|aB0*c`uhDcG565a<0 zf@Jh6Qi4tHrU8YGAc)b~$TOs`;KCoJyC8_sza;%ldI`dRMi&GzdN1iOdk^j>qYHvG z(L<>h6Zo}Qv`5Tm~$y<@ZA zOJIK=q269-@iEf(1ShlzF*7rRPv5>>TUc1=q(u=;r_&h%RPN#W`Wi0utE;Qz z(a{k+5e(9MHlIE}KW|J*#CRHivQJHt2GY_6%PDb?EA8n3Ob{XCb;4WFN%7@IWnw%F0R*^~0}U2YY&Y(ACw2=H}*Tb#=AnkpV2UjP!u(=14khQ~+&jYeRQ;w}y`m2kDcO6AM6;f^%nGU7ek^ZL=#;HOIl` zsUltXdeX0?c6L*>o)eWq$s@0UKj`dpo(iyQ{g(lXUEJmDyc^B*q!EFHbWp z=G-gO9$BNtl9OUq%busF*rB~IxkD-bK^2Eb9^sPC>Vk=uFAapJI2SyF)}iO z)zww^K0C?xi`hoEzx{ALkLj+)^1KwaB{8v7QS>?w2wGs|gP_nNLxczx zh#>(Mb}=m=kTe9@HyaitEMNs27TvIb4GTIZY}m122m#G+FrYC3EP)V$D3p?bic>ky z(>ayyreTUea>=trgeXxARXS^mqBFDAPdJ`;1JC>Y@KXo!spPikBKuZ1ln=065 zW@aQ53faTM!`9f?Sm);ErmLsrB>BX|gq)t94uKR7qba*TGzawY}SiQa^kau==1f6LWASA!Ewzl#!hK8So`f~{N=bTo5 zGCK3wL0mc@O-UF|5@dUOo41`=Sy^$@H0SU+q>_@IX@H0)5O!KxTC}>lnklz0(fKTo zt2Q<^Di042EzE6*jV{eUjz?0{hfYLG3lZHC5v#7QE}DqMVU@IO+>MNkNF)-8&(6+9 z;kS!s8-cE83SkgykV1KtagQh{6d24~Em4xr844gBw9112guEa5*iX-BO7z<(@0}%B)qDJTHzKZJ= zxgLA!R=d62jLXYQxwyEHyu7>^>O>pBdIxEu3P=x3JYFK%3A)0IMP< zn}mls_|61@2!a@DDz`8HT|zoTjEGX=!O; zMlz=Wmqa2kS;x90I8GiUBO~Lg8dV?&Qc+Q1*VNRoM)phHd2!r1&Vi8?JrHSYYfGl3 z)5>oNa+1iQ7^J7C)9*OQbThH$^e0IWuKOV77Aq+!an)L1H3|<%%gZYbv_1vrO;R}+ zw-WDjtE#FzK`1IJlFZCZJwhjq*&L(4J1{U{CwdreBKtFyY>oRq2vN1Nv$Hvua7s#w zp7F@?^0F)~E%DhH`XYhG#zyaV7?=L50fS=(fH^1ke@b-yKh|Ho=Ek2dz}0RtHwjUS z8{z>Sn`w(?IBzE)8BrZ+5Z;{xtq+ zdsbQUfz34s#9&G+rKP2D_;15!6JS@xi?zRjav=oL#puf|SWtAp-MAsOwY3IC z2!bK}#QXHQo7%ISJ1>JA^oi6Ia_)PO*noia0#kZFg?#`DHE(+{_c#QfJ~{9q0+Ori zNU~GdO^`h<|DFBK-1)~=SzdAcFmw#Tc3@#ebg*uKf@ZiP5mPMr#7HE)PY5Al6 z1Hv$1r6ldlM%k<`l2FqkjMPzSYqMny+icx%vC{%YH~NDy zoBP~*d)q+UlRRl@@B6;zd7kq<=X=h1-g4D}4!CQ)h&n_gIzSh20mjP$1t790fX}4d z^q4Pt$r=Zp0Yx#>0U=W#nh5u@fI|fC4ZsN>KH+l=A~Yb61w3fBQWTSpX#zH&;~JM! zr}NARwg8yY(H95OA0gU{k&F>|%A{L1Iws;E90PLE9bKqVkY@06QWg$ewYRif`02K7 z>6V*ISdPkgaGD2SdF67^O?3%dvnI)Q@AeoZdwpAD;|~{X-I|s_E7~o{>l*8Z3ecBm zR1A?n{4mk0min|EPfVo7bB6#1Mi|e~0UMDLYAB;BA2)7XInDx_tbEmG&6;Hq)%&y{ zn28SDBZB&2Bo1&G7(hX{pUJ^gqZhyDt0*CK{joq>jql0(tfHcVT-zi>#u}(K*Tg|N zRkUOa%D#P5Y`M#}eEqf+7cWtjYiz_qrbjvt(g6W3?ZN!~4atu@Lc~n9oSccOCVCEz zv}IUJ%YBPCZY&GjGg={w=nq(63^?83=}6X$pDn$1?b=IP4D*EdB(`t&j!oCq)meRg zy<=3KTrUu>3x$#>uEueg&Z&Mmhdp}?phpWD$>-0{?jz%E87dL|CmIDdbR^ZQmPZJ5 zn_QCIdqzh`sIay+-HM8wp?M%@BX8{Pp7>~CVV=bnJozLmE!`lib9|lL&FZSEx|W|f z@#>h|+_Y(H)}&#q!9Frn^YJZP%B;9}I?i&uNh&KpRJlGy#*JeE{5XnqjZ^MgD%-nu z?Xqq$lRQQBhdMegvj`QZ`YZs^2RgLfv7H)AKyWb7_6w6I|03C)I^4UL`+JTSCpG5y zaU3&x$9yx9`BPbE-=M~%F|1h-?EL%l;$rJLcFcyW$d*XE4*7L|*2;H=2|dpp-|nMy z40hEWYpoejkSij_YLx|Y;bg7qrSPb!sg9&tR9vCCU8++5_{b60&vwJB`a%z<3>$VU zUOVnsxNu7lKnPQbg>jk8)-(fleNL2+D2)A@L1?1*GT`_4QWXVGn{Fx=zm+s;flX z`+PLoPJ~KXw#<4Fp5;Y1s^2q3XJZL;o^+r~t+=pYU=0nyXk`lo=+bAOwP$whuc9Nlhu;t8|7 zJnuv!=}v2FD?M!MR@-oqPVx07I7fgvQw~pu2&k)2MCI8Y*sqy7m9_I6(iiRR^!MF0 z;R5V8U>eK|+j6=>^R=$l-0U1&+|znqUBGt`u1IO0;RO38?+q5vXM2BReSo4lh7(ON zf~>48Htb7>!1vYF!76IF=UOGNzfciy?%A`!`?JBZ90_2=$m4r?8J`0R1AuZ)JgKx4 zCxZS_*$DT4`{9S}?9QErpm#7TP}KS^ze7Lf<>rP#GgLUjF!`Qm^h1bxPIrLo0muP> z`_pasi@t^@e2e|dSisrnjEHykw%14b4%q7%t^ zkA9TuIaeF#SK_}-hUb)_w+)~GTDSPY=uGs$pn4NFm{Vy)aiR${*Nf(Cumf?R=j*Da zJd0>RUYWXTl_iNTdld7@C+&Vm2;an+q)}P5T!_0(2@DOUNs=0uS@~UwuwT2PkNqHzWhf~>aPlnGGsuB#JDJL4A2+_Q1goZsi*P^L~Arf9v6D{c9&IvubrSVy#0B7pvi znAmlCCepfcr5#(eh`DhdfUf}6YpYRLsjRGoL0Dm18z2uldGreR#i`C?TccHN&%_yX zKO9?>&ys>Lhf(|X*_}EIgtdQvVj;QUXmP%;V2Y_ z2GGdkI4RbqjUpeU>ODcUu|!c_2crFUo33w_@j~qZrUNJ-2bgRqZ7d9~NcWCL#;+4y zJt;thq$|~DfI`uUJRJu?#Q&zE{MSY2>Ho6%u#9Fo8H|3Ba#o~UtsHVq=0#2k*qC3U za#WFQ;yw3Rs!nP3MUs>ngtVro1XRGo0BE!!)lRf_Iik^u_W4>*K#q)6GzWb9#i$wu z9Cag@8{Gv51ZpDe8_ohJ%b=p|r9IGko`F+f-5G$D3ORev`cKk&QoNW_QesWgFEn{_ z*ai@{XWWBpX2=#?iSafuiHp*`R_qKwQe?zt+~?URoD4Bu#Qq@6&+S2Aj-Fi5 zn$=C8ZnXmP`2^SgKLYvFN{wFA8buSGP*Y9SY%Hnq zqs6a^+Ng;Q)?_1Cg`(Ahx(MZPGR+&E++@h^EW4BUNlx0`&EC0l+tYjJ-OfFc8@(Lr z$@BHNq03mVM$Td;nj9YHA0RCMXy`_mX;o8`JW^9Lz5L{?fg&R-^ojm{c^IZFYK)Je z$7u8jm+sZR$x9`_7&N&Sd)8qYT-Mtg{P(DH=U7AnTpoXd8N8>bN9K==#KYvqg{ZUF zc0rviy5$|?w?sllP-wzZo!7f%c+BD&D%Fryfg!-#G_hRgY+gPw!9tf|M$cxC_2@CU z31$Yxt6p3yki7qhtaHHvt{sA~Inys^LpL$j!p@QaOVaKnu5F1n@owO}w7!OUB4OAIr5 z_5ltXp`rMi+%U}O&-gjyB@#Of!v|8eXq5IW&!3@ba z5gqlogv8Lj1wD`7|DQf=hEXp$AstmxOWHSk3aXGeVCW1UgxehybwU4W2fWE;LaRyAs?~Hlh7vU z4Jmqz%gxQ4We^0&yt%1h5{-n%n2P|71zWbr&GB*9*cFS>Ne1$uZYgSvMaTeq)bqG| zD^fz3{304E!0fm?!?Po#yo=mQ*fL+u4%@Nh{aNZ61>g2^e4lulR17q?}4V)JHA`yiU7b_PcL9myom zAwa-K6I9%=FVfP&aD{+5U@{WSHe(P2`Vlb76+E{PCY_0E#W2t)FtwwKqy}>Jy{?Y^ zael<4ZM)lOYonAv5=^*u5()l{K_p{|*R|*t9%jkCjBtiF#71Sw^U$Hd?{4&wOg!jQ zoaOV6nodp5Ja8mxFy#dCyManG9I5627dtv+U|@iO37KG48DoWxAlGdEo;_+Z{!$9# zhB`YtWjj(#{y|7XQ+vD44*sk+oh#Pb+A2?1SIhqTdIlrnx&O>0|L)i!KKe0@`@A`e zsL3^5v=7(ZKQCJrU8bGF<6lB@$<30Iz&Pt45Ei4D@R~}c7@DEutdUp2;vn0h0jJw} z5rGgd)z->~4Gl~|VXm9D!#1wrHIS3B?7tl;#W7&}dQO@O#0emYV{~DInVo? z_y3&7GvZIK6+F*FY;wc2P*ZjY`e=_-^?wTrR7-6w^b05;mPwunMpw(5pRY0n;q&O^ zNyr}tUyN54E?KTc?d=vV6yggzId~pWPAT$0i!2r!SS7Fg{XPFc+|1v>ZC5FSQSblz|F8 zM&Ycb8&F1@)XI2SSy^gTTAI@GT)k?U6vIRXUxX3_n4g@RYaNmiJDo=;6jIxySkVq* zY`9%O3gMSUC8lo#mE=ZXh}eNoS5~Sd*+tvJVdel5VdRq7xNiCVx&y%EM!c*ExFeWq zpqv-V`xsQ4&467>!R?Eo;Y1|{?vn!kql~d$?p=#RuXxeHHN_ds6ABGDmz`IxfRmX_&|-808VItvYU_Xu$O9kPe|h4ES8ozDEUHTrOjml$7XrT;q~87mlI{XKY<4L`S0Y zXUCM9>Ui($hIB4dWB71@5Wnu~vUuPW5KvUNXUteSxjc;fnB}J>=1*pQYOv(YnTDXLdc^Ew zFcM}F6tdd9*`T0mKz*CnYXR-X6&0!OoE*%_XQ<2?R&OD9D`mIKHprjOEOm+oMy7xO zL}V-&X&9S}Hk()4zzhhTrYtjHo{2IR46t9NrM)06b%Vq?yPwrYp>rt>Z#2f5B5nNe zV9>}V_XOw=sG!rmV`k9RBQi2fGt|{7m7UEPR<1gPHaoe008EwwV3Gn-SZKg0oJ4LI z!;t%2Hmg7Y$i63jF7l9+m+@PY8lflvdyq#@q6~`5Zm-GXY zv}rbJLsOzUz9um(GKH+61t9_Dy8crYL9szZkwq0<{|dxX;ND6>NSIPk)!1rFD(;^W z13$`btB^QEi5*Dokgs}^w1zY(zD}C9si7?k4oQTEirtIPX9`63`s zwl=mPC#)kk|Cw#pKaQsX)O1Dd?(U{QIBw&|)z)i`L&!vwVFw}YvME*|bH*UK<0^T0 zTZOj(#ek7-&%i*X=mkD>kNx=Vx6@>jRBBAU031T^_Z;sJzvM9&&tVv8Nkz2g4r|2Y zqu)1@cLCGZ@^INxuck7}Oebb%6{oH`KVe{N)i#q1a5()2>4_4~DJi}Sm>!dNGR z`gqojATYkPkpAmUHxY^sTzv-c}tfr#oNP&`vjKtFn~-(ko=rN9(~^vBh>)e zR$7dBUWY|)7_>)JsF+?W_}3~|;sB?bvFi~4lvOhAf0H-+UU3c@%qbd2@ z&qc))B6n#`AzV4h%C!FT!eZdF9cJ_5w9R+IaUNaf3F=Ui7;7l>Te$#9c?_`C~{ zyU|z@ARPi4!Nx z;NT#7n+htM#1N>Aj*X1GXC}epoQU-{>dQn?Tt!dcS)@CC@0OY1l@MFG(I26yM9I+7{ z5J{Eh&YjylnYBcx6dXxW1n3^=G>bk{<~0o2d8NFE{X=abtgo*}rVKJAtN0j8E){ij zc8&|i$=!^rJl!kWK2^-VsGDkUt0l0!0qudgsDP5)LJlD37=@c?oW%li7_|0PSKoE$ z;KAbAGiS&L2_=t-Lg@0POX28+3*q~FjZR^f~FbXtU(b4f=ki#no0z!FYC~1C#>*$sF*+QGm-7`FgK_ZQS zNXxjKB(KOtmS~b|X-{d;Der04d?G!AQ3Uurmn^9Halsd(&oj)Q6o)-Z0XL9rO`1=r z=mQ=Yc^m_4fb6VUSovaHJ$Q(|zCJc!D3BGurbvQZ z&hgan;s4}%c*fy!xm+Wq9hPyx3jiGQI(T3>JpG)@B-R@gl*g5-tE;Vb_fb60Sp&i+ z^Wys$1dIps17K8q;Y}_$!2u}Qu%RN9f@A~~z2ckGdgT?Rkmpic@YR|*%SOkG(`y~W z#k0t)Ifbm{{Q2{lH=w|)hvM6y2x_1B2Jj*`r9#f;M|N)6ojiHc8h|~J-WOr;$mcn! zP#9a#t-3%U2;#Zf^L+pfup{w~RKd=`AKn5h1_+*^9@5W%5Gj5d45Lx=1Q{tbvZA+Y?>we~`FlVoV#kiEv zz4Ek9)Fqmd^6?)PCLUAx{;C#!K!CT$RbP-5#qs=M@9-$3A6crDuARw3=H7FLgOW}@*06td<2(=uNY&b@&c|aQwf4sd@MP@`obG> z*G{3kM+78U0C!%7GpDuA#LpCtKmBy?zuUQkkBGu34CAME{YAqtM2c1s5v`(Cw2Bxa zB3iYIR?#Y2rB>0ZRYXKY3^5Eb3~`CL>fN2iS;d{1&++_tH?x0Sb1&x~FV_kV-7RW2 z+MG?szIJ2@0OkHikM6bk37(YhSuQ}~p~sWb0~^1-0fas^Z(3V>&-g?K2tA&Zezx(b zw4ninK4pGV`oWs_VE~~QqtceN>x`iTgdR^ypJxmmAaqx2TiS8f7jXcgyRNpI_0t+a z=)%BzCj|a|5k5 z0SG;pLv1_j|8s!Q-I=x?&Qk$|p3arFX8`=JdjkOQLF$PQ=@M8{q*J6p8W*Vrl*;l#rHh zzjN-rbAQd5d7gRZ&U@b2=elad1oQ*|01#`aLk!T?{{M}KgFZbs)1hdC@2PI)0{~BY z|KAwyQ-1OQK%nQMto;1Bvxl#TkF$p-vxc%Vv!}O*qswat00>yhH*|s;?o-QMuAYOn z;IK3;4+APZW&?0Mj57HdHwd3h6Amg`q|)zstfGR=FkA@7N=Sgcr_$#oiX&LS-3ApW zM3lheMs7EPOI+tVE_cWOHP6fM)tu!wP2wW)h%(eg^u=IAmEb3j*CU4d2RF9)6~hVG zJOMJiCVP<2Ju3!q6(%do!-B-^0x$w*3Go1=PA*cAG3J5v0Gw@s0gJ>y`X)d5xE(MV-C%C@pesf544s^~{;leM&)v&MDd&kbTOBp9q@FQ)PcN5j_S_mKRm}Xh}HEdf=xhc2w z$-NRFIq%PeOIc#UDO>~WGY|HgYrMBu@@rzi=U4I=!O46TFYU1YYH^U6`XV(Zx%~kUb%o#oYnTgw4;JYG|C{o`!I@Obezt`w1iJT|t zjSXHw4`)X>KDN>@9)%5P365bKXUdv@N0S|O1?o}9CXZ)h{syPiXVFR)Qx`IbgEAYb zGo8wLV@kzXsJ11`3B786d{`wHbGQWxe5bLsUIT|Jk?(t3CF@ZnD82 zn><_vi7$@r4`#M`qNHxBZK}JVUct=BCi-{@UjiR1QoomjCAC89%d@t}*Zs7%!a^~o z>b$IT2 zyv#hqQQP_3ecK}24BMd77X9h3CG|rbU^*?>v9)fA+IGQSA2=2s5mrILF>qO^ITc4#}MmHNzHv|=w5IW4-%O=hCFf!#vaEDMOj}WA5 zrawz(;1+;ZR+Uw)RuLMV8I3{{D=iH}>r{5D$iFJe~+^~^DHcGmGXpZlZ&BDRJ&Ek!NRpFBQwLa zTD@AoTJ5k?yzZzxzpPWG-Rw4;L}^Hq!-7N2DRJUa{+{8Y;Yv9{Ikk?Q^hF(im1`+O zQ9H!H+r9iatDwsgR-o-sz8cuMcf%Mea1XtAyD7g=BQnKlB4Wcq5lzs_4v2Yq$TA5G zq5kMAzwA>~F11Ow$=rxcZk?7b`JwtjmGr&Kpv4y3mfN7)V97I_XP{?VItMz(IR-kd zWn5)4+A`Wh<74B+<8#?!xpG4D!h5-Ux%0VeE!O4%=Ddgs#8(H6#%=R5vtvYudz879 zS*fX!`O7BN+WcDfx%S%j^2g<^x~aO=1#?b)pZ_4fAu3zwKJP5xpz08Ah)^3RTN_63|wC&?xkM79tV zqg?$i`G&c(YECpxtv(TF@c3A*ccc87^8C3BgDbRw>G0PvvL_cyBn2GpI^$jbp>+eh}5PnP-bX}_n(^J+9cWT~a6|fUXHmRNe+*0aa zb!l@#BmY<4`{S1UmaN38@T!^Bm;|zAxMftY&!fO9YEAhq>x2D6(8DxP4r9k~!io)7 z3V(rldleJ{>P}FQMmhX#Ts%^GU)ZWdrIh%t_T5fTEy#KJS5htLaxZHldBTMx>Ur4D zxhY(mU7Ps6Fd~kqm?)EIg#=HyDgCrirkMZqva-(_&do`FRZz2{No z)Rp|?ywVwp+HhUTwBJf(+!fUC*-t6_*%Jr?dzpHjSOliUr{N3A7TiyCPu00~f>M4Z zcZdbD4TzNT?zBd7R3>$36Kk*JN*7S)ykT||mXq!jibzRL@&Z?ZbW#yc2Tr?=Z$@hz zq8k4VxW~5$JW0p>=Gv50^T>>k00A!h2{q@O=f-Vxaxii19*-T7%BU{j89y3p8bKvV zk?!o}v@ey_{jK(sjx&z?yQ_Q!FGw<~GIujc+=&;Lz7Ve&e>uANtAY~99Op!} zM{ zFw*(q_`~5=1QD@&-3qJt2YH`HoYA8c|pgT3xQ_?(9S+hXRGw3&$rTurasZOVp@AK31L&Ny5m#tC7h~PcD ziM3ax9w%*Nz8fZPsR4tx(}|E13A4YlXB=hU@Y zxV9b#bv6e(UhXp#NKCApcLx5Uewh1FASJibc^2exIdFNgM!gc|&2c|5+P>(|aa`M> z*I{+8c%-zbyb|+6;l;n@g_GsCuaN$QXVc4SmpD-olmC)05=oUGC1xj%MiWOL7D&oV zNo^{4-|yd*D^J=_J}aR4SNw0Zj)qzw?CQti{KRzDbW!GMW@@)vNa_6n@{q0`HP}1& zr0ZLNh>+#E@$FHM|FS>RNy!?i-gXG{Th0gP>xK)%sq))Yy42JMY^cs>($nNkU4NQUp4FVt3eJSB=XW=^vPty1o&7W^^bBA90BJJphK^jcgr`~FG{%1xCv>acwlxa}>qfFK@i zWG>bIr<(s0tbGpobitZz5T87ku3nkPl9HpIG*@_@OOZTfo;nBG42YDpr0}}ygcsMF zeCaA~jy53hVq{IQgXl*J5~Yq_hF*1%PM)o|@xNn62FR*Xs!W+jz!f1eGkWv&Rv&-0 z^x+5-_y79!+FOjC7#&BNW+`^$mLvd^0`aoYe$m}Qe*_;ia)W&a_;9* z#&0`ma&eZX%)hDyVdP_3s8uo`46G!*?siEb+;PSDl0@M>0R^~gmlV$Chuilg6!6dm z=GQ1)#j&xm!o}Cci?4Mn-YKbb32{K=s5e)HrVZt4X-Xs!U+uo8_6p`*`7;ht2)>Ev zWpWD9-N)B|@IK_p(d%bSL*Z_yB!g%5Yh~|?4UP;L-v*`rY`H7g zg>6g@IQ}YpB_*2ba1-~cIS!r3*yN<0iwl0OF^|5A{KuFr$qLM;ILP=;N%!A6*IkLz z&XF6QSs^h^eb9MeFim&I|ARqXr zyXRnUYhK;25*N2%AQ5icXV=(xeTiF=f!z^`i<#dxCHxq12W%gIP{pb>CM?&@@7>&F z`5)5iA84wlzZ}I3BAp865~KCmOo=-!N%M6%T5s;wN`hr#lWt@ssXsENrzs{*&*IMK)Q>$Xm!PguFUKK2b;mKGLyFn#_^k4o^! zsB&>;ge3nXB^Vk;_m=oK?H|yqwwCWaNRB8*`Ks$J+n;+&sJ*J~uThKnmB&Pn@jw1F z!CFTt%-)nRXuf1C{$!=?gAaHyo&;Mj-d@n`c+-tLQfO&uN%|d7W@KbcIg38$PM>OY zbLHKU2rZq!-D>zPON!1TH#c`-VF9_j`>bt+A16Y|HX}iqI5=Tpb@pkHr+fwE<C^tP+Dtw7NFW_h%)2cC|M<2%|7}c@H0% zz(*}9#X|olNU?oo@a9H(Zfuw!QRSH zsF2>p{$y`@pk;jcAfwdaPw3``QmuscE-y2pF(wx=s{Y}=^AsE+|NOv30k0ojo9N*F z_uAO_4$WtebrM9kn~iK1`P+JPSd%NAEejF}8@|C0*zjeXe>-(!hTwNR9kY>Da|_1l zZSX^T9vdT~rl$5h_|AovUx|6G@cT8=w4h~D%<036&j>{H&W=M(U7f9~D`Cm>&;FaZ zb|Wo%A|7@Ya*6QrNzRMgr(eQ^^Gkjo&RjIV3>TaZkxxX6*|<8Yw6s+8{Uol}-Paak zJ3l`vh5K^~bfDAwzUzUjZjX?`rP;gjMV>{J041|KW}-sj_dNwNIffyx6!r4kK=ZX> zm$JA~5Lzkm@$t^h<`u@(o{YF+Ao(Yp7heun!qs`Tt`B3rgvIRHj&*4eWXoXK(4tj* z5hNF`Uq6rTgo1<}g5Ph9B=Bl1>til1{FXZcDR_8z{&$((W@6OvV*I@fs>V)(>oJ+x zs6p2ajd`~<=5lS~wy5EN4_)3lpSnvR(m{ZTuy2Emfq}u)(sFQV$voxPiicpC(#Gd3 zBbG>Xb(p4}p4O)|j;VhrsjXC;(f@IGC+q0sgjTl=N<0MAMK|Czi!N7brkdJX_UZ5U zM0WI)2_0jYjxiOjT>TQe&{JKEM0-C<}*#&t=!B}5q;ag{2=y~LXLlCXb zkhSg;8|{eRd^hP6V$g(wy6+-UZaL=0>kcS4I}cd0!wvt>l=@-jkPT;aA4pt6BGq8{ zej7=OIgs~n$1^|~p80h8rf7v5mEx0NUK^dAo&8Cky);toJey{SUEBzropTF{mLx`l zHnVyExi&MA0|dH+DKDZk@1|(VgoZSGzloQy3F1MN9wdr~NrZ#-+TGpO$47)KW;tGC zP2c`v7m`JW`2s9^Q#j|5)m)3uT$6wvHqcXt1wSqbTh+XqI z0?xAixLAnV$ov~ovkvo5#?|apV|2x&YMOkXr4b0k)X|%bHuv3r(y5tv{u^X3U9Cc1 zRTA1Ex{7TZveM$z%)4o$K>_Y|Xa)3b2nrdQp*|`I*?1CHbM(g>QW?}5>(?5ir4A~E zC?Aqql+thgq3zr7v>g!>F^a);z!TM_2o*E}MS(&3G1V7mHnhEGvgpLlZ$rP<#S0QO zt;*R`h?8wzqhM*8?C3`vguR>AwmsKKhj5^9BwH zcR!2XM@n8^5)xiu;|XLF!B>e9CPl#onY@Q%!lxw>7{FueU}XExQ-k5LqNi_JS)7@j64O&&F{q30{W%lY zVJq!wPMz+z`$m_xWu)4eK}aSnqQ`+t1ZTz{rt~r>LyjlAjo=S! z0qV{=yCQ^UGLC8mH_4Qm`@D3rbVc>RmrtAov!uMb!GHN&)d(Zt%y4k-;Fi8RbWD40 z5|?H1bF?#?3T>U2jlQd#Uzdcd8mWpaFMiTR+LRfE%x-~3_)N0VvIe3 z)M`fEQ_XePYqi>X^;!;=+I&Rl@X~Zvm77nggxpCSHjE|NRTp)d0XCB{_siNH!L$I9 zyckQ!R3yeeOAv-8&cAi8wZV`86uC>2Nc#i=`i6LEq{3)X1lO1gbq-YNL9@o14Nt!@ z-cBoTgz6&_r=C+!=OX_utv+Bw%_^H++86DQoNZp`RyX^tnZ$mZF)u0mZn9g%mAxn} z?K2>Q>k8j)BpM1N2TF7QmTVN6sh?!=|5sgN{rCo|Mr)d~ETIeJWH z+yIaA{@`Bw?D>z80l}(=Co`#>bZMPxMz5;^;uryMr2mtoymJI=(iZ^?nDn%d3UbtV z=qWF&L}Jn-fbcitdh5~q5D!J|W($hVrS}F;@mVxa2J@6!n<)0Uh{cVh)=M6He)!SD z(SC%-=7xwQ`^wcn5Iwh+vv{i^X?FDKmN>dc--zUD4woNOU6*O41-uX<27gjb-aPBD zMKp30))(1>Vv$yqQ9Gx-L#4;yL3Kjb6&QWd@Lhcb<)PV-rr7k3G4UuLbhTWPi($2IQA;%l{acoeZ@i5SnCj5@Y~( zK<96?UMp`LhKX3sP84n4bG6un>|+UdS>>ojo)~L%Z^eCedA@{f@~eFSYGV&YE(x>F zAryVzQwR@h1~W;|_? z3kN{%*IB{9_GJnWi=;)B0l0oJr~2$e8B12+;|Z;H-Aq$*qPcJBATZ zSC%fM!_?j^_jGMMflJO@8r&gTeW9levitxicoumMzhXCzpXCTXEfl#FLBN+n2O?QhFB=UJ0g6q5oi)UOa z8~+|={fkhYUQ_yL4Z9AJc0;NK_pks>3=L*5y*`lqEC0=UCMGzW1EN=B)^3!0BaSAK zBh*pUkBs&f{rwwv?Z^O|F@Ml`c{o}?CZJ}XNsFho3e|3d_!v+o7Ytc<507JZF#b*^ zwP5sk`)0K9S;(Lz<5dx`_^q5Rcxq7S#@s4z_C}8MYK$WY%Ee9_jXwY#o7`|38) z`hYro@C&!%%@Y1ZnEQ7k*%@5voQtpLdpaK$3a~;pvFf$&LfZKUx_WtIe(i}^c8A@2 zQhIZgW-(Qz^{OA5z<;Kv%sq`no(WAsxdhuoJyw5Ox-US%H-YcZZKB9OCP~yKU zN$=*q$E67i>6C5B*F;76*CusJ4!Vfdr_5!ttb=*`rHB_?;QJ?+SZu_sZUt9|X}nU1 z@I!IW0a-AMTw+h0Ak(Fi%_l1F3dQ4X&eM5Qk^ck}!yJ~a#h%wxKnB5BaASQ!NMJ?zuVdWMr^+^@f@A5)hklil#; z)l8g5;oWQT0*E>2K>=tPw~d~!5KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000*SNkl_V@Y=W|8EwPqj$B9_tti33k4JgDY1QxR~83*Gwn7{zz zd30BIy>8WgpSyqDdu~^^XPW7ro}OW*j&!G5UDY++_fy~B>-^3+;>CYR659fRSV0&< z95Wm{Fv1A>E_5Aew&3&3r9Z8ZtkdP#bM8&8i zMyUv;A`%s+-%k`I2?^=zg^&mY2#J&iQksbDQ3@k{UP!VRUvwaz+r;Udz;RCD_LuR! z4(28CQPBXhn;ffnNRlc*C2IS;!Pp z!m>v)C{+r@8pYBW#nL#%;uwWuErT?Ik--sY(u08c>!!vZ|6|jZ$fxVrha>c`~~uC>F=C3sp=r zHETi|I}XO&DHwwwe6K~nw}jI@NvD0BPWv64&Ix+XX_DlOWrBt5dJT93cn3HMG=MhX zX0Iy&HDC&u1@;2_A-OsXoI_#Y9O^lzuxADE!`k#CYcn)|0coBH1KF7JF zt4?ksbDR6@LIbzopywpIgXv_Z3~40 zrBaDvv4~|^SeAuh7#N0u5P~F0P)ZTUF;Nr|MG-*|Fg6y3K@j{P2!bC(QS^szzRi3T zxi>2n-WrAOZNAs8`Cc2(ZQ}M<@Vz!cbr@4^>0_HR2Ul@qgJa?sZ=PJ%aqGy3WWl; zZDX1yhG8IO8X*nB2*VKH_wjun&+~9ymwvyG>$+TZm3z$dyl+HN^o@m|#UBrR=XRx{ zJEG7%82Aoh;1C2|!l1`UWf!V6k^2`Z%?qX$^FsNGz<22P7U{I!X1Vbyjl~6;%RgIV zMS#bE$Ln((9eko%tuiw+!_?FilarH-kB?KU)u>jhjEsy>EEaPhS{-`CaZDV?1VKO$ z1o*z6gXr~oIF5tkICQ&Ry4^00<1jhtKI{Abvp;$z{*y55-=&iH?l=zWVd$p$Pv{ay zJ|z`WDAusd64J0z-?Gh6%+)zaATNjs`(+^#2`={~`=}pM~UJrJ`aS2Sibp|EP$hIF4nPK|B0ygko-|zX&5Y zH&H7~ud;aRWtL9AJeW89E%0c4j&BeC_`ZGnn4h0#@7}%a-o2aY>1oEt$EjAUluD&v zP=eUR4H$%^{fXy!Ihavi_* z*~6|~yBHrI&(*M12y0SBA#xQNhC!iFpj<99Iy%b4#01mR({#ICn$0FFD=Rb_4VIUe zX}8a#b)>-g<|2Lj_K7Kt6oCn>$F`xf#`q5_FpqSg?GhBCt zcI$1HPXCybKmQ?})?4~jF9HwM=lG8P#(@I|xc1s>x%%p>nVXwqYHEsVwR%B8oDGil zL#Aow;dHfHrB)fJjm|dyBQxJr&KCo znr7~xcY5d#fDROF+oo77GBPqkrBb0$XE<5Ruw{KZqzavb|#^!?5)IxjJ#m6lmd zfix^cvh_S=OF$A5qSzDYJ+zfItZ?V;-S2<*FGDwug2?x~pG+&u zYs>jUnyHW3!rx_X$yCK5f$z|BPSb4sjKxzg59SzuJqTlVc9t7%xPilm4^yw#nVz0z zWMl-}ws*`tZPv$V=db-tp-`Y$EK(|!SYBS{GykUh!k;}6{kBq}83ess46lu07LZv% z5+RVn*a3xPej|)r-2O7H=9@H@7Fb?d81xxm(J=Px*~5oF{9&%U?mFh@=b45Vk5OkDUnjy~WS|n1e&O&ahLe`k7G{jwL{A@6y`kKx&#>dBV2mW4$ai$R2vMkEwGPPQbsi`R@ zCMFmi9p%^VDLyO^UyI{_D9q;lRhTzlY(^#LtPmB4gua8*JxROy=3wIYx4P>RK3p4nF_6&|>+_-!HNHxs2&g{XMdY;Bjx(&Z6d#qD;E6NWuKpYbhSn|lBI z-_L;q2bi6mrCP0CwlMUphhaqD5<=XXB&x2GIQ1V=Y?DHggha)wQ?Q*A zIGvOF*~j#JM!jBV|Ni~#-o2Yzt(He5m+KhxAKHBBQp*?aFFY@#@mNBVcUS_5?Es=n zB)-?7=PcrMPZ9)ONT*#N*ON;1dY!#{_cA#-nU~EkXCP;TQZARXAjW=N3gdNs4@H(A zit_@JsUr$qJa>hja~ikb(9eFaKF3kpw%NOPFLQHq%*@QZrxL#lk*DbS{x3af9~IL0 z-kOkCoSRHGR7kAC%v?3-_m=S77Np%FPv``2@7}%4&dyS+)hHASR}73ZMPIrYSt^x~ z(t1J&*}8Ssov%vt*TrIy zVzJ2Y{D;D`QkqW+A<@l`@*GqmH>_KQ9-i06^IC&FR8Ij+O-*stRadcV*Dgj!M=yIv zz8OHeE5RT#N>2YTQ;kaiS4ZQC}})6>k%%;b|ySE4#L8fm52 zd|C?QEiDWw-aP_7t3s5D(uU}uOW-?1skwTtKF6`Ku`wnmCz+a>8meQ1@s%$b$D|>i z6EahWOjoOIbgSgq{72e(*dy>A!my8uLx2~gl#Gv$GdVfQ*x1-*S035+tX}ehl&k94 z8jwWgo$6uOCyG4M3Og@WDivzATHe4`C=~KWwc$9!4VJv9AqWjbp52d}9Z2L8MQICV zrj7;RB@JYBbTps+8;*_YUc4j)3v$3*$;~Q+B*~T#r0e<8^j|Do^S(k@tya<3m6Da8 z&-l`VgoeR_A;FMoHGU(rWuC2|sN!@bQj(RBr8Hg}tl5;y<$TV0INntyujS!xvIQWi z4+*nn$mxnEA-3p@886QNJ(1*S-*^IINn7e25q4;xn$#dmbr1EOlosQl1SIG zEKJk9sLj#uQH8h}i`ACjO)Er*Od09U2#Jc0#3 ztkTd_Z5c>uFjL>iWXZFds%#?{X;?^UA*ERxX60K>3~R;!3~jzP1te95J#bl5gB^QH zseC7%;dmE?2&Qs{tcJ3isAY+CB~T8-EFh#gJGlIK2xLvtEH4{7U2&Sa?Vcu>NTNnl0w;>Ld?uuS!HZ{1k)-Wdh!{=(k4qQ zWC&&B@!h|~l9EG%{zIuvnygf2X1Z~tUBi5XOfF_YjGOTVS7yx%!Y4973$_ z{u;-dG+Bsr??TfkV3`_92`SAZNs_GDi)!dcHXcH7MEeevq%h(wDMT0;RuR)KV_73u zRvE*vZv@r=QA!Q(`o;>mQDl`x6{q{^E4A4?WFXSAG9O~w6-=}6u|NOca(-}wu%RD0 z`}jY9!@QJyOsgY|G9d9LYgudjNaolrdj!)e?GwVdSt*t8Lp6-HHq6j(7J_}LRY_rl zQ5I!w8c4PqfoT@=jfkyu-@#jfTp?i?4$aotZ{e+i)I>#5dgwtMZ=9*ijo&a!5X};H zp_-a4t9aX={JH$Nj&)ZnXZg64+?KFhSy& zN*rx$uFeg}pf9n@6be-=yMkdB?tbKt_^9?JLqC#^XMey)1>BuvVXo(|9wYT`>Nsa0 zYclujqyf_`)eXb`>|mle1Oig<*#zowoF0&)kC2L^vlkRM4@5&TEKIAEoib3tFbnrS z{NLq0Ixo4>&DQ_@d+rf}dzDH}lo!R&oC;wl=_y6>S!IHXl_rH&uG z#33QLPbrFFn3}1co0_aB+IS9RYYIWHlas5a%dTKrrJD?CeNLOMD>%&kT#|58l$~_f z>qEbvMpyAB^5$~}GDufQkwVEzDu!9O|Eqs!JfJJVSK9ddAMpTif0X%+ULTxZ3T89v z*t9~{hIRteOre-oNf?Ix;Ftf4yz@$P>_7ZR?gSo;V?+>u(@#(D?7L~mt2O~+(?F7S z_DjliPeRKqVVcExX;@$Q&EFNDxKd!e^fI3Sz7WUE``He zrU9k}hRH2b@>{?2dzUYiAHBkjz;7wVEkTe*Q=M*l_1#rRz7^xWB_PRqC~1^|VSs6Z zVem;I`SO4I11>xB^^ZT{6Tp{a#V56yYIoAh>19b^%+_d}mqN0Cl4Mnyg4LC#hU6AQ z^40(RU%B&gf${PJcLHCHGi5kEXm!%7+skr}%x`Qpv^lRfcHM!eviV|_0g{;sGYpOh z$wR;Qbsl)H!}#$}c_2x6D2h4a`)MTA>ZHeSce`5)anCf)`#_fjK!K7Vvc-%tNl|CJ z7R(F5??3z~2Mx(1pa0d>16|%DAPxbaQ;Pe;2;q4H%4n~3;_5tMoVP;OC`DyGM^RSy z&strwU2ueyd|n8?{@=dIJ?|A5ue{1Vz}MrL&j%r**H1w#H({j-?Jl_P_QBW|g{)Uf z3=pj;DdcVVLUNN39C`HH{BtS!*027`+C#xEAys@-2tKP6_eL?rAV{O9u9G?NF7$d? zuCWbf>Vg1S43TO+gD{Ob6=z<)*ngAken^Xfp)Ic(so3n(2 zz`qxQ`yPLSCk@F{Qu6dKf9lLfuWn;LF)su+1Ggp#w<$$U_f2_zssg8%fyfGldKy-# z?FVr|fvl-}DTtE+rysBOx7x{?T2C!A7k2?~{ja~`Im6%uA$Ul4UaEg6(3y9u@pu?3a| zR`!<~un*WL1izB)=)LgNGb~8SYeMiwws*)$DQO5nTMFDPcqj=$O$erhU{(nB3fM0M zS0gy25)PqO)fz>s4QyH!{eD^sakI&#FuE|l;-Udrua-zR9mnY(8-@_rU|Xw~X=Yaj z&@ecZ7#uQ^vyW->6ODVRyY4LjJ5k0>d;#IrS%|`%9J?(A_%gM5Zx6LfFGtl zB33&O;-Uaq4~7IHolIukeWsCtu)xk9t#wecTG?ujBi6#uN>OSp_`GQ?1ESkIqj|C`>=~UbZW=T(_&|ps5;sBOP8R18@@ci(&VrIN5CKp3@*mLp-P3#Y<0K z8;%P+(nE4i(C;nbdo9AShuO|%x%$23^aP#u@ga~M8ot+|+c}QYIf?5o<9i*d{lC>0Lx*2VH6 sOQ&Dq)QOi^S$b6;XEYoaas2-Q0Er)y#O7MR#Q*>R07*qoM6N<$f;Ogv&;S4c literal 0 HcmV?d00001 diff --git a/python_games/4row_computerwinner.png b/python_games/4row_computerwinner.png new file mode 100644 index 0000000000000000000000000000000000000000..805581a193791e0927426c59e8f1365c2953baf4 GIT binary patch literal 18933 zcmZ@?$);5ernscv0K~L*0%lj`~LsSoJsDv=jKc%ljJ`4 z$s|HaK@tHL7Zv~jAV^DzsQ>^VUf*&xH28P^Mu`RaUBLX7(sBX-;L!fNK>!(9*Z=?+ zwxy`3l9GkJv%Qmr{cj>^QBk7bj`n7jHl_f8`Q zoZ>#;oPd~s^nm{oF>`xcA2U&3*ncvkAY(EJ1``XDcjr*wNMB#yZ>{Co!O`RZw!RD< zCAGib3jctBKUCz+T;H{K;K0B{Jw2p_VZgwQ;laRyq*Pr0Uk3S4c9n`}{nmfmpeagQ ziGSOG1v&W&n<|@mN<;+a7Z(=?8q4^qREYdGb&$5Qs}D5SbM#df_Ek2Lwu1dOUOZ+#|y48|;A7do* z?aBOs*}$J|ZP@KXo5dbaK0*-U&mhBSU07W$creE6~d_ z%0AV2%eIP9D$0vqgwOmR$+FdSY59e_HC`p*F|n6$2eH>PMlxA4d)PV+dghHH4!|pU z&U7-l)`fUAysV*&CGjcQ&B?JKG(0#V+)R;N6m=QV?0*otZ5#B0f4%#^_C*NG2Dydk z!294#p%Y_SVql=?qOh{MDsBXUw}@>P)$NBSv6pksbFkA*%#SzZIi8OZ3Ne-H`Nz>Iy9PV>%T6=GNl_S zzp`-!FRtNZ(mxt|rlr%oJbPXOi=)IaTNz$j=$u}`Z8POK>{qQC zY~K(ov)|l0FS$DzZN7qnxWjx2ECnfiy$7YwRF9^}az9*r=fp2$C2Ps_KHPk!@_W11@ZW-58zU7+sAbWURyL|q7al;Z|^I`dTKRpY)+7X2C&3>JKoxb_<10Vp9 z*j`g^biXGKk+GDDJOJQH4gmNE0RS&w-{lDa;KBp|oEiWCJZS&`mOW5^Pyzsu(2y1r zR&!rF&vwhgbNTqnZTz@=lwoM^+z1HOdJ^623*raEB_-y4a zchX|^Jm2~z`uo9n-xyv+F$$df+zf_wGxj{!Jq=tu0O9g}-v1 zZ}m}wd|#z{H0m_4$K4A)eXbAqRy0%#6# znqt^{pw`4R?>+PO{jz_Xsv{_EVIGM~UJa@BB@%+uPvz@2Tvur2ZqO#YaZFVPljvV| z!@@r7dY*<-m8sazA1@8J|Gk~~;1tjCc{2zbVDA|;_&s>zG_!bcNlwhvvrHJ*HADEjp`B_6rBR&9Dek{l7k zUFI0m)Y^Qyc-^4rON5A77BtQU$c)0kzV#A{s@++Ax%`@BdwY6_JNHGv#5|mHdJGq`@^r*M);`v0ibg6Z*Nw~qM&gbAZm%*1~=e&MO;jNDuY7(E5a(%0D_k2B9 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 mA{uPD{k1;eutTd~V)g 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 literal 0 HcmV?d00001 diff --git a/python_games/4row_red.png b/python_games/4row_red.png new file mode 100644 index 0000000000000000000000000000000000000000..ff670a8bcfd58aba6877cabfa0c01c2a6994553d GIT binary patch literal 8562 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%0A_WfW*+YUZ*lPMq_rCq2R!)Q&S#B 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 Vn2!K|-o6X~igIeQ_0ksM{{t^x1uFmm literal 0 HcmV?d00001 diff --git a/python_games/Grass_Block.png b/python_games/Grass_Block.png new file mode 100644 index 0000000000000000000000000000000000000000..cb932bfc4d610415ee18a47382a257480bdba57d GIT binary patch literal 8244 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 literal 0 HcmV?d00001 diff --git a/python_games/Plain_Block.png b/python_games/Plain_Block.png new file mode 100644 index 0000000000000000000000000000000000000000..283c90a317cfff819a5ce2b8eff212dfb4e70e58 GIT binary patch literal 3433 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 LNkvXXu0mjfXmwE= literal 0 HcmV?d00001 diff --git a/python_games/RedSelector.png b/python_games/RedSelector.png new file mode 100644 index 0000000000000000000000000000000000000000..ceea730e4d903a3aa291716dd202f385cbfecb3d GIT binary patch literal 10418 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�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 G(EkB=v>g%v literal 0 HcmV?d00001 diff --git a/python_games/Selector.png b/python_games/Selector.png new file mode 100644 index 0000000000000000000000000000000000000000..804812667677ebe2b18e191fefbb035b4a2e14de GIT binary patch literal 10243 zcmYjWWl&tr5?yrB#UZ#m!6l2ky9Br34vRx@cUT}eB)B_^OCZ6W;IM>X0Rkkr^Z5R~ zA3c5VRM$DDPtC2mH65p^u7Hg}h5-Nou$2^LwO=#uYv`e&zOIri(P&F2gc7DPvC*RAD#y}(StZi?iYF(BOg{QK7AZM7G?7S)11lb51-MIF zoE%XS8$bTA9a!SD)N`{x_1v~Beo%W+&@uxYK*Rc^$fqR`id7{|h4(XJjN1fE)<0 z7^SE814QNk2<6Z9MgOta;~ucRI+fEb+Q|Tx3o}N0>jBi)=cHnpRw7|16tqON%$4LE z^v@yX4dci8c`*q9d`=^J?e^lyZyHoTJuR3F1DU@)>PLN{`|x4sd2go1T@nD;_6nYR z=HO}}3l%{Pb$KpkJVmxQ!~E=hlVID7BiRP{e7L56;r^dDa$izAS6BCTcUP3ZNgG>^ z>jypC4Vn+=KRMq8i$305{p|b25XNg7rht6=b8zxfwTxm0iXQo4V?RaVu^sc}k#d3V zo6?6)12)1PEqsq;+1$hn-ZHv4X(;P=#`zcPUt1gxNa9-pfJR4ggut}7m8Mom*DB1o z23`ZdZUBJuZnv*LSkRC{?IX5ld|%Eao)kVa0zz$-pdJ8#nJfdR?s$vD2pRw&`#FrQ zQHuQX>l=;%REn=C8(%RWEd(Q_8NLll<4R*#hf+W+SZl+jS)!*JDcLNzen?XC4`|s( zr@MnV2lYBYV(vKimS}}vS$e|Ik)=k_2rOyWVi7*X8_*}Ck>o_((tcG$#!q0N8H**< zqEkr|P~_2$*QL=@q&ydcAcA8|CzVqJDMnBB-W0FH17@YjUB1)n}%%Fa?*ta(h*&5A)e#xgB+Y3 zH$4M37~4mpv~i3~i{5WWxuxp~d!vwxD zHBGI4^kM7HexmG75UZ~G0+!)Z=F@M{zR0kZ0PbXa+~#|!qaUzTWL*Tu!wJt=f3cF6 z^Q(69*qAs~f6Dq~P@`C*Rikj+D_DP0QBdA1*KPO^29g?4W;S6~uuGXnDLBws)!D4T zs32Ao6TYhFtad6R|I#h%+wWR&nqAmu7Fww4Rsr|#J-DX`;(F43a=EX#Qou4mZNXwd zUB{Y!Bl=yy!%dWuYh?YOmW=6;q)eG*re)T4WLoE(Xvv~{k~~hL!?4K?!;Z_a%Ww%3 zDibY}irSIdX|A?fXE|%Rh^mO{$kgOi@zhd|K%N-SGVej&LEduSR=b6fpAiSF64qg( z)Vym{Zg>joag8zp8(;E_K&+SKw82s;8^h6fW5fHU5K*!K&Ix8~0XF z*Xv;}upmpj4mP`o!i}g#u z%N(F0lo7!WDK1PZ%oy?EHsB*|f3k$|y3KX->WNh1=T0disg&@#@V&2fwDzNaQtN1M z4zj1yrX4_0n!&%9W`UObmI*__SjukaEzDj%!YEE_Ox6 zgpEr5T#-#J0Qx7bN5G%qJ6{>cUS}k8Rcenaw(4e{a3OK74~+}2m~byo1T-zxL%Nz) zEgfceWVdhYGf`_3)%^V3HKCo0Dib*7)RJ0@V)zyVCSCqp*NA1A4cKgFqi@?k6*mt4 zR8z=4bu!s9zMd+Se^&Hzf=2=_N54m{743+J zvAHa2)ST#N)d%-71*kcNnSC7(|JsJ&bd0Hou@@C|ys>;@s$sxoxYcHPA6-B$P81hk zPq)KMUlFy}H(lz4gBJ zuPb;uzu9KFeCs-QN*>sA&Hra{ z-MHuGNqnqtT@OJ|ZP9ko=0WM9u}C>D zrmLN@#D1&*8lmocE;#dji!F$)my|#Ji{4$aq2t`=xqzMy*VT=6q??=?DhXg{IaxI2o~Gyy$Eo-`F?Y?MZ6gdVSbvP z=w9_@KCSD~=rO;PJds+J*^F6~Fn-=xIok+v9Ps^oF}I;`gBlev^PF~-f+K^Hl9MtK zjU9bl_)Z)Q{v`oDkOO>ex9f&A?6CcT|8c%p39#5l69Vy-tY3U?CEIW zn6zPicyO4iZ_JO6$L#X`!^v0Q4PVN$k}VvK-H$XOEHCzVO;FF=XNZA*U zR(x;QU;j60tQ57?0Du5S03b910JwX3&4&PhH#Y!qWB~vOX9EBvZcy{@@&EuOr;@Cc zuHV|9JUe%j<;>6PY$NQ$_sH0X3fvv-?;=KY@2&j1D;on}Ri#rI>zkN*~r zyRP8iE&ZqJm$vv=-4}_^0l4QhyDwU!?R|G1icaoU700MuA?Y6+iIb}((WA|tpH5y~ zcOm)fFTZ3KHG<{!o+7xOSG(DRZ_8rL{O%KQ>RyIr*fOVXPf|wCdj7>dlQ%qF{Vn?5 z+E3N@Z=4y`wded_+O}9xCjRyaZQ#Ct@k9ts7kB#aKNL~aMZjOT9|=cDLf?s- zg27q82c3&27Q(!H85m16l9Eqf1_zQHLIk{a_B2$ddqYy1))$`dl_zFil)aA!8(#AG zg&(&6%qGV0g%G=ma$ry2=9x%8=uH-cpzhU^5PJL}it<(0U)eSs08OFHrNtCmA;b@1 zN_lYr;5^iRBcf5%g>`?Yg$RQ$1ttrE@jOXFKuRO@^FKFY_+%PhTx{+4gTU4?wy(%D z0e*k3Tl=*(JFnOKr^?}vUQFW0IyWpq?PX zc$hy89j27*Cjbr?3Z5YJT-5fEO&G{EiB~RW>2JwkroRu{R6it)`r5rSWwId=9 zma^P-z`&eBB_2njGQbjT#L5m~bboRD`7EGQi->0c5^Y5GcSmUaOA!@Q!Orpcfs;Id zGYebd`^ZIqE@kdNi5IM*nex-g`&P$a`^QDU2rl{ttUM(`LMHD-sRJ)OA;p(@orw<$ z%CNmG47aD=K_fdvrzx3JW30(;#B5*e#!v03fr2zQ&XRM@2(lB#qrFaH5AW$NIOX77 zfb0<1ps~45_L)E9@m*X#ulTT4!YjO6@M+)2;e%jW5#a~E>Tk1&{RjVg8k*z$&HE(w zACZa-o&^}o{OPiqo^;c4gON5ax&}orBq3b#OFf9$fp7orV-MsC(mSoi_c*XOme&oC zwFBJXXg&UvfA{r9MODH&NmwTNbSzJ|SPc)jGFlH=(^l@$^87BSPbZkg&)8R+z(qP` zs1+|uJh?{Pj=~Atc{E6sQxC`?9u0y?^{}e!1c&l8nUb9Fq@QR-%Fj z$FC8b|ExrocfqJ9D0qC4YVuc&G3{pbsp)5$iQ^1Gr`O3$M(uMuMvE%YwkTz?iGtz5 z=;w9PfQuV_%L(#W7ckqKnpZ^}ax88E>m8`=4qb&Iw7ALJn#WA`;b#Y>(XHBsTR-+f z9d6|~^)54@29IitJZEt6u^zYBfBxorN+oW==-U2UdQktZKB0@gItG#ueWjB?BPIQ3 z<+RoYmdSVI3={Yn98Rf*f`Arh6k9m@WGhZb6>g`41VjgqcLBko{ApnFZeX%I%n(M~ z?u=+_h&kD8lBRkQdRW1lvql0rEVj$o9aqTQ-EiAnV9mTS1@qh-v$0<9XVDhiu#}$n z1-k7AD=2XUsw(Zh$SUcJ;TT@=r($`gh1+~tS6*b$nzxyYH-&9<+!ba*5B7b9kM~tU~%Pgy;0R;DPC6;+l{!% zR2=9wKsg#eyFxtt5NoC~SEMz*{GvApK>RiT^?)xzOkKTjj| zLEwA!!vJTa5i#4R5L#DIZmk?rpyKx6%h>ieFtsp*tKn=9`X49LelYg@ML*8r-Bveq z)!mkkHhBovE2#|ZNFeoxr{w%wg>v(h$ws1_U=r>i1YT1fZWplPnxl2D@NRBE2LBa} zgQMj9`|whBg!1(i)plS`Fgfp&e5zNC)cmA=bK3%s&N(?_@6)OYWc!A;z!#?hMPnD= zv;WJlCZQK0TjEE+{6$fR5N4s~d|q&|HRutwSuaF#DHW*NjgjL@&%G&V(Ixhd)c{e| zI1XA)%+N-bV}t}XLQ*xwQPsg#HAYo6MmFik$qokcZZf5MIi)!ehw1VmH8XOt9TrIF zXsZ-Pdck*Y{s!=7O+I{zA0d9EFV7OgJ}i^yU>>uP(A9Q(F;Sxas5GWKBdOHut}WS) zlI_aOZ7QzV^})IelFBbI%I|35NXgrVkh2C*t&>yI!BI6vhn~`K2hnnGx>|R&haE1J zlp0oBJ8kLCmo>1AiS=v0o|ouLDD&C&l`dz~tq5D1!5v!pvUtRyfJ7fjs>#Eda==!I zWce?>(WM!wa&uIuB|Z0$kHv8BKq4@ebRzZe)xD}PhpPd8TWc~*-Xs);I=mcpBvo_F zNzJfHgT%>foXHLXh9TS3%Nj}T11Z=&j&i_@8+Y%ap=!hPoLEnAF~fU_YW%UJt?0{r zbLoJK8S#8IiHOUkgACOL+kl_FmUs@E7QADSaiVKO|5S!_#*P}3uXVAShvsgo~KjRi^CE}|3}xS zc=#zLx$EVhEsqOFhpz>F)y-jf0^Tz1j^0C0ZToW~-q%fG_rog|K@+#`rZnQ(BuZGz zZOrmc!ua%UG5GY}b8*{i7S4^+B;>VDRFsvT$s1KISex~WIGfdaTZc9EJwa`c15@x~ zQ~mB6=f01@J4a)^)PH^i`nZ^VbbmODB?&fPTyEKBPP!Jt8cE@FJnd~Af3P&^Y#sLP z_0?%STTA|ZLLP{-)!FuPs~Iv@l_tVyS`uM%FdRMJZ8b!c#T3mRutQIzzf(fAoZb{q zUS(io&ij5f>rGt;9(7%ZAdiWM&Bu;nW=n~{;UqzmLy6>}c z;3t3WOA@8ID^2xf74W9O_+hRCvPVnJ&kPr>i?WH#BcWf?)ZDDN{cYk4Qy%{yEB_I`D?6{;L;X=vOS zzt!jLrR)gy*JwR6vQ&7P`n7}9uB?H5omE6iRryXxRC85KP}iGP&}30W+$2aq+$czl z=ly0@;^Kztw`#ZHk!m;9L|yX)Z2g;LY`v>QkgiY4M%6o^ALeiYznVW@FH;d`8$Esf z7x$UHF8YD6n1C*!TTXb}%d3R9y(C-bqa0h&kT4?Iu*}MpQ}3Ck>L1<>)p6tbG}r5j zV2dQ|v%jdlDo(B@o85o!%S(8-5Q)i_;=O-VZUZ4s7zLzmF7vm-j25 z;k@FdzUo-VxjXa$<{wl^REJw#spLsD zQIgM+ze4a2wF@jp1Yv)FTCTp?=+cJm1mk&S%Dv*FsvIZu7opi;6dwXp(ke00yPGa69yqt*5%rA6Hn~1 zQ{M4T9L?$8yxn~@hVJ*N&NK9eH^O^IFC9f*Twc8`{>!5SK3uGFKCdcd%j(~26q=S* z<(1P`J0olD(v+=;3%1s@9e?|TR9b0{TIF-U$+CK%Lqkd&Zf%Y|*@@z}U}m8P3=`0! zbE}qtSE8Kq()$Xhu5OOH)O~ZY+}-!t{lo$>26S#lOdd*~HUoSQ!-NC?Zqh^=Kq5c`3d z6-a3%)BR-13?tT2zo>@R<^2;cjb0s4#gu~7BJKx-#M;-(&6OhTzbXNzf^*Z>jna&V zMmZ=)-@1&t1n*uGTdOn2$@BdkmWXcL*Z!$PJJ|_hnBX0CJlNEY#eP zJkMmdS*1>^Xt%W{R^>5Ozy$+&lng=w>F#%0@90KPV$#-=Y1_S_?($0fFgEDK1k{J? z+*Sl51-(N7v!@IcSwYbeDA7DzH|nAic6dP7KY@U~(53FoPC>r5uB^E)+xbIIcXRiK z6H>{4bZAs;B($$gjy_@1G}rs}!pVf_9AgHR#!>LT`}x0LcK7vqQhzJGY8A8(U= zWG&xPvb4)fwMI+cKCu8dXdXdP?MGqVn4vkubjwo#%Mr7W0n1|r4?vjve4D`h|+?mdLU~#sVTD$aT4|kHdK2Fxwti_ za-87rTaT(%Y`#m`HnY@;TqRbw_@vz!F0T_#X6_lu`l1*U36f6ButD;Kux=+wzr_LL zq}Q(VF=)ZKipe6=N)GgRD{+wb#rc_#Nm)@V8n6=$p>1(~6pJ0>q#>)gZT6^*v9MAr zoCx0@;Z=~6K*ZleBDik+26xE3ltjv`=*32r>36H4JE`z<+gAZ`)nZ?l$~ZIC#dI`E zuPy86)if7H#k(Y4uk9Mb2gETu{ly`kRPGmaa{QTqn;(cbj-d}z@o4X~kc~8vkr;px zaURS5tS)rge`x?5C6MWG<*3k#(E_B9$-;oO z1IAbJ?pgHh9MZ1SGOmRh_C-O@mvHEcy=83Ucv7dbkd~>+O8;Ql{NfBRZk2JGet=>< zL<8$A#mje3Kkb(vL5>YA?*yXt663&T*?{p8A-o!eikn^ZCnDZuF&e5CCW+!gIQ4nv0Tpjhd-*Jfde_M)v@_z208;@W_@d_UI|Q%AU4rp3kF#JK&$Qlt7ph zCuIG@E=+FpWJ1z!T=RM<;_tB}@>?3|Bo=8i!ml)AUo;(i{`F+=60lBJrB=Q1AoamY9z$(o;0yfF%72+a}V3ortn3C}`$L zv7uD5qtSF5k&u-b$U7`L3M$gpOUyArqF)`DB44tlVFde3GXy*>47_~=8JOOm(b`HV zl0Tz8Xo0$=A}MLYnQ-CC_|rr>AeFe>17Bat%Ix1uhxvIC)XqNH?#;@ZVwE3q{q zJeJakB$m@kEL&6E4Qt(&=?C$R3%9Y}vfE!@{lMuZp<|LE#N&_n`@Yz{E*D}T|J!VK zQ%@HhTtlOLh(XOX5yY^3OaGQVSMPo;hiQB4| zO&p&BZqVe!N5ONI!2^Ac_0xzYR>D*`zOUKa$aT2(Jb&KC9QYJPwL>NrLSDc~-*1 zV`O{64#yGA=o7u0Q9_Rc_Iddg&Br#D2XB_g075+GSiu{MqQd~6#zK~Q=KNU#)i-Fr z(k(U=v$^q^&ggj1za=4iAZcw#5-#iffpJdFhpCUt$*|Cg<8I4mJO$wP8SSbaS5PeB zw{rCV(9;$Q_86h1V8N0MkqRA-AJiJbPZ`$~-;|C!ujF;7iItHH`&Vch!&St!h=2b+ z)V%>|+YEEC1tGE@WYbS&(+}Ef6dR%I`)a)JL?7h%iE18-zf8cWChNdwIj)+`s|F30 z$Pm zf+*N9*pPtX{AT!Zf}B^Ci9~!H8MTSOEId-9aZrEt1`0Qruq@!g>KRrqh{p=O83F~v z(SAgrkx3$7(S#F^x3w`a8{usAxSn+SPi-uR4B;kR9UBJx2vr_ey@c0T2jh$z#f~Ip zyb)xfe~P{=5MTIPN4`W}A~SU$C5!WAgBSttDjbcB*%#$V>DoCT;+N3qeYJOCbM?;5Z-V6RgIQc@oFFV>9K>A3As zLZLa$ewz>010I21mH+NY-#+@ zm*XP~2*;G^k;=V3)>d&*-k4Y(F1bdBf$>1;V988nrwQ8N`CDAQYeAj=C^Qxr(SkF0ua3-rZ(*yE%_SK6VA-veoqr#=&LM`mU#!L5na zF5lPe_N{xBQ((tj4#sLa63nlRW4Z@X_4`y!E5BKdq-&&c=Xs)CkVMl=;0FG-t{IH|mUjwC4h)wf7w;;8j z2oYGFnq|;eXeQ?mn6wh?+8_Vmc=*vm&A$*OstfK6oR6SszB>9Ip!4{Cj7RwgZ0MCn z2|Gr_X!${J|Nahye_z6_<%>pebrSd7Odu3M_9xQCEgkKoD?yA!!Aa9~p?IVG4)+I( z0=Z^#wN|pDJdoT}d)#f%Bro8+wvK8K7CrXxyo>dAe2xtNi`bdx0Ia>?s&eYzy3GiW zRtOr?5eRR=%LiHTUhh*h3J7{N!eX{8HFhsk^&cCj6GdsO8;}al_Z>dwWPf97cQbTa zW#@y0b8>f4805AL_nlF6*b1&wa8kO;>XjM02gNUY<1SDgVmV_}avVjekCP@_6+d&A zkqJY6$2H);7vG_;`G%vNJ+Mg4_FdfD)V=ku_=Q|X2Kujx=VWgB=YHsTvFR=YcW(r% zH?s|Yj7~&m#eKcKDe_6TRwSmlGH&Zx-&{=#Gq6ToTYe$#wP@_#s$jcLDpRg|MajZH zMte?<1izc2PMg6c+LA)>4KI3Y<{6VO}6_%$j^b|Gg++OEon0>P$o~e9Q z1q|u-`)?d6H5!o$q{We@iWEij|Njl~+{Y~hK%6WqjlAZcfY&K2KuJzrwqDvI{C}@B BjSc_+ literal 0 HcmV?d00001 diff --git a/python_games/Star.png b/python_games/Star.png new file mode 100644 index 0000000000000000000000000000000000000000..949e08410163b5484489da396b9f536a3f9960d9 GIT binary patch literal 9824 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 DQ~||~ literal 0 HcmV?d00001 diff --git a/python_games/Tree_Short.png b/python_games/Tree_Short.png new file mode 100644 index 0000000000000000000000000000000000000000..489794087b6da5d66ad8d698ca9feea29b1c061d GIT binary patch literal 9771 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 literal 0 HcmV?d00001 diff --git a/python_games/Tree_Tall.png b/python_games/Tree_Tall.png new file mode 100644 index 0000000000000000000000000000000000000000..5fed8b6b081c9c474358c011d579dc9537e031bd GIT binary patch literal 11546 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 M07*qoM6N<$f{yA?PXGV_ literal 0 HcmV?d00001 diff --git a/python_games/Tree_Ugly.png b/python_games/Tree_Ugly.png new file mode 100644 index 0000000000000000000000000000000000000000..0cb14676476b53d3d71f89beb4078f2c90e5320e GIT binary patch literal 10378 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 literal 0 HcmV?d00001 diff --git a/python_games/Wall_Block_Tall.png b/python_games/Wall_Block_Tall.png new file mode 100644 index 0000000000000000000000000000000000000000..7fb91b762068c647b6cbac7017b8879736f1843a GIT binary patch literal 8443 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 literal 0 HcmV?d00001 diff --git a/python_games/badswap.wav b/python_games/badswap.wav new file mode 100644 index 0000000000000000000000000000000000000000..39c6f46ca849e8d671d4dcb492870723e1fa479d GIT binary patch literal 36908 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 literal 0 HcmV?d00001 diff --git a/python_games/beep1.ogg b/python_games/beep1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..aaa1236b9b75336c1bfcddc1249c2fb2d3599e57 GIT binary patch literal 39782 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 Pd7x&b-#pWx-39;y6fkd` literal 0 HcmV?d00001 diff --git a/python_games/beep2.ogg b/python_games/beep2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..61af43371013991f5784763dbd0f29a836366307 GIT binary patch literal 39284 zcmeFYbyQVf`!BjS4U!5-i6BS`N=xbnB&9=Ix{+=KHb|E=Y`Qy?QbIyRx=TP%kXC7= z;m(cU_x-)+ch5NIj&a8Q@2s)*8f(ot*P3%a`FWl>w~~d08iWS@a}eGAd!s@uFax87 zx!F4zTREeO&>(l%Rn^7i zzLJv#ovoGev#amZ$gPFh@IO z3tA}(6wzUat9%#4{dmA+VpmvOXk$0XdKZU48xu8AxD0&|sVeGX97-Qd0WKjlPTllH z=}vfT#n}OP+}(7q^e%O*}KH{D7tZ(s@vDHT|Cp z?$tc#z*xkwC{2mQaZsNRWi3o`0-yRjEjkDRrU^;MlFGg%?R!fzFv6&`%dT>RZ-hru zOonI+GW*}3aLaBs2o7l3>(^}wN?cvmw z;s#Q17nYF5T-Tuf_j~_{MalE@!FIs~@J857noR?)KDawJP2U{AMV0+`@qq)r8GWJn zoDo3h6OCm|N?%AHPwVoUFg}~Bn>C*{Dq2de->6 zi&DaiLc>=>qgld|tin=D8**)XD}OfrZ_j^gj?tz zJ4ewGKu{OSoBzoG2x^PLe|lv{R8%=8RQV=UIW*Ko|JND=YA1LV#&`i?6CsEaf|l|N z$Gr%z8^;KSiCN;vexm8r6IxHt(~As=VUUvjO|RBZj8T^|EE_~RzNlk;%UL}ls=`!8 zjHCXuD*bXXHZXfQP!1(T*af3eK&N?%4m1yS$c{k@q_BY-fBgy6Ho^n1O^wP#73Fif#>y0T>kW10F{wyUmL*(cTvEppw7wU5i|VC>49`U)lj2 z>@Kedtq4&eZVWF`Cic)PtA8Uwh|UvKWP-*rsEXD0f5|l%$hQ2ALfnx+Yc!FuK&y|u zMy3Dr!66_B0mFt6(2ZXBzsHm(a~*;N;!L#xzL1GCgFy&0?M!S4iZk=1{hxp4|9k0w z>kx)ufuN9FEpi8%KD1~PZFn5}HA8Jk0o{WNP6|UcMnjE`n)fa_HVd!mU5FSH`tCs5 zH_EHBB#=~KmD}ye{&eg~tQi17VRv}JElK98XCdy;9+)>vc&-&1a4&%Dm?*OITgtH$ zDqD8TL3E5z+k!ySvS%(!IKWS(y^idCdrwqI71T8JlYeL>t%l{Yq!yMo-Ul5GUAZU# z?krRPUCgUM3al`&#`-r?SHe(VC@rnL23n5sDu9+#n7Njzg(aoHlfbVUPPppd3`Lcd z0`G!`YNVk*m1u^r0`E0evZJg2eWuJVE!}9Wyw?W-05zRxrj7L-^;FFcLEqb85M3LN zP)~6+4zj;jFQox<+xVTov+guPyl#S zLTZA-I0g0lmZXXd{X>1v%ztR?qz|}(BGlbJ6puvqW_eu(JYGiKO5Ts-CfNn-=o|&`!xtsa)2PVH%6|3@wso? zfTKf0`O82q99Dq2u;}xN#bsE7V*W?*hatc_2;zSt6#ht~f9@Rd{xfR%ulVKv&$}-= zHWhWxAd0~tbhvh46i+#023a)LO{(ha5DqTjx>zXJ8e>A7oE({Wq#(=P#3Y^Y3h_`b zoPzvu9a}E)Awle%`~;nF*7`-jAW#OTqN8_>z92y-f}@@y&6XZ;%?6a2@W|DHGB6bz zcDV*n_O_G4CQ6beO&3*bQ^Ci&?ELiYgpNsh9aCOp9IC9mZt_loD)(nnHE@?2$oct@ z!layQRVV)X$0J%b4$#;J$O40DRLN%@AUL>Ykx?8I3C@F<5L{FMg5RYOW2V#~H_F4k zNsG8*Oaq7^f#`ikNf=75RP!mEftb++q9U<;oT~~k051X0C{6xVkrNoF+6&%5Re`w2eO->3f>C>ef-7FfFO9FkE;qf5VDer zRf$#rQ0XhPo`TGXAK|%0DR9n=|)wKk52Oj@k|5g-$jzHnxB2-7< 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 Vv(I&B?q}$-EcX;{eiRJAv;hGiTb2L- literal 0 HcmV?d00001 diff --git a/python_games/beep3.ogg b/python_games/beep3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8b89a8a14dd646aef44d4b9f6eff79cd872edf56 GIT binary patch literal 38581 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�jgY!Q)#5Z1XrK~$-k+B%z1un7Pl0Dgn2Z3?)5KRan@{m&VIeTRa9 zomW)m&TTOja0UR1TJW$i>s1jk2`Q+oyn>>#ikb#E00R3BUAjm63`!Czf^py`1Gx=>f6_*Z`GysoUcptHdcOJ159K; zM)5jPpDmAEj?u@yd&E4D@OVnV1TWF+#`ya{GvVdwTE>mp?LVaAR;f4;OKNS=zy#Kx_xH==??i;D8e(;;`6Femi+wOZB=%&8OFS!lYCO|SX3r- ztc*r})EAIuG}>7bpV(NL<}>^CC;4~}3?!v9Q9kF(@A(1ace%V;eZ4T%zH#4ny#T<+ zIIvg!-2B@}ZcX<$J0uYzWVV}i=~H?BNtlNYE8u7 zEKz1_wHSHce0Z?Gzbe%cYTf<7IVN`gs=V?tf=>VLK)=h2QyQrQ{xu)z$>UyiEw|5= z>MnHwW7l5SIq;FLSb>K5yrfN0k4FuCBqOuhR%+=fLmkfZ7ea$KV%hV)ILfdnfpiDD z0hGhnwhZ-}0q&^1ZWY{)EaUQwC#IGc6}z((+mnb&d+QzTaLsHP=0BJ~#Qy!^_PHnb z+!ER#Vw({E_M*tO5EcytS;S{NkT{8X8;k>?oP}q&3f4Shg z;_1vzU2>`Cz018)Ae{K1-#mp!7ptquhxX3#-UIE2ag2(s`-94?JNzHXUije=zIR!7 zx*(+6Y^opllK)^J{n|#Al=Qgf@Ylq0@3fWoE==I!F{6*Emp7iWUj0eng zlfy+lElu2~xI>KpX8(tvbbAXEYF}@fK=p_#v)LPq<~cLB0IEV)nP(|!_iFK=_j#B( zP4p_trL_g7>Dhp)JR5#?cxG|V0XMk;Z-mK&lZ_c3E3inA5Fo=7NW<8K0-Oz173UKJ zRfpQZJEfx$%T}UU%k+#r+H3{iv7_zN(}|ZAH9C&m!V}QFj)9ca9~TYMr;h6mmQH(1 zxN}X{vhf|cNzdR{vJpxg!l%7AYK5ptV}#m=ecPk#7Q*}y$3J=lDA|||vFrIOhN)=W zB_0I`v43K@NL4v7ZQHV0&G#n8P{BE$)2`@k@NlMRcvfy%@9(#!nfCOI1&0wcE&Kha zXJ;r6AO?XUs4+hm58JJ+-bQGkAEjC==WHK%)7K{2wlC)i`s!c9@ko-keVVvU@m`5F zYdzzN$`CUzm`jx~N;7U2r076D3X=fBSP2!zh>35(Qu*2EaZf_V4J{az}RWj6)=OdnJqrD|9x6n=L zb0y-GAwmN$O%lbfwkn4&Wk0gJVbl8fl)cw)a134f#U2`{(eUJr^`A>wz%8QJVRoaRJ3w49vO z8Q)Jo{#Z%T>Re19B2A7)j8TBm>c~PS2#_`8f}zpvgx+=)*fny-5=rIa#&I5=pZ&%9 zsjjXjsV?>#jd7q{_Tg(?6vZAs-7-#-UrOmvOQT`AMR)Ox8zS{|0(Opfp*cx~=YGPC zDI-7l^@qo10nCu%&*E`&Exp?On=4Am8@5pCe#=yk6SD4v%b9`6W8P#4xuVEB>5dXI zh?ui68o;4}qGURJ<*nkQN$kEY4_qfAHYlurWq!UgwFEU^xN6_31tZq#XN^N+^&G*# z1*>RmAg0nmKFACJe#J9`Mn>_o_@Ji*0}47|4S&5@^ak~u{d)+;Xv^0oGKLYTWvEAg z#L>>H8y}oHcmAYfiK)sx-z3uV`qv|_=|1G8`98f8W4fYgc;+%Jj>86Dwgg&|1nydV zmK9IqSvof*Foi#e z_tmS@Ba2zwvblh8mM;3@IBu8R+kNFFv9Bs6zuLK%!k%ny#vZMxC6{oyTl!q9pf}XR`Ip9<@I8l7a~0m1R5I_sel&eRsy#I9 z$_quku0cpzW+H+Pgr~9GBeLTT9j5^cNlL*RAF<{;5xxhBVA$Q4DqjHwur6y@0qxh{nR%(e5N70F9js{==PNZIwiMTU(Dv! z9i-)D6=m!eZ;G3xldvWge=J>e-L3F)zuvNt`>rKU`Ee80pJ4tbe5O(~Jwlv)I7A>$ zulj+^W^h*7{DtFJhvrWiT$$FNZ{*()Ex+bPX~hlvlafniDuDvT-~e-l2+0r)S8L_w zUVF59h4CcB7e|mSY%hiV8OaggkV!g29Ce;xgOPa$k0Owb`o1nce~_F8dal4LlgKM( zCy7#$5drg6ypa)~Q2rjRw6W3wt47g@GQr>Jf2v1cM)8$Dxo_8BO69Vlq~{?b&R^7* zmG5<+abxL%X@BL~xPPWPF}1lSo`%W<-P(Q1Z*T8MYVy5oz%*2dmPZjKJ(s+U{tyr2 z$wUU0lFgH`>=uYrA%c@Zz(M2MR4CAhF=ghGLk>EfwHmNQ(YkKc3=lzu9_Qrg5&prk@t@5s1?@dxLXGu4GKROMchHWn`e>z6Jdj;+?cU+!?#B{V>z6;R^k8egOLN9^Yoa5x-f_0|tleh2 z>1w@?(u(l?oUdVNYigbS(&QO-mi~kSH-|amMFE7a%(ZLF=7L6_pZ?rLk&@91I!_V6 zVg#r>zq-4tXpnl6+XL9BNM25QX#ISU+`mhJyfx~*gYEU!5BM{U9pfe8z#;Vj5NT66 z2Pxe!vl4ghb#oEO&%rD-M}2_u(U{2H$jF{|X+?+dSM+j{#rZYf zub#K3CUGRfsKnyluKE!@fs7NgDJFG(%%-tvRvXL@>->^mjHw3r*B~|+T&FTGi9g-h zCilu)Ri{ETm61E2IEystC};-gp}pa~vXs~W(LMv{*^}6Md}KA2w*W+(zzr}6-Cf11=+C1*xRWU^k%<`v+^UH76NI1=YPsC->o7I84WcV`{skFp$jzeqOjd9oiW^0sS4V{FI6rpZQ=)r5cpvy z^P=7SR386yWH4-8Tyl0mFPkNNv+3Og1#f0|uGZSlhp> zPyLW+M;f4|0l>(#fe)cW^|gUN(EyJSEm95zr{qs#bGw__loLUmsK_UH(=P|5F5IU} zzY`I4jtk(J&j}ab3j~1LKQO6eaG(P!PxBi+Fu)YJ!FY0r{GGh^d=9oEV8}yJjxM34yZAU(Jh@tx=jZccF0mGjCmd9H8aE zz#Ti%@*x-%Lr;>PVtOk~vxhfne3vgVZ7#`ge(L;ch}R=zClG%Ga{R@*BihTvgil-V zcccOfgyBI7iVy~j!BHJgAPoZ&MTF$)RFZW~jRiss(1Xg>I`p6hxw;ElM1Joh=@4iuid*&u*li$1W@2~+;n5cLFsw(s9)rL0|q%00MLe$Oww@z7Hc#p;`ZRZ=vA5<2Igw~6PbzwmvW7eTNg1N06I9R}SftMTU zb2ObxRBUkA!$14fyXB5iNw50^1BWyNAkfz(bLHdlpdH@@w`er95}X;mz)k$U#vg#{ z4*`?NiXU`KozZdDHVsh3sRFEqAp(nT>U1JK5O#^Y>E6daf{tPPTbj$=q(bRrVH)=69tau!IwNSnE&!32yzeK!fZck#vmkmz7ArVIc(uTD)t zMeT$)!jS2ULji!{)KwHG_WqCgFLM@f6T`{rlhkV6-sfyBlFb_uZr@)GfGHXs)_3X< z8~3N%tf+?{o@JMc<;l~fCyh2)W|aEmsJ`GItKAnI3ZcXxn9~1V5x(m(f{N!cC)LlM$qg7l6$13?|$v+A6FN@SSpDgeKRoFIgXCwq_u+<&VRsED``ZzBlm% zR5}VZ0ku6>Anx*P@Bpl_tZf_530i7cFv&f5bast&nXc|!T(8o)ZEN^TER-^?M<%{Z6DCw2uxz#)ro5 z>yQHS{x@J84IYxQ(-;b3V}OtrDksP5Y)Odcv|i9yB*MR4BYt9Sey%=#YvD^V;cAVFBGanUz5a2lkN?6jF6e?oecYZ&^B?PxYkZPGjLWIvnG#25n(@zkUw=`0x}Hnh#VZ$!pI?@1{EqCjxRNvaU> z%nNH_Fg^es)JPFCm$dxyr|g;=du%U-{#pO$#typd#DFzd0CIbbeM8&vCXN>ifFFvC z{chBR|6xr?o=K&c%O;;{kVeoZ2F9pv?P~HLHkk1*g%cc7K?XW=102P94>|TYeaPyI zGv@I!=dL6$k4bErH}g^QXY5&8&`J6ZoEz(JMveJxVMRib(QIqg0 zfq0#^JGpQc?TRifA5Qd0@)mYAN`)gxkhgVv4Q7|z0_)ETM$kFKNV=X zd?A2|>$yUnGAeLS-}eF(T3401^+y2(C;$Orn1i<%I$GUCYu4-6uRk`Fp1r}imJ>9& zmnb>P<(b1A=e^S8+;+$T2d1+V?Y!Tf}AESJLubmz4aPj;?=? z#@fL~Xg%NjcCSR-O2rAor}_@gNe7kz>KjCb3J3qE^^N5>cRBBwqx zw*QWUg7%C9a6(3Cf%FcqUI{i;Wy(YDL;_H`))XSP?}_CoxrQ`n2X$e&M_z)^Y-{~n zv8FN>Apb2Dd?m0qQk^H29vv81kd_L|FSG^vp9^&*jH!DJ*eJ};nj1=0z0Xg2+tXOk zbZIVkK#*Ltwu*_X_AFsaMcrziV)2CO@X-a3gz&*cGrbVio8Q4G&1g@dJs~s*Am6kR za$M8EZt91GP`rU%mhp1^Jc9{Wz!3eGETln%PTxDQ4Ev?A&|XYs4F`E;22Hd;(18~n zwdy#9_DrM!tpL(o;0R|3!ns&<&TpNQZEylp)&|iI2VqbWxSOT^d^tnI5s{MS zrr}ZP`3fl+iN3kINUg2=O}IgO%2ZC4vYacXpS;kEZ&X>Z`dU1iGZ zsY>Fuq4K0{LSr+rWV-Q%?4gcmBye{;5&%>}UpVOB5O;HTc7lv#J#+a21qBRd%hh>98_9c7ERUVQ>q}3+`TXK9b3Oe9-J(thCSSAyEZdj{u3bVbMS2;MH`Dc@ z1=LYr%ua>%beQ7sBUv|kwI46}@W((|L?zf2O$`j#sXAQ&e5DntXM@VWna=J2O$A=1 zI3jAA2r@J@C1f#lczo=@}Np>;R(eK6yA_x)ATb<8<-#m(*5CFcYsO z(&Rj*ic2acZdKFq1jw5#oiJX7f;c9Wx(vj2hkdB_0%g- zb1vnoo-Z~gX!RJcQ=&_=BV*W_d6Zi~-Lw1zfD8GmzR`ui@8y9Oz|}1(!aG8<6R`9a zTkz=>7%}8Qwbtxxf zL^!jhOU*N)w=*{cK9;QF`EzKcwr6{|^cz}tBByRX1dO*|M17PTv@J{?pKC5p$)IN8 zq(cS1E1caiDssv#Yh1H32WnRKp|8`IJG0ghD z#|8l(hq=Mf((&gaSXPV zU(PSWL)1ZI)$;zCI5%D&80rl_f4zTGzQw6k}HlclXsVaU_o_IIDMiJx;HeC}CALLD&0yB zRKV?RJg9&QH%J{lZSqifTu1zkmS$J>ihQnjJbre#_8cr9eO+5g3>i+)cD{+V>w2ly zFd!}+7B^9&F4;E<(@o2FZ2E{&aGsyFmAvaWvph;NIF>I+t7jxP{{3ZL$9bJ28>{KB zh#P~~!EJ7lYcG5*5VPnLH2i|~;vf4-9>ypO@SA|Jj8+RiFDoQzGR18}4rCsgqbg_; zI!$~)z0Mc)ASU{|Lt?~uE^rzg^gWC5IuK+mhR=P5lujA8eC2jI3XZs@6hW5DE56vFc<+J?!TY*6JnHCjvmLon?c5sQE(Q% z7vxPf|NXUhd|$@D?aw}<2bordl*;sW=CrRt$w}d1i}qT$x}0JO+#a> z1k+!@u!Tn$V(aNSWW9Q&<7Ce9c+)GjluT0g5Q(AhD_pLR+A6Z>Kqj1t_m*g1{zDX znZ#kw_9m`4rF#w?+{`SqxiXc!#mF+}+d6tF%rwOP0vLx>lJu=$?DKF;Rp`N0?Nf-6BMLFb25=_jfk>jtN?P zz}K&5AV;Z3+nV5X)~Ll625uk`#ihesLEwE9jvE}%%AGv|ASF^oAsoyQ_`%f$Xe7SsciSXh zDu00BL01|RWu2;#0;0Fy!|IXFBIT;r+1E6Q4=QkB+AbJt?Fzr7=3`t=6-dPX@$tw=g;YR72Y$Y4 zabblW?`*#s4C<|LG1tz6dL@O z5~6)>3wIPm6jp8@K~o0|PK6XxGGhVXDyNZQX1i6-OV+2aTbNqX#R+Fq-TTqGVPrjc zNlSj(tXV>;ccwvJp1n9Uc=cFE?C}Xf(u;;C{Mvy9)!lvTu>*ft#Ki;X=Hk$~ExtE+ zZHP*&w9kBK-*N4t?o zsy%yyP7j5zUTMmHW*DrvhXTUv5((KsrmRKo#QX>lAI&(w_!Mj^7H`ZW2}X1mK(yp* z@U9qCvMWaBps9#hKD+Xm!ohVST5q|4(Y{*L!Bm(wc>mI0%d2a^{8BF%(pQ!P%aDzDM0q+qnH-iJI& zX$^6Q6jE^x-gntvIkR)hWrr+i0DWQo{ZxtvHUwXw9~*<(tdxawT63BOsc?WUjWp;# z-<*JlGLTV?+pq>0g9AKS#dAn|e|B~bw-5Jr_4N0R^mTRq=9b>%&6@_J1__~QYbX5^x|xU_wM6Z=c_KvF@d%%?x52D`FgNqi$s73eQLZ{8mvXzPaUr#ktv! zZ}~P-G?w8tzJALcs%vLcX`!k07{_{U-UZx^H|-A%%&Eo2&Y6-lC@TfsZn7p8@{6~8 ziXCC?V_(IcewB7SO!}ivtm!kni>a2jvvVO{%0_ABv+{X1Rj4UcBq%xdz-tp1`usa?btakR^W@^xWLvOmIbwrA$k*4n5Ktw@2MB4!3g9167Q&-7FmRCb z_#zRmQ+SSRc^3@Z+;K=TV}{^^Andsrk{l>N#5pge7KnNUo*#kS+EfLrb2P;6BS|J_4M$kN zhJJKRcxA8`SN9k7dTZ{cb%-YE|M*1W<+0oGt7E3hakc1XaliL!!)gzcPkg5F)o0dZ zrJ5Xf=2exk5&VG{O*eg(pL|xs%g?=|?<#~gsLQ0!JxXh|QlEJwCn>q@*UyAs-&(Kw z%$9nzK+kh6f&>8| zh*`BZ2M?(NnVRPyVc^?d>2%mFqCWKOj8cToBB9g@3EXrS4KP9y7yIU@06PDB2ywzr z|0jr4$m9E+cmS~sj(|JTuHDAT1@8C5eU}>U) zkR~k@{;{zOQMbd*Z@$Wf+4txau=kfA68Nd>#Wk-tGtfua+%%8<;@FS#`_{t0KzN^mJt)ELi()%D9u2FP`8wlE=eNwJGjj zKB&GP?txSR9vr!KM#rO5V4-~JYmYdYc&8?1c}PcRF~}b8LA^e+X3?~(TDNXYk#c8l z@$nLF=v#H8!OH42@xw-n-24Mk_wmS7haC5S7I9TR*Rd}% zjsZ15QU9*#%s>`aLQi+F2Tw+>}rmJMABTdc&fw)z1tOD*QYy&m4kTYX5eD z(8RjM{%I^uApp6qno=i@_&8T`jth#rxI%fvlr)jzJbyVo}7d@|8+<`Q!vgN^bVK>0&Yv5rwA%N~1lNDf{6%!B~} zuJfnTsUt)ba*T=I-`S>Any}pEz=7->a9e*zB7GF#Ta&)-n^>SF)=d=Tvgow4-J2^l z(Lu5Iz0<;?QoDq%|1j=9#qk8dU-k}RcoAt`b$bs-<1 zuV3&>J}+x*FZo_sKT#fG{eV5R1;JF0f=d35lxO7)z-&RHQxrQ7mC2Pt{Z<0dA7GLI%&0g^(T876rQ>LzuO2z-NY#ce z#+*IA@d?u@$Z!|eX2GFde7p9QeYrWHv`-zE)VI)XgepLBV9G8{xL{W`ZQ`!O+%Lg- zhOIu)p-6RXx-?P=eNiQ9ekwKa*ocdj$H1`7jeoUIflKjlhjumHBq_57xy~d-l|n?) zj%0y5zB#Rn6{SwD{irW0ARU|q0L}JVSoE(O!__4O?n9{20~r9R&{`S}6l#vkTaFse zqp%`|FlZl>ae}8n1sB19#D<+NE@b(~xyon(Qr^Y(!gk*LKe)q79vT;Ym`&r@BC<5YZPWwc!6sh)fahUIH&wi+V-9epGot@<5I%V z#ibo7+VEcfH2Pz)Y`a%1jq^VO*w05*;+wnYRMi9;g=u`$L$F{KH;D3#lNkgsyAg4@ z?4J|bXGQ<1B4nf;&)MJ7C7O!~Nm4MxYFJgaiY z{_(5%u+NP2I3s#LoONE8*gRIvck$1`Vq$ z`vWOBXvnQWT?-i?lauc?3NWd$`tB+%IFK!n?8V}{A7#~Xlo>fLoOB%%esSfVy8{zp z-WfZ!Tn81=aqGn}<^3W|Evk}ykFVxw^_|3-riigEo71~}9dZ++N!^Wyz9$7gTd4QC zN0?36(|zjA{tP&$nU?zCaj8I#S7Q?r9<*cZnS0XZ(=&dYaOOQ}Zua-xeztolV?al5 zjJ9UfFH@wr78GTVgG6?M4ao3-} zt6KmaO#2NjP@7S;Jbk4V2y{D5a(!ICIoOW6LpSBP`dT_==8FiT_1KuUrR%D>x4E#_ z`Ov3`wI|ecQ-?I{hj3ue3};=legQ4HFoo_1g9E8P`K~-k=~{KmNQeAV(N`DUes#hg zV?RPDSOgulC4MyNl4Q}9{ZwC|I(Mtv#7ghA1(G*pi0J|6g-B~JTu0OfjCOO5155>s zUrjNJ5p=228bEr!C@X1C`GdGfga~e^h`!cq(u@Bv^|WaFTlupaWROKkLn2 zwQ`{2dndkf^i?>;+=e7*k5uUIgI8lUyhuN+qHuIf;% z=kn8otTw0MbCT%KL^qSEskp8#$}|3FHN-qY9oed!gRwwTGlt1M!E>g}OzSj=qJO^r zQ-ZGq_#3w*7|f%1oR0F5z1if}|Gzc;cALc@LCiTZN$4N&2ua_#heV30z)}rg`0W|w zEx9y*XM5yof9U8RY#=Fe_2$wvIn($B%PXn02Hx5w?_#zIt7J7cj{1Is9q}b4V)p={ zK9yKWI?1WLso6c%w=lp`o96*dZ9}3XPXP6kgy2_35dzDM_oVsV_v-i5g?sXT{Cexke$5tPr zVWmdm>1VxuVR(6KZb9qcF51^Z{L^EHYb^wrt?Wxa`* zI%gI7?Qr3Y*i)Ze*|l{2raIA3vEhN(=6yc!4edN@68%mmfFedZJNX7xO)Z22P z7aiSj6cYlQ3o_T`9AW>fM7qsG!`-FU`D!BDAM-yH2Mk##&l+jgj`R@-D-SjM-(Ms@ ztT|NW?w&(BH95L+iUXuiJy=K9uB~ii(_vdG=2s|5GDrQQ@YI)Sk~%M3PLe;V9wH8l zL$(Vro>N=RRnFgB>Sg3wjVGbwgp8<6;K3YL={5mOye{ij=O7VxqDS#DA7iv0YLNs5 zf=E95txwSf+#zskE1j)xGqXDlm}9r(%+Rf`x< z%Z}NxZ~HWNc<-8wPJ6FAd-t^Ya9!mQoxg+VWADPfN%xZ_QAAt0h1F)vQP;`3xZoAz zl`mp;cKRhlbS%@7xrCflRrSrLwEuI1qZlWP6+CNWuJk}+9wXsZ54x?-+k2@SF6wSY zDGOba+?H$><*Ok|YUL>%0lYu89@PMMJX9fS1V3k_06m?*kZdI}@QmvN(w?R#UO3d0RzAH;0?=YjXLTv$$*XOkaj%`bxO4HBCGan=jb9_(plyY9jGYdm4TM}nBM?JSc2f38-j=4nNuPtXhE*7caN-p zQ%+sRkn1Wg;B>&prtR35GCI!@6IKz1H6T5%khtNs;1@Bz&Vw-T(?ahVWv@GYOB+5b zZo6vwryE)+ee9w*XTF)b5Qs}$N}Z^`_E>)mN;+kfc1cy9=<0EBQ?t&H5!JWGz1m~v zw_hDxB?zYo3d-xi!pi)HF#OKy$3w%cUI-A#n2XuG_Z2wf1FkER#G_l{RkUxn=<&bs zRkFE`y8Yd-M*@XEJNAMC;774fxb-rDmCT%rKAE+LG8X!luxs!Bm22l~r!HogRME$~ z$A_ZT8$Rz=SD5#Dt~+;V`dC=)10sCh7fEQl3N*&8Wd(%YP({_2TP73YQ>dP9i&nTP z)3sCS=94y)MoYNx1pJlkjNZ70yD@_~;`DtS*#0MNECz{!i6SO6>(z z#6TVuZYHlVPvODubpsunK`s^u7X-xIz-UV%3N5G#aXEu0x5;!A&A|YUZpyG1<$ayv z>%d^7N&$h~S2qyIeE^_Fd;q{EVkTUA^)$&v<$Z7+LgK~TH*ud_|M%xq7hd|ctt(Pm zll_kN25KF+UlKQJuVWk$Gna8`23Bfrvj_*VMW3EHr&{hLCfz%Kd|_(tTBF}W8mtzE z4|VbnUTH}cQ4Ys6>N>78zdR6k>a3%T%BEI>SezHQ)SVP)c37pLF@bxlT`DwrSv+Hrnrqu@56@WvLzBH z8<&GG+t$CEnebHAx6=yNKYN@=v_G{{S=r`j%u_j8is=wZOUtQspA9@Uw$dTFn3FkS zNs`m$?=CP?7AqCC>Tc71$%yOnEUq>K%c|wOIa?57F-Gu%$ z-KoY`(h|yCOhLn$dxH|xxJ!$i7%MtW(5Jsb6S=KC@~K-MBmOq({s;7hc&QwMH1U8@ zW>k3y%2$Vh)Xpjki_W2q9I~Pc^D!wYvp%Z8kAGmD}VjrI@rC;c*xsY>BXn4_%OxM?ojOa1B z<6|#84QB}Bp1w;Ect^AuZ)KQv{!(1a4DloxD;rKWB=_3TGDkUZ z89X>!xuKdhNL;u}#t8?l5SLB1UXcpNKdKFk9VXH^$g%6808flwzY9Via_jg=S{NK@ zCKc5ai|KPkbu+t9K}Nj#M;bsD1Ej@lk)OGVs6#063#Ecn8uy7h#HKnG?MNFHf*wgW z^%YQ)NDW*LG|bk{6TFi=F%WCYqW*t~`pST&+W+s-4bmd5G}7HjBPk&wC7psaNTYy) z(g>qFl@4JrP(*SY-61&|$w@zFdjI|p@AmR=uIn40Izd?D_EYT+U++75oJOr#B#SJy_v zi%r5*t~mvzu{jH1iFMSDXS6c|Zj`QfrFK-ZKHa8?=Nw4sh5yrh`Y&XlM31!ME?_ch zo=L%+4uAZYDoFa_>~4usthA2CKR^DV0Od16#VV39!e5hsDn~@>EsK~0JTOeA6ir@A zG%*};Rsjg}8f$=ADH>umogj+eM`P1Gm|zILjknKXo=UcehqNJk zo5hl96n|Khl;#EIdW={Q$Q(?z?zCIzBp=*Nd}(_u^F(*zMxQsqyV7Cvs!3fg%8!Ug ztO>bL7IUSS8Mh#2zGEkr=kK$%6y3o5RrufvD+gGBwEH&!yKE1@K5u-`oUu9uG2JZ{E+$lIp3xuqx?~O=s;K z_-3kbRqQRiP@~>Q#~<^9*=NzpLLyOLtSnu6U4qZ0zD-)M;{o9d6&}~0YmXNR4nIrB zu)4l>(Tb1T67irXmBTsZ7^LxMcGJDa8TydpExz+6y6yvH*?z0i9m>RpFL#GMh%`#$ zcLDo@`Fd}4%0*@L-x)94HN*v7~(O>OSo-*h0)dDI|HDFLnC)cQc8(IqO^ci z>DROCmQ{;M7LdNiMR3v&N%P=~fPkH;>CzfJf+*Wil>@7x<013r(ALK9o~5e-aQvg0 zwiRn(j~83p_o5*~^J4-d3*AgE(`jF}m0jMIA$Vi=?wRdxXVM`B2uQ<%9a(0z;VOD+ zNb&Q8?EPXr5h`~trsOUUIO^uP?1b`lBG$0Xw6AIXvu`o6ql!U-xWx+3Qn9%SsP$QL z7DeIcXHjR0q5!sPYv4FpKi`-)wsWu$NVBR%Z`m5aWY%XEhhM@)2yz-H1Q98!3v_rH z5MU`nLYO-f2IJb5JEE3y70j3BzBZg6!SvjI7aaBb@*D({%9-RINcWyw(z%~~+{m|F zvS|}X9Z2Ra!x`8`G)Ire{PWur`q#F-+IVZyypBWSJ~LpabW9ve|D37}JlfCQ*x03$ z=3~xN*oPJnIXIGvj_}I2!1o_sC17C(V&%6wh3_nBtku|rCcmI^D(3{Y)250jJQc-% zB=kEWn1M0=zt&>=cLkb^sWf^FAkh?rh{86ofkX9r;=0J3ZXHp11ec> zC^@VjJt8Kmb!>D!>tu9#N!}c8v}rPL z#PRD*>a`1c=!HPssZ^1=M=dW*4*QpLloGWmIj4U0%HjR~CL$vgOX7h!*Np}9`leaA zqvhXSGjEEcoNai!pGzlvIaG1cO7xBu1SPzX+_#xKnxBOHX|RsaNV?+^=74zzvlP3_ zJRD@_fwx!Bi;s^5jiTcvD_63;MmG*Yod%CU72OH|_J~VD(`&#@cL*^nN(FpipF@~| zxC)YM2)V&jQ@j#Kd5S`1j~QKed$#0;`fjVQ`ecvZ{!4yStDv)Ztxp%P!#bC;3vz8P zUdJ*5lSz~fc*}$y;yOD1j;LIwU;AKpUCbf63wcNdqc0|t zlO$Hq*uySc1SSylwoA2s8|Y~65t9=93+yf)C`VuOrzeTN?o0Li;e1U}a^#oTSd~03 zLKX~DP-vQSN~9t#K-mxht>eSpxrcF)Kd^v#@;{nmdQR;PVJrqnPYF~9mm0>sH+g0X zE_#APy8#pGfFrJUu&obgCR;)?$M*c(y$R*}>>D1v0c&jCvdIj~PW>JmZ_4w{oC+=V zRU2FD)}8oKvt#wsSRhC9C`YrBr>X&R1eL7h_Q-I_>_6OKY-7r8gA}%{FB?M1KJ4h5 za>jUj?+?7S$-~aCj1CLj$aDK5#9uSFp0A1;)S#%N|JVT_Md4$#X31TU(-IUf^$kwr#ckw98X0JeF6(?@``R0t z)tT4(=;$0e&m8!O7rnJ(|Dvq_^Ye$O5^mu*D*pnwk&l|v7CMjQ&QdK+fsIT`HS2~C%QDkBy zSRp(WHp6E)7F7|;Z@95aiA=u#9&>*6}A3ilX zJ2VAt+WJ_;l0Whf)}eE>3ILAe-=6bVnmKb3UHKRnRJcHwZwJzMZcDb0yrzD5^!+M0 z==}Zzh3WVQ>3h;8Ap!`wg~JcjHghfFOB8-&JNL#|ojilRs) zm*|Go@LOPL4)xr4f?@ZD@b6Hw3}99-=brNPfD|vEfe1-!pD*bI?dBgoqyExjzaL~4 zpLN!|KIXOQDEDKeqUA;2r3H8O#!RbG5^YNAmWsSFMB)6@IU#ow$+_Cmsw<>}${y1% zC__Qct&HG)?v5J@j+qsq5mkqFzTKyywtn{!SGBP4{D#+@etYL|c)>~X7fcF!WBZ)e z{H)JzEUdqXv5b-lyfr??xm#ALIU6>RTx6OkQ|LuDap6LH=(4`Q#Rd53Xh2_Rmp2x=q*=Lyya218brjXqE#Wy#UTzldh=lwa%aTY*@eM9@Y;|nXX!FeFJczD> zeOEv4vTKXjH`$JX(?v_mVR%4QajE2Fgb1_l-yS>5CqYge6EBhVc^hoOq#Y#b8FFE@6)9Rd4`CG~54}!P{9ig;kM~O}HutT8zn`z{ z#>YI4y|ms)q-RD_SH(rR+A`f{59Hm~tkO7+K~R4l-Onq{r`tG|+b_Mc?{$zYTx(gQ zcEG_5%(69kr8CBUuI{DrVYr8fTRO;9lnPFwb+^M`I6?!D>{c>g9~2YynG zay+_qb{UVSl?01EdlEDoa_6&D(9ZA?tmt~r+8!kj>vU$Zid%Hh>+>Qr{@QOj+hJHv zX6)~MP4-z13)C8i|Dr+IDA&$VITRI4e|JCU(Dp-zl{g|O+&SO%HwlYAhp_aGJ&2Ib zUNM>V*$abGG)D74k43rkTMa&X8*>$@A+*Ui0%qxdkP{B*?ubLd;}K%e$s8*D4bCsI z#CelX;LI-{A^}Fn|F>qk_ke#MEOdcvE+Jof=;`2ChhYpH(OtnD*a*#*@ZV{V-f|gObv|Z|!fdNJ|-_SOXO=e|tMU|JwVK3_`$& zGQ=Wi5DLq?9SVMVj+hEm82TC}j2Wb$0lKc#_tH?r&n#^ywIav&scXf4(S>`T0tDfxD{E zqe=4GFfT7i4YH-WGk4nK#L1Bkx5_%sBQX-&dpWM>A@PI^3^pf`U8~Ub;+frjbY4(D z(sg--!q!}!Pha?9LAHT4O&}T~Q%2cF4rP78&8?pdQXpX0pTd{#D#o-dsd!&zO9i}% zzvAXJ0Hsm20HTThLbYt@1#Lu4C(Q;RK@Bk2UxCOoUJ@k`?`D7a6t{KdYa-BDm?5>c z{6=BJ;el|10FrjCSHYL#=$LJJ-`aIOR1Vt(s`4$DEXUi+09t6+q;=ccPqjBQ0oz>; zMe?;}y83s>6!3MrCzI5ITjw6s2QE5JS0yZg`8JMOx%;rve7ETc4fMx$`>9uV_NH)? zNfg6erL5YhC=R9cuIPXhaYvQ068;-)qAfD(Jj11p{tj{I z?f+n|Jkx*>G_Hmr48p6FsknOcaor0$zUF3nNqBWCEe};k>R5GqdwHXNex(|clX{3m z?zX;6l1u1=X7w-n07z`2!EcF@m^>X7iL9Zpy+!}9#uyLA?HJwkzUR>#w$-=Ny@u2# z?d)qoUZf;pE}!W-;X~M0;0snt($)gUFdnV$K|RjhscWtew*y&#Q@Ha>o<+{U_d6q0 zpy*@#)EAG)e?3ifdAJr$pT?F{%a~oGiUpD{c^_3&fWdc)R(2iHIzA7;E*u2<=D+F& zyc{~Qmv>7*iu^PLlLpTmcP8&VJKUvtH6)pry!GSHDfzdW7UOf?i)YfW4-z?{sR@Ws zX=Zrvt9Rx?ZgrkSot`%zWQ!puK37%V1-Sw|nXBedZ@El=8a~DbeLer&3(d}PN^iJy zR_MaT9~3Xl!EtmfYLzZ13^_SFzh6W7OG8{WMe`m)) z?hS+NK>xj$F$XYg*Du~#b{mL^Rfj4vkDicJR|gIe$`hYkl+skldvKzbU>4_H`IJA8 zpL++$RNsIX)HR)Pg(tp&i~FCY2$B`wAch1seH`Q3o#!$GH>^9nc&Z>7klY8A^+#K* zGW|0~6b*(7yime;5t#?kmCokNsN2w6Edwl5eFvf7Z!W-?iVn|ZJm|QaM&=HB|!vR!xx;1C&X8v#^V}3Nme#| z77V76_c>)`lK|0>z@spJELW{10yQFVetnJ_eDZSkz2R|@_~adO_UF(wW)-G)0hi>qX6gT-0Hen_HUd8)-t4r7W>}AnABCW?MU8%H=c{zs> z5?*r0qdJRn5Vf_zn78Hxx9hHDn>%H!mR=mjruX(`9N``>-4ic(qGyg1jc9tfS!_2! zCp)AqayqWc8>z4P>+_k2#aW!GDgpIFWc+Qb0O1^&P!| z0!Uft(DR8jKw@jE!7>;QbA1gHIubDyR;8*ejPp5c3Jlpa%{yqq-LeW^w|}TGJpP=!dSf+jWw`uYM zVR6^Bg5GqXP1Nh~?`q4Mn~huBA;zD|H%lFSn=T!MUP>NFtXg!gA$u(jD6LpSUZ0=B z?G#q(!x&IiC|bVsn-H=6Ec14Vc=aw~NGs|1)uVmz{s;sa5;F+ zmQ66HTU+m5;f1E4z45YAbr}naT*AK9z0&np1e+&`54+7>VYS`QJ39*TL767WVgzidk%O5G`PPB)pN8dejX-fj zqijilG;;d+lAy6KM!2O1rVV+@F%!j%ZH48lx@Rm|`|Y%TVTU#L>jkrk(kC-#J5m-E zu=8c5B!N>_4zEA6gSQAX*O$IO_J>|{md3#yvqn%90#>2`kij!F5>ljuAaEM!eBp$y(i0BZ4}%|I zWgh>{VMGIMMK5)f0lD`{5Y}ebhE1RPPlFCFogtpx;@s=jc~S58-BV1J(ls*r3WL@O z5uY90rx(fwD-6>vtE9$$pF8BIS06%kXJK?F60#!xQ${*sZxkwTy8~_%?Ai|c3%)ow zlsa4u@5fqY%lhOkOqub)jc<8(1gB~gNL*V4G#Esq4i$O1PwZI!g7lS{+$P+lc7TU)T%oQ(#hFry|>Fo`CvEvvm2!RLbktxEBP6d0- z<(nYY(&Mv&hQgYsS=rEvf>PIHFmG02eJ1yxmd*Wb67J?^lBuPk{+yRgJj?ri_dTKc zg>#MsX#x4wkeFof9TkGMaUzfgD8CE zBO`+&h_Mkk@H@9yDA!Tx-9OtcajrD?QMj8vS~vzIHQs^wj7=oaH7w6fen=+#Q)ztM z65Q0(FXQlssx3q$&l9$+>LHU?#}#7A)_D`I$Ge>;t>>X;43Xx%fIX$K+`)2?mJ?`j zToQ6P{?a~x+@6_~W5^j^$4hp8U1*_~0rGDyXVas$NFx}!eK#hO_&$zu-A;IyA`|&d zF40&@{iL#FMs9@bv{7|1wpX(hCTo~vb|kCZ0}g+F;vG*wEVx&3x?~L%Ev(Qcum&a*_9%-adl)saam{xTnwII>4L5%o_0Y>5N& z5jE5$nUbc;0_3?RZ$%A#q1TG9W1D&-IS!mVAFr%A%wJ{aW*1D!|FGcR_Sm0MJ~fx) zuD_U@@R^W;EkBSd;MJN>DUu^zw~;1t(I8?HO}QQ|ir^vI!QP*0_w;bw`T9XkgN9pH zW7VvsiIO|R1oTW1i~apqq2HEV1U~p6XcM@Sa60@S=$51nT$fiWj{t2V+II{HUID^k zVmJ{LPM-?0&oQ{;CZSlD1S;vr@PZsqF{jt)*@OfXut%%%+qqF(bbDnMX&lTYe%?7; zgRbP!t6S(WSs-p21yW+bvC;@c`UeCI4BhVB$qaK?&^A8My&JgHD4b=UGaU1{lGAvY zHao6-`JRuisKr2O?3Mtyt9?O-OwI@eh-gg(P}E;xbJq0y@q*#xc8`jk1S|?P4U{iL zUq7M&O@kVbVnDA9BruphfuAxl>c>6#CwrY4{a{=`M~P3eOiL`K^505P#3&~66fjqa zQ*iaw*GnOAQ4d*JWaz#Je>w;beJZ;&(JizZ1h$Fev-zwfVlw&NZb*AS2`LWQNKDy< z7w$mo!+xA4rpUd)PS4yx(B?82^T~MkCDJ7y%U=#{86fo|BIcDq%vX+96XcTVJlxas$+GF~9TO5(|;jPf}f z%whq=Uw}3u0-q6pwEvEGkH;WU3BvjRH;4<)i4V9CgC6o?P^Cs5?U=Wpmjr^=0)pl! z)*GxAFS*h`A?uM@qyA^>TsPS(xnaU}BoEwTuK5p~{QaoMWCjee>DVVSA#(LpFbFFyjENpX@k&3 zM=N3}(;VG9$n|X9&HfxiCCI&9hICC;-a`eJr1U;!kQgY@^)4|83dH{=s9^u6hNuy@ zZE>0g*hVyWjo$IR8=LfvaX^J1u`!>`n5J0Y3fOAW#?7@g#C293$*Y?(ooyj*TGJ0s zOs?=x=!4(3&oQiwUVZ%f;I+K+m8>I!3g6`v8UH}g{c92b{SOVdIZGc_R5~5?*0Gvi zhJ$4t$2`e4>=rIVDPJkKMf)JTGGu)73yfkR!FwAaOlK2+p-=8_Bq5`TOP}k@nb$P~Ts*wQF zFQ>IhM*EWtNlGJaorCJ>ZwjSiI+?^h+tz{8cN}nV z($Pu~v;euEs+28_6leV}kbOk~dcoLWUCKiZ>RZQDNsIk9lI%ft`-O;t^T<p4GXS{LvPL{Z}gI*CDUTuJwPk-rT4V(f6#f%WwP^mK~=Hbr@inW~}QCran2N z5cFsrLH%SPf1;4Q%PDWFy!TK~Z^%KjO{xf48)I>q^T>R?ZGW39EOfQ3qDU{fr!0+@ zcuWjJmzDLXg)2Gm7qKcQ_-&c*UDhtoLZbvfj)?1G%>F65{;wzcYb=;L0K;Db&Wycp zQT+YyO2=kMw((;0Hjz!?UZ8}E9k!5kD_7O829^17s9Z3 zbA9MJTj}A!$Fu)aP)nV90-i$KbU8ojIes8x$*R?VF`-w~5aU$t5Yf`#YLfY7Qcgs! zb#Ih%DMFUOJg6d5kNGP}yI;uFYhy{16fr6PGvYC#m@%`NVOYlG#^z?_2QX$%8OGhS z>&5EVj{NO`AJjLigvB+Km~lDvjr1NQy|d)vE@rP%(C2>!@ZW$uF9(k+0$5oA zV6ocT=qGKwQn|`s>H)0+d*Mn?UYU#uYB$6*EpuSQnRQtB4Ib>ZkLAi5BMNJ=PkNfT{Miu6I3CKMYu-LHr9Z z11}*^-3Or5>G!z%M7xoJs0=vU^rb)AzchWu03&N&l1dW49(Bh*Rk;5)-{srOySOe z+XcvnrmE>4Ev8AqeqXyiX$%Y?Qk;=fF3Rp!0g0i;{!kg3vl)r^@Z&=b&5`HUJ7so( zVHSg)u+qRfTyZtfa45#TI6J={Ow20GW^0Q?R|%UOU9-t^WUx zSRc{2a$FoxfFr1}>?wUubz_RbdO)In64TPYb(NNP{jVsWN(I~y2ie>C7Z=?Jh|sM2 zaa$Fq?x8N52aNqA$2n9h{gu!*>RmSkWgy!hN3e8vyoUJc27fMhdi9X5G(h~9H_}aS z#lISDm4Flp&q<(!YC;uXs^qg`6A;~F$vgywC-JU@}rgt$$mON_A;B=va;w)#beeUkD> zc_-XG;pin!WB4CP4&aa$44jn=SO~q zHfeXanH%c&rf|7Y znm=>B!bJKNJ9@P9~FCvFT^go!pfO8|jyCm8D1747eJjuwyZ43uaaA$<` zVnv}Kmf^g2<G&GxQ|AY+GWqZ zL@{*?8romqqZM|0h>03!7L%IqcaQUMu<=G*x9sR4>>pUZ<1^Pwd;ZDqHvintxf$tpnX=uC#ZFmekl@C8-8zrxN=0pm*Y4nW3 zYRo^X0j^o}lgwGS*`IH<{}IeUav5mpxsGufM!1$ah6E39)n~^yv|e}1o-h2o`Zn+V z>mXq%Qn>q6snW^|b@{7Hw<>W)I8R@0PQqg}`1sW%9lXQthf#qK*3dF(~mzSpg7*km9#;n+4j#Ux~xJxhP{ zD)d_KBwNyHhJdf-&K{?1d_LEKb<>Z^-TNTi8!L>^66c&UL4LFV5Lo)eMtOAvc!*XB zVZfJEEYtv(3EGPBqVb7H8Wj#`Ed@*ei+RD5%HMz5Ai1X0ntaSv{*^yzf6iAqwx)Vt z`_nRi7bRC{f!x%zK@@&KX=AivwkqpI^5k)LiFzTZHJQsVFm4f3<2H{q9SK402L8cg2Q3^dn#A&rAOPsI%onh$fPf^Mr+tv_FIopvyw_H}p!; z@>~oMnn_NP*qO%jel4tei!c+8A9&X8$Cq>Y0ICo=ScZ&0pKE1~_c$a7kv(H3NA4Bb zFQr_MDIWFTHmN`9(f9lsvw3EojH?>Zo$gh%g5p1+WTZ9BQJv1SA)JI&b1q}8(m6Qn zbUI!S!BbloJ=`rv?1~2HDe~)a>k0p0T*Z^`GNZyS->mSxYh&z}1HHq@*Hu)7cFN0%dvd>epvku?8QM|j$^MYwBxG$Vkn(? zPyg+I)8mNE|B5QII`(K|J zHJ#-vtj)-uXS?|`0RhmxL}kVb9j^PKL@s{cje46-;r;>Fy9=UY{$#Jp(-Oa>Abk)- zO?hSu*m=d4+1wD7>4V{qQKa$6;hC-8-0n499)*LflpZ@j68g8to>+O=#T(iK?h7w( zGca>|uH+lCC9K?+5ERHs0tQSKYv*rVZ1_nuApg6Kas*rt!{b5F#>3pQI~ag%9w^5a z4>VWqBF2Pt3fTceCon;v&8Q!MCH#pt0ERT>IUhb^gIn+Jw+ zAFKynBYF|EGocnWB3|bqAC_~T`vHx#W3VFEZ}hR!O*=xW*FSLz01|bupUsLu!j=*j z=8P`lLnd>~kV|m)z)_Oh>OMIZSyaNYk>DEK(*0O>=d6I?2M7&L3oV;%0VAiZN zTORc<)14jO*VlS*;$ICm>Eb6LpjX0kk8LR)3v0*S8}*7CQ;TB{)ud0VvbtU%7V7 zv#vTm>x4PFqdr;A8rm+#-yxV?YswDc?-yP7F^?oy4-AD)`Z)NXrdB@=C|tuW4T59C z`lSNpV=9)RZ9PNVu+#2$ZMuXZ^|DNvSj6*Um(H85XFar^>Q2ROE>r*9=pl8Mv|n23 zkY{?|Fk*~l2)}11%AEj7;Xk^ L7FojzO?lz4rw6PWCrHLdYtj$HrhuUri25%CYp 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 a`1t*QrYzt9_|m=EOr!u^NGd?ib4>t*vHlJK literal 0 HcmV?d00001 diff --git a/python_games/beep4.ogg b/python_games/beep4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5fdfa4c33f9893905ee0b81b2c22c71b441afb2e GIT binary patch literal 39214 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 z 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 literal 0 HcmV?d00001 diff --git a/python_games/blankpygame.py b/python_games/blankpygame.py new file mode 100644 index 0000000..70ddc0e --- /dev/null +++ b/python_games/blankpygame.py @@ -0,0 +1,11 @@ +import pygame, sys +from pygame.locals import * + +pygame.init() +DISPLAYSURF = pygame.display.set_mode((400, 300)) +pygame.display.set_caption('Hello Pygame World!') +while True: # main game loop + for event in pygame.event.get(): + if event.type == QUIT: + pygame.quit() + sys.exit() diff --git a/python_games/boy.png b/python_games/boy.png new file mode 100644 index 0000000000000000000000000000000000000000..9dcb9ef555746c26c513ed89900112b2b2ab2af8 GIT binary patch literal 6581 zcmZ8^cQo8z(DzsLzIxOstA^EkXZ02>dUQ+lL~qfp5+Zty-WDN#(H7Br7j>1eL<@ol zB6#FI??2CT&zU=C=H8h*GoSm%O#CxlHDUrf0ssJrHPoR74_xShjPY-0}=(#8>KYQlv>Erp@+0%y@XIi<=_=1gsPo!i)^} zsbw$Me<^9f!_&1q4XEU`hYDN{LkSnxrbaF*g_D*YZZ6%{P{;UYL@a&mYQl|C;~ z0>KjQHcLrzR4F`R^ky@-)ODfb^83Wy=S8{Q+Vg^@Dco*6qD*yRebI2DY9%JJZ&5@2 zgPYqBg$M$$7XZR*a$tFV%Z345g~`Y~W$ni80x$yR2=Rb!oxE-VhPZpu1Em~GjPPiT zZl6>MExd3_Kp`kusRB??#RxCR<}d_`umGDedpk7nj1REkeDi${2rszG3B~{{(pji5 zic$e)3P(5;aFzyYr=BOM0Hy)}rIS{_B(TH>2xyo%sRIoyK=&kw@DqSX1PJKEW4HmV zV8CXWjV%C(&H*S@&rD=apVotRc^)d2^GT)+EU6MtWlcBju=R)PI@k;Nx2iRxt9kw=jZ!qOHM1h8vau~s>d{tKVn7_3+ zL8d<4TbBTEhV<+7XtYUw2oC_DMG-s= ziuAvF9`knNF!W%r_7MKH5sOv=_xCD+ln5Nc8D80N*G4LF#ZELZ^4RcyRbUk9)_0Cg z^CE%t8n=?jdXfII#VhRL>WIL{QXIykuw_|+W7s8_vL)lu!D145C1V>{FY(<46V%YG&LtlU;5P8Y3OLOAW< zBbb{)U6eQd>OVT!B(dV%X@oQBN{XEFkU;m|V_e~WHv!0CpHia)FMgW+SR-pK5n_<8 z;dw14GXBDTs?i^dJVK=#UkuA%iP@G(QQcJARCh_eikSf{Lbif0j*l6w-^?X0oy)rb)JYi z9b4MSii7JXT*-7^=BL9k+XdTw+rr!Q+bm}m1O;{q-ep&YTU-XCFEwd*KszEkIF8vu zipHh625VKtMr5KX=1O(N%?2O!CLuh<%JZ6+q{lYM`Ue#FG5M7P`H4|Z6Q}FE2 zklqkhEnO8?1FP~hk}nH0yN$;&>(lPjQ!djlYP3do3^Ehi(>4Y0vbYi>Vtpe-`#BmX zmP7n_klDA4$VAzi>S9S{VNGF^CWG^ICwW|Sw)a)Ok1qZ$S7p|DSi(Bx3HKH^eT9g2 zo1mkmYfWZWrYS-lp^s2I>=dg%sw}AJR6&~EM35*BX>wX}s=-nwu?uz$mkrk{2`Z^| zWTh_ZAvLb$^uUZ@e7;xrL~aZp5) zk7Wi#y**_Z`G-)a`pQ;)3d-fS8MaxQ(Wz}SGNtpXZ&gW?Tm~)CV6^+7`(P;t4hIW| zmd=6Bajt<*TLpK8w6?VN(8Tye$;3jAXr8R#qR?*MZr)YdCElX|8UeZP;1DLDe_A zH;3B7>}X&u1ND8!X`N}I?V)dPWpRn)mPrtd=8R#l|9eF#^;~K_cQXH2K6Kz$<~~2n zbP6=JB#dsR7~}4DDKN~NQ-jgK+FnPU!xQ7RBF7+Ea*#aw!L{MeZB3sGZ>!Cq*^7d_ zro7&xD%8hgv16CxxYZBiA|JR5&4gc1_YEt5)8CnqC;X5h;JQ&8rl+hI0sFkm#&6G` zYErk@&{FPSb7^}*BllbG)d#d3T1I?bXx+?uT)ewwxMfVQ&$G}vW<&W6+r7hm(ESWh z8P1LY!;FtmjIelga}^ZA@+Dbb3g!6w)AEsGQc;^Cm10U{UF1$r9gFkuk9Tz}m%G`M zsgo`wG0(#G7N&7+zuPAEg%NSa#KoAz$|rllP3dL?vqb%8R+V3GK>t89q3d}tK|RTj ze43&>ay5{bGArWkBJJ{n5GS+odD8+@4L2S_o%uT-XjHe6RC{ih;`r;0j>{fxq&J((b|m$4Vd%0DAE17A|MV4`vZ>1U*owR1y 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 UHAA!VFc$+FD!R~mC7a0q0jhppd;kCd literal 0 HcmV?d00001 diff --git a/python_games/cat.png b/python_games/cat.png new file mode 100644 index 0000000000000000000000000000000000000000..002dbbd08f17654b8f41670027c0f0d7849bfdab GIT binary patch literal 12574 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 literal 0 HcmV?d00001 diff --git a/python_games/catanimation.py b/python_games/catanimation.py new file mode 100644 index 0000000..6580c1a --- /dev/null +++ b/python_games/catanimation.py @@ -0,0 +1,47 @@ +import pygame, sys +from pygame.locals import * + +pygame.init() + +FPS = 30 # frames per second setting +fpsClock = pygame.time.Clock() + +# set up the window +DISPLAYSURF = pygame.display.set_mode((400, 300), 0, 32) +pygame.display.set_caption('Animation') + +WHITE = (255, 255, 255) +catImg = pygame.image.load('cat.png') +catx = 10 +caty = 10 +direction = 'right' + +while True: # the main game loop + DISPLAYSURF.fill(WHITE) + + if direction == 'right': + catx += 5 + if catx == 280: + direction = 'down' + elif direction == 'down': + caty += 5 + if caty == 220: + direction = 'left' + elif direction == 'left': + catx -= 5 + if catx == 10: + direction = 'up' + elif direction == 'up': + caty -= 5 + if caty == 10: + direction = 'right' + + DISPLAYSURF.blit(catImg, (catx, caty)) + + for event in pygame.event.get(): + if event.type == QUIT: + pygame.quit() + sys.exit() + + pygame.display.update() + fpsClock.tick(FPS) \ No newline at end of file diff --git a/python_games/catgirl.png b/python_games/catgirl.png new file mode 100644 index 0000000000000000000000000000000000000000..83017d4ff49580a5711d698ddf79d530eef33853 GIT binary patch literal 7270 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 literal 0 HcmV?d00001 diff --git a/python_games/drawing.py b/python_games/drawing.py new file mode 100644 index 0000000..bb7fda0 --- /dev/null +++ b/python_games/drawing.py @@ -0,0 +1,41 @@ +import pygame, sys +from pygame.locals import * + +pygame.init() + +# set up the window +DISPLAYSURF = pygame.display.set_mode((400, 300), 0, 32) +pygame.display.set_caption('Drawing') + +# set up the colors +BLACK = ( 0, 0, 0) +WHITE = (255, 255, 255) +RED = (255, 0, 0) +GREEN = ( 0, 255, 0) +BLUE = ( 0, 0, 255) + +# draw on the surface object +DISPLAYSURF.fill(WHITE) +pygame.draw.polygon(DISPLAYSURF, GREEN, ((146, 0), (291, 106), (236, 277), (56, 277), (0, 106))) +pygame.draw.line(DISPLAYSURF, BLUE, (60, 60), (120, 60), 4) +pygame.draw.line(DISPLAYSURF, BLUE, (120, 60), (60, 120)) +pygame.draw.line(DISPLAYSURF, BLUE, (60, 120), (120, 120), 4) +pygame.draw.circle(DISPLAYSURF, BLUE, (300, 50), 20, 0) +pygame.draw.ellipse(DISPLAYSURF, RED, (300, 200, 40, 80), 1) +pygame.draw.rect(DISPLAYSURF, RED, (200, 150, 100, 50)) + +pixObj = pygame.PixelArray(DISPLAYSURF) +pixObj[380][280] = BLACK +pixObj[382][282] = BLACK +pixObj[384][284] = BLACK +pixObj[386][286] = BLACK +pixObj[388][288] = BLACK +del pixObj + +# run the game loop +while True: + for event in pygame.event.get(): + if event.type == QUIT: + pygame.quit() + sys.exit() + pygame.display.update() diff --git a/python_games/flippy.py b/python_games/flippy.py new file mode 100644 index 0000000..6be8374 --- /dev/null +++ b/python_games/flippy.py @@ -0,0 +1,518 @@ +# Flippy (an Othello or Reversi clone) +# By Al Sweigart al@inventwithpython.com +# http://inventwithpython.com/pygame +# Released under a "Simplified BSD" license + +# Based on the "reversi.py" code that originally appeared in "Invent +# Your Own Computer Games with Python", chapter 15: +# http://inventwithpython.com/chapter15.html + +import random, sys, pygame, time, copy +from pygame.locals import * + +FPS = 10 # frames per second to update the screen +WINDOWWIDTH = 640 # width of the program's window, in pixels +WINDOWHEIGHT = 480 # height in pixels +SPACESIZE = 50 # width & height of each space on the board, in pixels +BOARDWIDTH = 8 # how many columns of spaces on the game board +BOARDHEIGHT = 8 # how many rows of spaces on the game board +WHITE_TILE = 'WHITE_TILE' # an arbitrary but unique value +BLACK_TILE = 'BLACK_TILE' # an arbitrary but unique value +EMPTY_SPACE = 'EMPTY_SPACE' # an arbitrary but unique value +HINT_TILE = 'HINT_TILE' # an arbitrary but unique value +ANIMATIONSPEED = 25 # integer from 1 to 100, higher is faster animation + +# Amount of space on the left & right side (XMARGIN) or above and below +# (YMARGIN) the game board, in pixels. +XMARGIN = int((WINDOWWIDTH - (BOARDWIDTH * SPACESIZE)) / 2) +YMARGIN = int((WINDOWHEIGHT - (BOARDHEIGHT * SPACESIZE)) / 2) + +# R G B +WHITE = (255, 255, 255) +BLACK = ( 0, 0, 0) +GREEN = ( 0, 155, 0) +BRIGHTBLUE = ( 0, 50, 255) +BROWN = (174, 94, 0) + +TEXTBGCOLOR1 = BRIGHTBLUE +TEXTBGCOLOR2 = GREEN +GRIDLINECOLOR = BLACK +TEXTCOLOR = WHITE +HINTCOLOR = BROWN + + +def main(): + global MAINCLOCK, DISPLAYSURF, FONT, BIGFONT, BGIMAGE + + pygame.init() + MAINCLOCK = pygame.time.Clock() + DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT)) + pygame.display.set_caption('Flippy') + FONT = pygame.font.Font('freesansbold.ttf', 16) + BIGFONT = pygame.font.Font('freesansbold.ttf', 32) + + # Set up the background image. + boardImage = pygame.image.load('flippyboard.png') + # Use smoothscale() to stretch the board image to fit the entire board: + boardImage = pygame.transform.smoothscale(boardImage, (BOARDWIDTH * SPACESIZE, BOARDHEIGHT * SPACESIZE)) + boardImageRect = boardImage.get_rect() + boardImageRect.topleft = (XMARGIN, YMARGIN) + BGIMAGE = pygame.image.load('flippybackground.png') + # Use smoothscale() to stretch the background image to fit the entire window: + BGIMAGE = pygame.transform.smoothscale(BGIMAGE, (WINDOWWIDTH, WINDOWHEIGHT)) + BGIMAGE.blit(boardImage, boardImageRect) + + # Run the main game. + while True: + if runGame() == False: + break + + +def runGame(): + # Plays a single game of reversi each time this function is called. + + # Reset the board and game. + mainBoard = getNewBoard() + resetBoard(mainBoard) + showHints = False + turn = random.choice(['computer', 'player']) + + # Draw the starting board and ask the player what color they want. + drawBoard(mainBoard) + playerTile, computerTile = enterPlayerTile() + + # Make the Surface and Rect objects for the "New Game" and "Hints" buttons + newGameSurf = FONT.render('New Game', True, TEXTCOLOR, TEXTBGCOLOR2) + newGameRect = newGameSurf.get_rect() + newGameRect.topright = (WINDOWWIDTH - 8, 10) + hintsSurf = FONT.render('Hints', True, TEXTCOLOR, TEXTBGCOLOR2) + hintsRect = hintsSurf.get_rect() + hintsRect.topright = (WINDOWWIDTH - 8, 40) + + while True: # main game loop + # Keep looping for player and computer's turns. + if turn == 'player': + # Player's turn: + if getValidMoves(mainBoard, playerTile) == []: + # If it's the player's turn but they + # can't move, then end the game. + break + movexy = None + while movexy == None: + # Keep looping until the player clicks on a valid space. + + # Determine which board data structure to use for display. + if showHints: + boardToDraw = getBoardWithValidMoves(mainBoard, playerTile) + else: + boardToDraw = mainBoard + + checkForQuit() + for event in pygame.event.get(): # event handling loop + if event.type == MOUSEBUTTONUP: + # Handle mouse click events + mousex, mousey = event.pos + if newGameRect.collidepoint( (mousex, mousey) ): + # Start a new game + return True + elif hintsRect.collidepoint( (mousex, mousey) ): + # Toggle hints mode + showHints = not showHints + # movexy is set to a two-item tuple XY coordinate, or None value + movexy = getSpaceClicked(mousex, mousey) + if movexy != None and not isValidMove(mainBoard, playerTile, movexy[0], movexy[1]): + movexy = None + + # Draw the game board. + drawBoard(boardToDraw) + drawInfo(boardToDraw, playerTile, computerTile, turn) + + # Draw the "New Game" and "Hints" buttons. + DISPLAYSURF.blit(newGameSurf, newGameRect) + DISPLAYSURF.blit(hintsSurf, hintsRect) + + MAINCLOCK.tick(FPS) + pygame.display.update() + + # Make the move and end the turn. + makeMove(mainBoard, playerTile, movexy[0], movexy[1], True) + if getValidMoves(mainBoard, computerTile) != []: + # Only set for the computer's turn if it can make a move. + turn = 'computer' + + else: + # Computer's turn: + if getValidMoves(mainBoard, computerTile) == []: + # If it was set to be the computer's turn but + # they can't move, then end the game. + break + + # Draw the board. + drawBoard(mainBoard) + drawInfo(mainBoard, playerTile, computerTile, turn) + + # Draw the "New Game" and "Hints" buttons. + DISPLAYSURF.blit(newGameSurf, newGameRect) + DISPLAYSURF.blit(hintsSurf, hintsRect) + + # Make it look like the computer is thinking by pausing a bit. + pauseUntil = time.time() + random.randint(5, 15) * 0.1 + while time.time() < pauseUntil: + pygame.display.update() + + # Make the move and end the turn. + x, y = getComputerMove(mainBoard, computerTile) + makeMove(mainBoard, computerTile, x, y, True) + if getValidMoves(mainBoard, playerTile) != []: + # Only set for the player's turn if they can make a move. + turn = 'player' + + # Display the final score. + drawBoard(mainBoard) + scores = getScoreOfBoard(mainBoard) + + # Determine the text of the message to display. + if scores[playerTile] > scores[computerTile]: + text = 'You beat the computer by %s points! Congratulations!' % \ + (scores[playerTile] - scores[computerTile]) + elif scores[playerTile] < scores[computerTile]: + text = 'You lost. The computer beat you by %s points.' % \ + (scores[computerTile] - scores[playerTile]) + else: + text = 'The game was a tie!' + + textSurf = FONT.render(text, True, TEXTCOLOR, TEXTBGCOLOR1) + textRect = textSurf.get_rect() + textRect.center = (int(WINDOWWIDTH / 2), int(WINDOWHEIGHT / 2)) + DISPLAYSURF.blit(textSurf, textRect) + + # Display the "Play again?" text with Yes and No buttons. + text2Surf = BIGFONT.render('Play again?', True, TEXTCOLOR, TEXTBGCOLOR1) + text2Rect = text2Surf.get_rect() + text2Rect.center = (int(WINDOWWIDTH / 2), int(WINDOWHEIGHT / 2) + 50) + + # Make "Yes" button. + yesSurf = BIGFONT.render('Yes', True, TEXTCOLOR, TEXTBGCOLOR1) + yesRect = yesSurf.get_rect() + yesRect.center = (int(WINDOWWIDTH / 2) - 60, int(WINDOWHEIGHT / 2) + 90) + + # Make "No" button. + noSurf = BIGFONT.render('No', True, TEXTCOLOR, TEXTBGCOLOR1) + noRect = noSurf.get_rect() + noRect.center = (int(WINDOWWIDTH / 2) + 60, int(WINDOWHEIGHT / 2) + 90) + + while True: + # Process events until the user clicks on Yes or No. + checkForQuit() + for event in pygame.event.get(): # event handling loop + if event.type == MOUSEBUTTONUP: + mousex, mousey = event.pos + if yesRect.collidepoint( (mousex, mousey) ): + return True + elif noRect.collidepoint( (mousex, mousey) ): + return False + DISPLAYSURF.blit(textSurf, textRect) + DISPLAYSURF.blit(text2Surf, text2Rect) + DISPLAYSURF.blit(yesSurf, yesRect) + DISPLAYSURF.blit(noSurf, noRect) + pygame.display.update() + MAINCLOCK.tick(FPS) + + +def translateBoardToPixelCoord(x, y): + return XMARGIN + x * SPACESIZE + int(SPACESIZE / 2), YMARGIN + y * SPACESIZE + int(SPACESIZE / 2) + + +def animateTileChange(tilesToFlip, tileColor, additionalTile): + # Draw the additional tile that was just laid down. (Otherwise we'd + # have to completely redraw the board & the board info.) + if tileColor == WHITE_TILE: + additionalTileColor = WHITE + else: + additionalTileColor = BLACK + additionalTileX, additionalTileY = translateBoardToPixelCoord(additionalTile[0], additionalTile[1]) + pygame.draw.circle(DISPLAYSURF, additionalTileColor, (additionalTileX, additionalTileY), int(SPACESIZE / 2) - 4) + pygame.display.update() + + for rgbValues in range(0, 255, int(ANIMATIONSPEED * 2.55)): + if rgbValues > 255: + rgbValues = 255 + elif rgbValues < 0: + rgbValues = 0 + + if tileColor == WHITE_TILE: + color = tuple([rgbValues] * 3) # rgbValues goes from 0 to 255 + elif tileColor == BLACK_TILE: + color = tuple([255 - rgbValues] * 3) # rgbValues goes from 255 to 0 + + for x, y in tilesToFlip: + centerx, centery = translateBoardToPixelCoord(x, y) + pygame.draw.circle(DISPLAYSURF, color, (centerx, centery), int(SPACESIZE / 2) - 4) + pygame.display.update() + MAINCLOCK.tick(FPS) + checkForQuit() + + +def drawBoard(board): + # Draw background of board. + DISPLAYSURF.blit(BGIMAGE, BGIMAGE.get_rect()) + + # Draw grid lines of the board. + for x in range(BOARDWIDTH + 1): + # Draw the horizontal lines. + startx = (x * SPACESIZE) + XMARGIN + starty = YMARGIN + endx = (x * SPACESIZE) + XMARGIN + endy = YMARGIN + (BOARDHEIGHT * SPACESIZE) + pygame.draw.line(DISPLAYSURF, GRIDLINECOLOR, (startx, starty), (endx, endy)) + for y in range(BOARDHEIGHT + 1): + # Draw the vertical lines. + startx = XMARGIN + starty = (y * SPACESIZE) + YMARGIN + endx = XMARGIN + (BOARDWIDTH * SPACESIZE) + endy = (y * SPACESIZE) + YMARGIN + pygame.draw.line(DISPLAYSURF, GRIDLINECOLOR, (startx, starty), (endx, endy)) + + # Draw the black & white tiles or hint spots. + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + centerx, centery = translateBoardToPixelCoord(x, y) + if board[x][y] == WHITE_TILE or board[x][y] == BLACK_TILE: + if board[x][y] == WHITE_TILE: + tileColor = WHITE + else: + tileColor = BLACK + pygame.draw.circle(DISPLAYSURF, tileColor, (centerx, centery), int(SPACESIZE / 2) - 4) + if board[x][y] == HINT_TILE: + pygame.draw.rect(DISPLAYSURF, HINTCOLOR, (centerx - 4, centery - 4, 8, 8)) + + +def getSpaceClicked(mousex, mousey): + # Return a tuple of two integers of the board space coordinates where + # the mouse was clicked. (Or returns None not in any space.) + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + if mousex > x * SPACESIZE + XMARGIN and \ + mousex < (x + 1) * SPACESIZE + XMARGIN and \ + mousey > y * SPACESIZE + YMARGIN and \ + mousey < (y + 1) * SPACESIZE + YMARGIN: + return (x, y) + return None + + +def drawInfo(board, playerTile, computerTile, turn): + # Draws scores and whose turn it is at the bottom of the screen. + scores = getScoreOfBoard(board) + scoreSurf = FONT.render("Player Score: %s Computer Score: %s %s's Turn" % (str(scores[playerTile]), str(scores[computerTile]), turn.title()), True, TEXTCOLOR) + scoreRect = scoreSurf.get_rect() + scoreRect.bottomleft = (10, WINDOWHEIGHT - 5) + DISPLAYSURF.blit(scoreSurf, scoreRect) + + +def resetBoard(board): + # Blanks out the board it is passed, and sets up starting tiles. + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + board[x][y] = EMPTY_SPACE + + # Add starting pieces to the center + board[3][3] = WHITE_TILE + board[3][4] = BLACK_TILE + board[4][3] = BLACK_TILE + board[4][4] = WHITE_TILE + + +def getNewBoard(): + # Creates a brand new, empty board data structure. + board = [] + for i in range(BOARDWIDTH): + board.append([EMPTY_SPACE] * BOARDHEIGHT) + + return board + + +def isValidMove(board, tile, xstart, ystart): + # Returns False if the player's move is invalid. If it is a valid + # move, returns a list of spaces of the captured pieces. + if board[xstart][ystart] != EMPTY_SPACE or not isOnBoard(xstart, ystart): + return False + + board[xstart][ystart] = tile # temporarily set the tile on the board. + + if tile == WHITE_TILE: + otherTile = BLACK_TILE + else: + otherTile = WHITE_TILE + + tilesToFlip = [] + # check each of the eight directions: + for xdirection, ydirection in [[0, 1], [1, 1], [1, 0], [1, -1], [0, -1], [-1, -1], [-1, 0], [-1, 1]]: + x, y = xstart, ystart + x += xdirection + y += ydirection + if isOnBoard(x, y) and board[x][y] == otherTile: + # The piece belongs to the other player next to our piece. + x += xdirection + y += ydirection + if not isOnBoard(x, y): + continue + while board[x][y] == otherTile: + x += xdirection + y += ydirection + if not isOnBoard(x, y): + break # break out of while loop, continue in for loop + if not isOnBoard(x, y): + continue + if board[x][y] == tile: + # There are pieces to flip over. Go in the reverse + # direction until we reach the original space, noting all + # the tiles along the way. + while True: + x -= xdirection + y -= ydirection + if x == xstart and y == ystart: + break + tilesToFlip.append([x, y]) + + board[xstart][ystart] = EMPTY_SPACE # make space empty + if len(tilesToFlip) == 0: # If no tiles flipped, this move is invalid + return False + return tilesToFlip + + +def isOnBoard(x, y): + # Returns True if the coordinates are located on the board. + return x >= 0 and x < BOARDWIDTH and y >= 0 and y < BOARDHEIGHT + + +def getBoardWithValidMoves(board, tile): + # Returns a new board with hint markings. + dupeBoard = copy.deepcopy(board) + + for x, y in getValidMoves(dupeBoard, tile): + dupeBoard[x][y] = HINT_TILE + return dupeBoard + + +def getValidMoves(board, tile): + # Returns a list of (x,y) tuples of all valid moves. + validMoves = [] + + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + if isValidMove(board, tile, x, y) != False: + validMoves.append((x, y)) + return validMoves + + +def getScoreOfBoard(board): + # Determine the score by counting the tiles. + xscore = 0 + oscore = 0 + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + if board[x][y] == WHITE_TILE: + xscore += 1 + if board[x][y] == BLACK_TILE: + oscore += 1 + return {WHITE_TILE:xscore, BLACK_TILE:oscore} + + +def enterPlayerTile(): + # Draws the text and handles the mouse click events for letting + # the player choose which color they want to be. Returns + # [WHITE_TILE, BLACK_TILE] if the player chooses to be White, + # [BLACK_TILE, WHITE_TILE] if Black. + + # Create the text. + textSurf = FONT.render('Do you want to be white or black?', True, TEXTCOLOR, TEXTBGCOLOR1) + textRect = textSurf.get_rect() + textRect.center = (int(WINDOWWIDTH / 2), int(WINDOWHEIGHT / 2)) + + xSurf = BIGFONT.render('White', True, TEXTCOLOR, TEXTBGCOLOR1) + xRect = xSurf.get_rect() + xRect.center = (int(WINDOWWIDTH / 2) - 60, int(WINDOWHEIGHT / 2) + 40) + + oSurf = BIGFONT.render('Black', True, TEXTCOLOR, TEXTBGCOLOR1) + oRect = oSurf.get_rect() + oRect.center = (int(WINDOWWIDTH / 2) + 60, int(WINDOWHEIGHT / 2) + 40) + + while True: + # Keep looping until the player has clicked on a color. + checkForQuit() + for event in pygame.event.get(): # event handling loop + if event.type == MOUSEBUTTONUP: + mousex, mousey = event.pos + if xRect.collidepoint( (mousex, mousey) ): + return [WHITE_TILE, BLACK_TILE] + elif oRect.collidepoint( (mousex, mousey) ): + return [BLACK_TILE, WHITE_TILE] + + # Draw the screen. + DISPLAYSURF.blit(textSurf, textRect) + DISPLAYSURF.blit(xSurf, xRect) + DISPLAYSURF.blit(oSurf, oRect) + pygame.display.update() + MAINCLOCK.tick(FPS) + + +def makeMove(board, tile, xstart, ystart, realMove=False): + # Place the tile on the board at xstart, ystart, and flip tiles + # Returns False if this is an invalid move, True if it is valid. + tilesToFlip = isValidMove(board, tile, xstart, ystart) + + if tilesToFlip == False: + return False + + board[xstart][ystart] = tile + + if realMove: + animateTileChange(tilesToFlip, tile, (xstart, ystart)) + + for x, y in tilesToFlip: + board[x][y] = tile + return True + + +def isOnCorner(x, y): + # Returns True if the position is in one of the four corners. + return (x == 0 and y == 0) or \ + (x == BOARDWIDTH and y == 0) or \ + (x == 0 and y == BOARDHEIGHT) or \ + (x == BOARDWIDTH and y == BOARDHEIGHT) + + +def getComputerMove(board, computerTile): + # Given a board and the computer's tile, determine where to + # move and return that move as a [x, y] list. + possibleMoves = getValidMoves(board, computerTile) + + # randomize the order of the possible moves + random.shuffle(possibleMoves) + + # always go for a corner if available. + for x, y in possibleMoves: + if isOnCorner(x, y): + return [x, y] + + # Go through all possible moves and remember the best scoring move + bestScore = -1 + for x, y in possibleMoves: + dupeBoard = copy.deepcopy(board) + makeMove(dupeBoard, computerTile, x, y) + score = getScoreOfBoard(dupeBoard)[computerTile] + if score > bestScore: + bestMove = [x, y] + bestScore = score + return bestMove + + +def checkForQuit(): + for event in pygame.event.get((QUIT, KEYUP)): # event handling loop + if event.type == QUIT or (event.type == KEYUP and event.key == K_ESCAPE): + pygame.quit() + sys.exit() + + +if __name__ == '__main__': + main() diff --git a/python_games/flippybackground.png b/python_games/flippybackground.png new file mode 100644 index 0000000000000000000000000000000000000000..7c82b31e716dd3128e5a0e3b775959a827d6575f GIT binary patch literal 83036 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%0DWadv+Gy_#$%TntRT)Jc>8 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 Q{Qv*}07*qoM6N<$f(9<}f&c&j literal 0 HcmV?d00001 diff --git a/python_games/flippyboard.png b/python_games/flippyboard.png new file mode 100644 index 0000000000000000000000000000000000000000..b39e5a1aa9ada942a7ec68c41e8d771f60ccebd2 GIT binary patch literal 340760 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≤ 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%0AfB7|kNgDR?{X3#YygCO8TaVFWfC(M9 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 KMNUMnLSTZ44Lq0t literal 0 HcmV?d00001 diff --git a/python_games/fourinarow.py b/python_games/fourinarow.py new file mode 100644 index 0000000..cba9f08 --- /dev/null +++ b/python_games/fourinarow.py @@ -0,0 +1,363 @@ +# Four-In-A-Row (a Connect Four clone) +# By Al Sweigart al@inventwithpython.com +# http://inventwithpython.com/pygame +# Released under a "Simplified BSD" license + +import random, copy, sys, pygame +from pygame.locals import * + +BOARDWIDTH = 7 # how many spaces wide the board is +BOARDHEIGHT = 6 # how many spaces tall the board is +assert BOARDWIDTH >= 4 and BOARDHEIGHT >= 4, 'Board must be at least 4x4.' + +DIFFICULTY = 2 # how many moves to look ahead. (>2 is usually too much) + +SPACESIZE = 50 # size of the tokens and individual board spaces in pixels + +FPS = 30 # frames per second to update the screen +WINDOWWIDTH = 640 # width of the program's window, in pixels +WINDOWHEIGHT = 480 # height in pixels + +XMARGIN = int((WINDOWWIDTH - BOARDWIDTH * SPACESIZE) / 2) +YMARGIN = int((WINDOWHEIGHT - BOARDHEIGHT * SPACESIZE) / 2) + +BRIGHTBLUE = (0, 50, 255) +WHITE = (255, 255, 255) + +BGCOLOR = BRIGHTBLUE +TEXTCOLOR = WHITE + +RED = 'red' +BLACK = 'black' +EMPTY = None +HUMAN = 'human' +COMPUTER = 'computer' + + +def main(): + global FPSCLOCK, DISPLAYSURF, REDPILERECT, BLACKPILERECT, REDTOKENIMG + global BLACKTOKENIMG, BOARDIMG, ARROWIMG, ARROWRECT, HUMANWINNERIMG + global COMPUTERWINNERIMG, WINNERRECT, TIEWINNERIMG + + pygame.init() + FPSCLOCK = pygame.time.Clock() + DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT)) + pygame.display.set_caption('Four in a Row') + + REDPILERECT = pygame.Rect(int(SPACESIZE / 2), WINDOWHEIGHT - int(3 * SPACESIZE / 2), SPACESIZE, SPACESIZE) + BLACKPILERECT = pygame.Rect(WINDOWWIDTH - int(3 * SPACESIZE / 2), WINDOWHEIGHT - int(3 * SPACESIZE / 2), SPACESIZE, SPACESIZE) + REDTOKENIMG = pygame.image.load('4row_red.png') + REDTOKENIMG = pygame.transform.smoothscale(REDTOKENIMG, (SPACESIZE, SPACESIZE)) + BLACKTOKENIMG = pygame.image.load('4row_black.png') + BLACKTOKENIMG = pygame.transform.smoothscale(BLACKTOKENIMG, (SPACESIZE, SPACESIZE)) + BOARDIMG = pygame.image.load('4row_board.png') + BOARDIMG = pygame.transform.smoothscale(BOARDIMG, (SPACESIZE, SPACESIZE)) + + HUMANWINNERIMG = pygame.image.load('4row_humanwinner.png') + COMPUTERWINNERIMG = pygame.image.load('4row_computerwinner.png') + TIEWINNERIMG = pygame.image.load('4row_tie.png') + WINNERRECT = HUMANWINNERIMG.get_rect() + WINNERRECT.center = (int(WINDOWWIDTH / 2), int(WINDOWHEIGHT / 2)) + + ARROWIMG = pygame.image.load('4row_arrow.png') + ARROWRECT = ARROWIMG.get_rect() + ARROWRECT.left = REDPILERECT.right + 10 + ARROWRECT.centery = REDPILERECT.centery + + isFirstGame = True + + while True: + runGame(isFirstGame) + isFirstGame = False + + +def runGame(isFirstGame): + if isFirstGame: + # Let the computer go first on the first game, so the player + # can see how the tokens are dragged from the token piles. + turn = COMPUTER + showHelp = True + else: + # Randomly choose who goes first. + if random.randint(0, 1) == 0: + turn = COMPUTER + else: + turn = HUMAN + showHelp = False + + # Set up a blank board data structure. + mainBoard = getNewBoard() + + while True: # main game loop + if turn == HUMAN: + # Human player's turn. + getHumanMove(mainBoard, showHelp) + if showHelp: + # turn off help arrow after the first move + showHelp = False + if isWinner(mainBoard, RED): + winnerImg = HUMANWINNERIMG + break + turn = COMPUTER # switch to other player's turn + else: + # Computer player's turn. + column = getComputerMove(mainBoard) + animateComputerMoving(mainBoard, column) + makeMove(mainBoard, BLACK, column) + if isWinner(mainBoard, BLACK): + winnerImg = COMPUTERWINNERIMG + break + turn = HUMAN # switch to other player's turn + + if isBoardFull(mainBoard): + # A completely filled board means it's a tie. + winnerImg = TIEWINNERIMG + break + + while True: + # Keep looping until player clicks the mouse or quits. + drawBoard(mainBoard) + DISPLAYSURF.blit(winnerImg, WINNERRECT) + pygame.display.update() + FPSCLOCK.tick() + for event in pygame.event.get(): # event handling loop + if event.type == QUIT or (event.type == KEYUP and event.key == K_ESCAPE): + pygame.quit() + sys.exit() + elif event.type == MOUSEBUTTONUP: + return + + +def makeMove(board, player, column): + lowest = getLowestEmptySpace(board, column) + if lowest != -1: + board[column][lowest] = player + + +def drawBoard(board, extraToken=None): + DISPLAYSURF.fill(BGCOLOR) + + # draw tokens + spaceRect = pygame.Rect(0, 0, SPACESIZE, SPACESIZE) + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + spaceRect.topleft = (XMARGIN + (x * SPACESIZE), YMARGIN + (y * SPACESIZE)) + if board[x][y] == RED: + DISPLAYSURF.blit(REDTOKENIMG, spaceRect) + elif board[x][y] == BLACK: + DISPLAYSURF.blit(BLACKTOKENIMG, spaceRect) + + # draw the extra token + if extraToken != None: + if extraToken['color'] == RED: + DISPLAYSURF.blit(REDTOKENIMG, (extraToken['x'], extraToken['y'], SPACESIZE, SPACESIZE)) + elif extraToken['color'] == BLACK: + DISPLAYSURF.blit(BLACKTOKENIMG, (extraToken['x'], extraToken['y'], SPACESIZE, SPACESIZE)) + + # draw board over the tokens + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + spaceRect.topleft = (XMARGIN + (x * SPACESIZE), YMARGIN + (y * SPACESIZE)) + DISPLAYSURF.blit(BOARDIMG, spaceRect) + + # draw the red and black tokens off to the side + DISPLAYSURF.blit(REDTOKENIMG, REDPILERECT) # red on the left + DISPLAYSURF.blit(BLACKTOKENIMG, BLACKPILERECT) # black on the right + + +def getNewBoard(): + board = [] + for x in range(BOARDWIDTH): + board.append([EMPTY] * BOARDHEIGHT) + return board + + +def getHumanMove(board, isFirstMove): + draggingToken = False + tokenx, tokeny = None, None + while True: + for event in pygame.event.get(): # event handling loop + if event.type == QUIT: + pygame.quit() + sys.exit() + elif event.type == MOUSEBUTTONDOWN and not draggingToken and REDPILERECT.collidepoint(event.pos): + # start of dragging on red token pile. + draggingToken = True + tokenx, tokeny = event.pos + elif event.type == MOUSEMOTION and draggingToken: + # update the position of the red token being dragged + tokenx, tokeny = event.pos + elif event.type == MOUSEBUTTONUP and draggingToken: + # let go of the token being dragged + if tokeny < YMARGIN and tokenx > XMARGIN and tokenx < WINDOWWIDTH - XMARGIN: + # let go at the top of the screen. + column = int((tokenx - XMARGIN) / SPACESIZE) + if isValidMove(board, column): + animateDroppingToken(board, column, RED) + board[column][getLowestEmptySpace(board, column)] = RED + drawBoard(board) + pygame.display.update() + return + tokenx, tokeny = None, None + draggingToken = False + if tokenx != None and tokeny != None: + drawBoard(board, {'x':tokenx - int(SPACESIZE / 2), 'y':tokeny - int(SPACESIZE / 2), 'color':RED}) + else: + drawBoard(board) + + if isFirstMove: + # Show the help arrow for the player's first move. + DISPLAYSURF.blit(ARROWIMG, ARROWRECT) + + pygame.display.update() + FPSCLOCK.tick() + + +def animateDroppingToken(board, column, color): + x = XMARGIN + column * SPACESIZE + y = YMARGIN - SPACESIZE + dropSpeed = 1.0 + + lowestEmptySpace = getLowestEmptySpace(board, column) + + while True: + y += int(dropSpeed) + dropSpeed += 0.5 + if int((y - YMARGIN) / SPACESIZE) >= lowestEmptySpace: + return + drawBoard(board, {'x':x, 'y':y, 'color':color}) + pygame.display.update() + FPSCLOCK.tick() + + +def animateComputerMoving(board, column): + x = BLACKPILERECT.left + y = BLACKPILERECT.top + speed = 1.0 + # moving the black tile up + while y > (YMARGIN - SPACESIZE): + y -= int(speed) + speed += 0.5 + drawBoard(board, {'x':x, 'y':y, 'color':BLACK}) + pygame.display.update() + FPSCLOCK.tick() + # moving the black tile over + y = YMARGIN - SPACESIZE + speed = 1.0 + while x > (XMARGIN + column * SPACESIZE): + x -= int(speed) + speed += 0.5 + drawBoard(board, {'x':x, 'y':y, 'color':BLACK}) + pygame.display.update() + FPSCLOCK.tick() + # dropping the black tile + animateDroppingToken(board, column, BLACK) + + +def getComputerMove(board): + potentialMoves = getPotentialMoves(board, BLACK, DIFFICULTY) + # get the best fitness from the potential moves + bestMoveFitness = -1 + for i in range(BOARDWIDTH): + if potentialMoves[i] > bestMoveFitness and isValidMove(board, i): + bestMoveFitness = potentialMoves[i] + # find all potential moves that have this best fitness + bestMoves = [] + for i in range(len(potentialMoves)): + if potentialMoves[i] == bestMoveFitness and isValidMove(board, i): + bestMoves.append(i) + return random.choice(bestMoves) + + +def getPotentialMoves(board, tile, lookAhead): + if lookAhead == 0 or isBoardFull(board): + return [0] * BOARDWIDTH + + if tile == RED: + enemyTile = BLACK + else: + enemyTile = RED + + # Figure out the best move to make. + potentialMoves = [0] * BOARDWIDTH + for firstMove in range(BOARDWIDTH): + dupeBoard = copy.deepcopy(board) + if not isValidMove(dupeBoard, firstMove): + continue + makeMove(dupeBoard, tile, firstMove) + if isWinner(dupeBoard, tile): + # a winning move automatically gets a perfect fitness + potentialMoves[firstMove] = 1 + break # don't bother calculating other moves + else: + # do other player's counter moves and determine best one + if isBoardFull(dupeBoard): + potentialMoves[firstMove] = 0 + else: + for counterMove in range(BOARDWIDTH): + dupeBoard2 = copy.deepcopy(dupeBoard) + if not isValidMove(dupeBoard2, counterMove): + continue + makeMove(dupeBoard2, enemyTile, counterMove) + if isWinner(dupeBoard2, enemyTile): + # a losing move automatically gets the worst fitness + potentialMoves[firstMove] = -1 + break + else: + # do the recursive call to getPotentialMoves() + results = getPotentialMoves(dupeBoard2, tile, lookAhead - 1) + potentialMoves[firstMove] += (sum(results) / BOARDWIDTH) / BOARDWIDTH + return potentialMoves + + +def getLowestEmptySpace(board, column): + # Return the row number of the lowest empty row in the given column. + for y in range(BOARDHEIGHT-1, -1, -1): + if board[column][y] == EMPTY: + return y + return -1 + + +def isValidMove(board, column): + # Returns True if there is an empty space in the given column. + # Otherwise returns False. + if column < 0 or column >= (BOARDWIDTH) or board[column][0] != EMPTY: + return False + return True + + +def isBoardFull(board): + # Returns True if there are no empty spaces anywhere on the board. + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + if board[x][y] == EMPTY: + return False + return True + + +def isWinner(board, tile): + # check horizontal spaces + for x in range(BOARDWIDTH - 3): + for y in range(BOARDHEIGHT): + if board[x][y] == tile and board[x+1][y] == tile and board[x+2][y] == tile and board[x+3][y] == tile: + return True + # check vertical spaces + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT - 3): + if board[x][y] == tile and board[x][y+1] == tile and board[x][y+2] == tile and board[x][y+3] == tile: + return True + # check / diagonal spaces + for x in range(BOARDWIDTH - 3): + for y in range(3, BOARDHEIGHT): + if board[x][y] == tile and board[x+1][y-1] == tile and board[x+2][y-2] == tile and board[x+3][y-3] == tile: + return True + # check \ diagonal spaces + for x in range(BOARDWIDTH - 3): + for y in range(BOARDHEIGHT - 3): + if board[x][y] == tile and board[x+1][y+1] == tile and board[x+2][y+2] == tile and board[x+3][y+3] == tile: + return True + return False + + +if __name__ == '__main__': + main() diff --git a/python_games/gameicon.png b/python_games/gameicon.png new file mode 100644 index 0000000000000000000000000000000000000000..45ae16a2cdb7abe03e6d018a4a7933c69a11ba77 GIT binary patch literal 2134 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 Y7rVW8J(h>)zyJUM07*qoM6N<$f=ws!7XSbN literal 0 HcmV?d00001 diff --git a/python_games/gem2.png b/python_games/gem2.png new file mode 100644 index 0000000000000000000000000000000000000000..f379d8da63cf33f862d7ef76ecc26f83edfbf075 GIT binary patch literal 5665 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 Hu0mjfpM1O? literal 0 HcmV?d00001 diff --git a/python_games/gem3.png b/python_games/gem3.png new file mode 100644 index 0000000000000000000000000000000000000000..f5e96d50d4db3d307de4538c4240ac392ddb22ea GIT binary patch literal 3454 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 gz5)Q2+n{07*qoM6N<$g2t(2g#Z8m literal 0 HcmV?d00001 diff --git a/python_games/gem4.png b/python_games/gem4.png new file mode 100644 index 0000000000000000000000000000000000000000..dacebcf514823084cdbba8465a2f5857176630bb GIT binary patch literal 4217 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 FV1jqOG;#m{ literal 0 HcmV?d00001 diff --git a/python_games/gem6.png b/python_games/gem6.png new file mode 100644 index 0000000000000000000000000000000000000000..38ecf5080689fc3d8331c0ca65fd344c7febfe6b GIT binary patch literal 1681 zcmV;C25$L@P)o-ZQ2~$R7Ij3DnKZ$kczkgz6BSkmwW=g0OF1-1cC~I zN~>N(6hxs^Y6+r1>NHJaa&&yC9Xq@0oq1VVqminhc3EHag6OY#^vsMj?|+}?o#Tec zXG-G#UEqPh1Azwu85IarsQ>~45wAKZww9JClnRt8W!`ql8_pvDXcz_bFMvYbl!ke2bx&EhYR(4=d(3Ex;>Q&v zYHH4S)@yzuqUz`%0%Rq*Ay-`Tw#yFqhNp}nehh%Zx)tAa&(8n^1`{AbBFO#LEjb=? z%(z8sqDU19qP8KsH7z>pcWwcKFql9hloYN5mU_&2%e@{QQI4X5eO_=%(Dano00tEx zEhTc3hAm2*cfc{HopV*Entp{s4(25e8?x?+z6Fv`-Wk9#k9*W}j$3fal)7=#cA4oh zZPqTMfb&))Hq6RE5Ex7#fK-s$Z_2EL9`lZ$`;}=Yx1^4Gtj7_LI_o58Sr>KGrGOwA ztOa2U5{V%lnV>C|dt0KQ0w#UM-!(+JLKILPWzY&F2naHXps;Dum}!%!ms^3BM511* zRfDoEfyzHf1=Wp0D%CXBW7v=yRkiN_%?1}BsYDW4rIkpf5)ET^7}G#Cco`G6Jqas? zL@EfzOKtQYpua{+J(m{tE5Oi#4 z*>KN>jv$Dp?(2Ly_#8-tG6qe<>KYpM`IfKxnx`Fdu*ab-9@5ox)-kz66t{mJfFOXx zq@Bi1nlb9TKJSWKZd>SayUf;H_kyO}xK?>tg23P{AOWeJ_8BwcsHT@K+hMn9Q>IHM zan8S`o;B{0b#+6)_OAm3D6R9Ew)^Zp`Jw+jSeJI@0F zL1M^J3of~<<`J82$poq=f}m;4Z(J}bGhtThj1RRKTp$RQ!jyf!q-|ayvEPKQLO~fR zv~{#y#}oGII_Xud!EeV=s-~`CLuv|pz2J{7x@E;$DNu-88C`8HHEj)N49m^xqNX<3 z9Ecir+T*Z8X8j9fjyU5Pr=4=L$B7=txANm#%R$39YLAv-%hoYvOdPBQBW4Vluq-$y zcfw7pKC6gt6Nr~ZP`Vuf|?Hnxg}pW?+ZqC1{0_ocf@}0c)!Q@jhfKW*0!Nj zmOqv;>e^JO3of`OH{;vRYHR4)7)*d!C+xAysyWeRIUo@c6_i;NL=>V;cagj5afuto zto1LTI^vKaH|^DyIp_lq+hJ3VSPdHGsMZwKzK)N)Y`418MlC}S`x784bVoXq=Dg~2 zF1T&hrjO*++aSu}?yp5u*fj5bD|S0z(-^cxvA?q*w`ud<#d^Ez#{rHP3jT=_A6@o-nXv8W~ zAW}u5VaGk`VN5z)%>DSvn-Z~KfelMW=3cpZwQ+iFqMZ}XS!6=xG6KnG&Q6QNMX~4JC?2X*wF3oQ*EJRO>V=mhD;C!|4ypy zo;4fVivG`n?$&ZoO(q#opgNyyZc!-cs|EMJ7;TF}EJ1%Q0HPd$Z4&up9{h3nnF~A+ bcp&f}CCHRS1S9Vd00000NkvXXu0mjf_b3kR literal 0 HcmV?d00001 diff --git a/python_games/gem7.png b/python_games/gem7.png new file mode 100644 index 0000000000000000000000000000000000000000..b76337843f987283bea478a7ea4ca8e3d05c7e4b GIT binary patch literal 3132 zcmV-C48!w@P)C;Y z`RAWEIW0y+?VE4T+r)_zf0dDuJ~jbDxF-V;O_aTCS%I8ykfUjZg@rbB=ujIrY?u`k z6j*6#sWmk<+1RnwV!;(_Z*Py+)J%U7@Omr&$z@N@&Zw)ao5}^Ke)jBH`|7K&tfi&J z7!?&2_R>o)oB9GfefqSG88hY=63PYLT^7ULEPQE1U*)c3&6+hU)$)cu`sgD&cI=p) zKY!kC-MWQQ0*z5#KGe2u-3lv|3g1MRE?xSny2bqN6vXh4QTC=!pT20ylqu!Mj~}-W zKRjwTZ{9RDJtj@C+}vCX4g_)i`t{b_eBM+NCrq6>^*J+Z?XF;jySwbArKJsTY;3Hh z*?I51_Z00`90vd?f1K&J(GLX2+_`gY#*7(u^ypEWJ$v?V)iqZ5yL$ovk$~{!ELpN- zg>pIX-FM$5_bop^-{cTIfL*_S-9Gu`v;oe!bLS90V{q-+XIGi%Z{L0Q-C!~31%LNL z4M4K+sk56@TU$E^QTzP!&xyQg(qpZytu#JzFr@CU7)K3&KKS4R^C8eEk%neeS68nU za5df08-%;5?8Rk8jT)kQjNHfJf`UR=3;{913P%|p!q-yD=SCYr=OlSRfLzN55-;10Ppw^zWj!UhG(?Ym5!JZb@ly3 zSCPJq2$BxeeM%h;vlc*afG`?k(4ax4*`l2|aopZ{=ZG=Tj)e;skS2hYTUAx{J3#-* z0Z1-;qHm2vYuXoId|_9vTp{lfGMrCcwCuJm%!_*qj0W<)f zqSCnPL6^_MUD5B$p~p9F+*k*V`FNZm`poojn&{&+4%6_kFC28Oo%FD;zy2BrC4?ye z!hNKW&6zVtIe%RZ(k}H3HxN@XW4dWUm1o#))pKRe$R87cNTB1()}D47rS8AP9E z2PdE`-5gFqby$HO2p6S8JJDwzfClg!&yWV9|Cb0NZLnJ85ADE#|G*j+Q2>T}0BZ1% zAwz!sAoGN97xeoR)bu<}d)9DEuqDrKo zJ$VZ#7?kHeoCXA(!9h}o>jL3!?WaeA%LK>6R^9o*^Pc59i2lB8N&NRGtbjgS?0K-0$;# z91m`}m#H%=#Kpw}wQhKZYX~bHqHW*4-S+I+!>SQW>MWKRlP%^HVnLI@*kfiF6HMsn zQUIL#-tRBbm^5ipDG?%izO+UEkAuwqa15u3I>vd-9i}I67WmN25Vcp1k7n+`bwms;&Cp(^OIE9`dc!(ft3Z$6# z78fsGq+(DFOiY9ooG%mzFP=JeYCX<(6#yU^bKz5DrYu^tXgVLj2jM)9yXq4;ulX>8 zkHvz~_hUD|7Q6>$;iR0Q>9Lxc8nnb4Dk=s5SxHHWX~j7)Z)hghCBbM0ANh0|$tPmq4OV zq__{D+^L|`$&n8py8##=Gmqe%{)-alsXUx3D=Q=SZQ8VH_V(Lv`|{gNfwfZi{N?*t z5bdn+iGGjk2a9@gp2$#(0ReIIyyXKCD0h%+e%-e?7L2&>2U8&UP5>mmm{j3Bt3~t( z{DekYPzGU!eno;MYMBoJ6av|#a{N!dUo6T%l4!sFER%$MUh>I(1sfq8z+=ky$VRLR$5+H-u@=qIOwvj`?&ydMU@ z2z1B)CQI+=0>3K33_#npYu85g5Ieg}*vqAxgNbvb0xV!l8bW=l0D<8gPQxPDN%>>~wPVMQzlkBw z(ux2;hsO6Yz;izp>PYlvYNdzSmPagTppN-RdcFsn9e0lFcPo2-&s}>12O)SL<ZK%|!*)=qvvnc@VpoFLF^P;P=2mo8p82HeJ z(*WTD=)FK^8PM)ba80nDHQZtMqoeZ-@GaI0#=ZRL`^QOpbVnZmeE{?U&<8*t0RIDO W($g2u?dm1~0000= 5 # game needs at least 5 types of gems to work + +# NUMMATCHSOUNDS is the number of different sounds to choose from when +# a match is made. The .wav files are named match0.wav, match1.wav, etc. +NUMMATCHSOUNDS = 6 + +MOVERATE = 25 # 1 to 100, larger num means faster animations +DEDUCTSPEED = 0.8 # reduces score by 1 point every DEDUCTSPEED seconds. + +# R G B +PURPLE = (255, 0, 255) +LIGHTBLUE = (170, 190, 255) +BLUE = ( 0, 0, 255) +RED = (255, 100, 100) +BLACK = ( 0, 0, 0) +BROWN = ( 85, 65, 0) +HIGHLIGHTCOLOR = PURPLE # color of the selected gem's border +BGCOLOR = LIGHTBLUE # background color on the screen +GRIDCOLOR = BLUE # color of the game board +GAMEOVERCOLOR = RED # color of the "Game over" text. +GAMEOVERBGCOLOR = BLACK # background color of the "Game over" text. +SCORECOLOR = BROWN # color of the text for the player's score + +# The amount of space to the sides of the board to the edge of the window +# is used several times, so calculate it once here and store in variables. +XMARGIN = int((WINDOWWIDTH - GEMIMAGESIZE * BOARDWIDTH) / 2) +YMARGIN = int((WINDOWHEIGHT - GEMIMAGESIZE * BOARDHEIGHT) / 2) + +# constants for direction values +UP = 'up' +DOWN = 'down' +LEFT = 'left' +RIGHT = 'right' + +EMPTY_SPACE = -1 # an arbitrary, nonpositive value +ROWABOVEBOARD = 'row above board' # an arbitrary, noninteger value + +def main(): + global FPSCLOCK, DISPLAYSURF, GEMIMAGES, GAMESOUNDS, BASICFONT, BOARDRECTS + + # Initial set up. + pygame.init() + FPSCLOCK = pygame.time.Clock() + DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT)) + pygame.display.set_caption('Gemgem') + BASICFONT = pygame.font.Font('freesansbold.ttf', 36) + + # Load the images + GEMIMAGES = [] + for i in range(1, NUMGEMIMAGES+1): + gemImage = pygame.image.load('gem%s.png' % i) + if gemImage.get_size() != (GEMIMAGESIZE, GEMIMAGESIZE): + gemImage = pygame.transform.smoothscale(gemImage, (GEMIMAGESIZE, GEMIMAGESIZE)) + GEMIMAGES.append(gemImage) + + # Load the sounds. + GAMESOUNDS = {} + GAMESOUNDS['bad swap'] = pygame.mixer.Sound('badswap.wav') + GAMESOUNDS['match'] = [] + for i in range(NUMMATCHSOUNDS): + GAMESOUNDS['match'].append(pygame.mixer.Sound('match%s.wav' % i)) + + # Create pygame.Rect objects for each board space to + # do board-coordinate-to-pixel-coordinate conversions. + BOARDRECTS = [] + for x in range(BOARDWIDTH): + BOARDRECTS.append([]) + for y in range(BOARDHEIGHT): + r = pygame.Rect((XMARGIN + (x * GEMIMAGESIZE), + YMARGIN + (y * GEMIMAGESIZE), + GEMIMAGESIZE, + GEMIMAGESIZE)) + BOARDRECTS[x].append(r) + + while True: + runGame() + + +def runGame(): + # Plays through a single game. When the game is over, this function returns. + + # initalize the board + gameBoard = getBlankBoard() + score = 0 + fillBoardAndAnimate(gameBoard, [], score) # Drop the initial gems. + + # initialize variables for the start of a new game + firstSelectedGem = None + lastMouseDownX = None + lastMouseDownY = None + gameIsOver = False + lastScoreDeduction = time.time() + clickContinueTextSurf = None + + while True: # main game loop + clickedSpace = None + for event in pygame.event.get(): # event handling loop + if event.type == QUIT or (event.type == KEYUP and event.key == K_ESCAPE): + pygame.quit() + sys.exit() + elif event.type == KEYUP and event.key == K_BACKSPACE: + return # start a new game + + elif event.type == MOUSEBUTTONUP: + if gameIsOver: + return # after games ends, click to start a new game + + if event.pos == (lastMouseDownX, lastMouseDownY): + # This event is a mouse click, not the end of a mouse drag. + clickedSpace = checkForGemClick(event.pos) + else: + # this is the end of a mouse drag + firstSelectedGem = checkForGemClick((lastMouseDownX, lastMouseDownY)) + clickedSpace = checkForGemClick(event.pos) + if not firstSelectedGem or not clickedSpace: + # if not part of a valid drag, deselect both + firstSelectedGem = None + clickedSpace = None + elif event.type == MOUSEBUTTONDOWN: + # this is the start of a mouse click or mouse drag + lastMouseDownX, lastMouseDownY = event.pos + + if clickedSpace and not firstSelectedGem: + # This was the first gem clicked on. + firstSelectedGem = clickedSpace + elif clickedSpace and firstSelectedGem: + # Two gems have been clicked on and selected. Swap the gems. + firstSwappingGem, secondSwappingGem = getSwappingGems(gameBoard, firstSelectedGem, clickedSpace) + if firstSwappingGem == None and secondSwappingGem == None: + # If both are None, then the gems were not adjacent + firstSelectedGem = None # deselect the first gem + continue + + # Show the swap animation on the screen. + boardCopy = getBoardCopyMinusGems(gameBoard, (firstSwappingGem, secondSwappingGem)) + animateMovingGems(boardCopy, [firstSwappingGem, secondSwappingGem], [], score) + + # Swap the gems in the board data structure. + gameBoard[firstSwappingGem['x']][firstSwappingGem['y']] = secondSwappingGem['imageNum'] + gameBoard[secondSwappingGem['x']][secondSwappingGem['y']] = firstSwappingGem['imageNum'] + + # See if this is a matching move. + matchedGems = findMatchingGems(gameBoard) + if matchedGems == []: + # Was not a matching move; swap the gems back + GAMESOUNDS['bad swap'].play() + animateMovingGems(boardCopy, [firstSwappingGem, secondSwappingGem], [], score) + gameBoard[firstSwappingGem['x']][firstSwappingGem['y']] = firstSwappingGem['imageNum'] + gameBoard[secondSwappingGem['x']][secondSwappingGem['y']] = secondSwappingGem['imageNum'] + else: + # This was a matching move. + scoreAdd = 0 + while matchedGems != []: + # Remove matched gems, then pull down the board. + + # points is a list of dicts that tells fillBoardAndAnimate() + # where on the screen to display text to show how many + # points the player got. points is a list because if + # the playergets multiple matches, then multiple points text should appear. + points = [] + for gemSet in matchedGems: + scoreAdd += (10 + (len(gemSet) - 3) * 10) + for gem in gemSet: + gameBoard[gem[0]][gem[1]] = EMPTY_SPACE + points.append({'points': scoreAdd, + 'x': gem[0] * GEMIMAGESIZE + XMARGIN, + 'y': gem[1] * GEMIMAGESIZE + YMARGIN}) + random.choice(GAMESOUNDS['match']).play() + score += scoreAdd + + # Drop the new gems. + fillBoardAndAnimate(gameBoard, points, score) + + # Check if there are any new matches. + matchedGems = findMatchingGems(gameBoard) + firstSelectedGem = None + + if not canMakeMove(gameBoard): + gameIsOver = True + + # Draw the board. + DISPLAYSURF.fill(BGCOLOR) + drawBoard(gameBoard) + if firstSelectedGem != None: + highlightSpace(firstSelectedGem['x'], firstSelectedGem['y']) + if gameIsOver: + if clickContinueTextSurf == None: + # Only render the text once. In future iterations, just + # use the Surface object already in clickContinueTextSurf + clickContinueTextSurf = BASICFONT.render('Final Score: %s (Click to continue)' % (score), 1, GAMEOVERCOLOR, GAMEOVERBGCOLOR) + clickContinueTextRect = clickContinueTextSurf.get_rect() + clickContinueTextRect.center = int(WINDOWWIDTH / 2), int(WINDOWHEIGHT / 2) + DISPLAYSURF.blit(clickContinueTextSurf, clickContinueTextRect) + elif score > 0 and time.time() - lastScoreDeduction > DEDUCTSPEED: + # score drops over time + score -= 1 + lastScoreDeduction = time.time() + drawScore(score) + pygame.display.update() + FPSCLOCK.tick(FPS) + + +def getSwappingGems(board, firstXY, secondXY): + # If the gems at the (X, Y) coordinates of the two gems are adjacent, + # then their 'direction' keys are set to the appropriate direction + # value to be swapped with each other. + # Otherwise, (None, None) is returned. + firstGem = {'imageNum': board[firstXY['x']][firstXY['y']], + 'x': firstXY['x'], + 'y': firstXY['y']} + secondGem = {'imageNum': board[secondXY['x']][secondXY['y']], + 'x': secondXY['x'], + 'y': secondXY['y']} + highlightedGem = None + if firstGem['x'] == secondGem['x'] + 1 and firstGem['y'] == secondGem['y']: + firstGem['direction'] = LEFT + secondGem['direction'] = RIGHT + elif firstGem['x'] == secondGem['x'] - 1 and firstGem['y'] == secondGem['y']: + firstGem['direction'] = RIGHT + secondGem['direction'] = LEFT + elif firstGem['y'] == secondGem['y'] + 1 and firstGem['x'] == secondGem['x']: + firstGem['direction'] = UP + secondGem['direction'] = DOWN + elif firstGem['y'] == secondGem['y'] - 1 and firstGem['x'] == secondGem['x']: + firstGem['direction'] = DOWN + secondGem['direction'] = UP + else: + # These gems are not adjacent and can't be swapped. + return None, None + return firstGem, secondGem + + +def getBlankBoard(): + # Create and return a blank board data structure. + board = [] + for x in range(BOARDWIDTH): + board.append([EMPTY_SPACE] * BOARDHEIGHT) + return board + + +def canMakeMove(board): + # Return True if the board is in a state where a matching + # move can be made on it. Otherwise return False. + + # The patterns in oneOffPatterns represent gems that are configured + # in a way where it only takes one move to make a triplet. + oneOffPatterns = (((0,1), (1,0), (2,0)), + ((0,1), (1,1), (2,0)), + ((0,0), (1,1), (2,0)), + ((0,1), (1,0), (2,1)), + ((0,0), (1,0), (2,1)), + ((0,0), (1,1), (2,1)), + ((0,0), (0,2), (0,3)), + ((0,0), (0,1), (0,3))) + + # The x and y variables iterate over each space on the board. + # If we use + to represent the currently iterated space on the + # board, then this pattern: ((0,1), (1,0), (2,0))refers to identical + # gems being set up like this: + # + # +A + # B + # C + # + # That is, gem A is offset from the + by (0,1), gem B is offset + # by (1,0), and gem C is offset by (2,0). In this case, gem A can + # be swapped to the left to form a vertical three-in-a-row triplet. + # + # There are eight possible ways for the gems to be one move + # away from forming a triple, hence oneOffPattern has 8 patterns. + + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + for pat in oneOffPatterns: + # check each possible pattern of "match in next move" to + # see if a possible move can be made. + if (getGemAt(board, x+pat[0][0], y+pat[0][1]) == \ + getGemAt(board, x+pat[1][0], y+pat[1][1]) == \ + getGemAt(board, x+pat[2][0], y+pat[2][1]) != None) or \ + (getGemAt(board, x+pat[0][1], y+pat[0][0]) == \ + getGemAt(board, x+pat[1][1], y+pat[1][0]) == \ + getGemAt(board, x+pat[2][1], y+pat[2][0]) != None): + return True # return True the first time you find a pattern + return False + + +def drawMovingGem(gem, progress): + # Draw a gem sliding in the direction that its 'direction' key + # indicates. The progress parameter is a number from 0 (just + # starting) to 100 (slide complete). + movex = 0 + movey = 0 + progress *= 0.01 + + if gem['direction'] == UP: + movey = -int(progress * GEMIMAGESIZE) + elif gem['direction'] == DOWN: + movey = int(progress * GEMIMAGESIZE) + elif gem['direction'] == RIGHT: + movex = int(progress * GEMIMAGESIZE) + elif gem['direction'] == LEFT: + movex = -int(progress * GEMIMAGESIZE) + + basex = gem['x'] + basey = gem['y'] + if basey == ROWABOVEBOARD: + basey = -1 + + pixelx = XMARGIN + (basex * GEMIMAGESIZE) + pixely = YMARGIN + (basey * GEMIMAGESIZE) + r = pygame.Rect( (pixelx + movex, pixely + movey, GEMIMAGESIZE, GEMIMAGESIZE) ) + DISPLAYSURF.blit(GEMIMAGES[gem['imageNum']], r) + + +def pullDownAllGems(board): + # pulls down gems on the board to the bottom to fill in any gaps + for x in range(BOARDWIDTH): + gemsInColumn = [] + for y in range(BOARDHEIGHT): + if board[x][y] != EMPTY_SPACE: + gemsInColumn.append(board[x][y]) + board[x] = ([EMPTY_SPACE] * (BOARDHEIGHT - len(gemsInColumn))) + gemsInColumn + + +def getGemAt(board, x, y): + if x < 0 or y < 0 or x >= BOARDWIDTH or y >= BOARDHEIGHT: + return None + else: + return board[x][y] + + +def getDropSlots(board): + # Creates a "drop slot" for each column and fills the slot with a + # number of gems that that column is lacking. This function assumes + # that the gems have been gravity dropped already. + boardCopy = copy.deepcopy(board) + pullDownAllGems(boardCopy) + + dropSlots = [] + for i in range(BOARDWIDTH): + dropSlots.append([]) + + # count the number of empty spaces in each column on the board + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT-1, -1, -1): # start from bottom, going up + if boardCopy[x][y] == EMPTY_SPACE: + possibleGems = list(range(len(GEMIMAGES))) + for offsetX, offsetY in ((0, -1), (1, 0), (0, 1), (-1, 0)): + # Narrow down the possible gems we should put in the + # blank space so we don't end up putting an two of + # the same gems next to each other when they drop. + neighborGem = getGemAt(boardCopy, x + offsetX, y + offsetY) + if neighborGem != None and neighborGem in possibleGems: + possibleGems.remove(neighborGem) + + newGem = random.choice(possibleGems) + boardCopy[x][y] = newGem + dropSlots[x].append(newGem) + return dropSlots + + +def findMatchingGems(board): + gemsToRemove = [] # a list of lists of gems in matching triplets that should be removed + boardCopy = copy.deepcopy(board) + + # loop through each space, checking for 3 adjacent identical gems + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + # look for horizontal matches + if getGemAt(boardCopy, x, y) == getGemAt(boardCopy, x + 1, y) == getGemAt(boardCopy, x + 2, y) and getGemAt(boardCopy, x, y) != EMPTY_SPACE: + targetGem = boardCopy[x][y] + offset = 0 + removeSet = [] + while getGemAt(boardCopy, x + offset, y) == targetGem: + # keep checking if there's more than 3 gems in a row + removeSet.append((x + offset, y)) + boardCopy[x + offset][y] = EMPTY_SPACE + offset += 1 + gemsToRemove.append(removeSet) + + # look for vertical matches + if getGemAt(boardCopy, x, y) == getGemAt(boardCopy, x, y + 1) == getGemAt(boardCopy, x, y + 2) and getGemAt(boardCopy, x, y) != EMPTY_SPACE: + targetGem = boardCopy[x][y] + offset = 0 + removeSet = [] + while getGemAt(boardCopy, x, y + offset) == targetGem: + # keep checking, in case there's more than 3 gems in a row + removeSet.append((x, y + offset)) + boardCopy[x][y + offset] = EMPTY_SPACE + offset += 1 + gemsToRemove.append(removeSet) + + return gemsToRemove + + +def highlightSpace(x, y): + pygame.draw.rect(DISPLAYSURF, HIGHLIGHTCOLOR, BOARDRECTS[x][y], 4) + + +def getDroppingGems(board): + # Find all the gems that have an empty space below them + boardCopy = copy.deepcopy(board) + droppingGems = [] + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT - 2, -1, -1): + if boardCopy[x][y + 1] == EMPTY_SPACE and boardCopy[x][y] != EMPTY_SPACE: + # This space drops if not empty but the space below it is + droppingGems.append( {'imageNum': boardCopy[x][y], 'x': x, 'y': y, 'direction': DOWN} ) + boardCopy[x][y] = EMPTY_SPACE + return droppingGems + + +def animateMovingGems(board, gems, pointsText, score): + # pointsText is a dictionary with keys 'x', 'y', and 'points' + progress = 0 # progress at 0 represents beginning, 100 means finished. + while progress < 100: # animation loop + DISPLAYSURF.fill(BGCOLOR) + drawBoard(board) + for gem in gems: # Draw each gem. + drawMovingGem(gem, progress) + drawScore(score) + for pointText in pointsText: + pointsSurf = BASICFONT.render(str(pointText['points']), 1, SCORECOLOR) + pointsRect = pointsSurf.get_rect() + pointsRect.center = (pointText['x'], pointText['y']) + DISPLAYSURF.blit(pointsSurf, pointsRect) + + pygame.display.update() + FPSCLOCK.tick(FPS) + progress += MOVERATE # progress the animation a little bit more for the next frame + + +def moveGems(board, movingGems): + # movingGems is a list of dicts with keys x, y, direction, imageNum + for gem in movingGems: + if gem['y'] != ROWABOVEBOARD: + board[gem['x']][gem['y']] = EMPTY_SPACE + movex = 0 + movey = 0 + if gem['direction'] == LEFT: + movex = -1 + elif gem['direction'] == RIGHT: + movex = 1 + elif gem['direction'] == DOWN: + movey = 1 + elif gem['direction'] == UP: + movey = -1 + board[gem['x'] + movex][gem['y'] + movey] = gem['imageNum'] + else: + # gem is located above the board (where new gems come from) + board[gem['x']][0] = gem['imageNum'] # move to top row + + +def fillBoardAndAnimate(board, points, score): + dropSlots = getDropSlots(board) + while dropSlots != [[]] * BOARDWIDTH: + # do the dropping animation as long as there are more gems to drop + movingGems = getDroppingGems(board) + for x in range(len(dropSlots)): + if len(dropSlots[x]) != 0: + # cause the lowest gem in each slot to begin moving in the DOWN direction + movingGems.append({'imageNum': dropSlots[x][0], 'x': x, 'y': ROWABOVEBOARD, 'direction': DOWN}) + + boardCopy = getBoardCopyMinusGems(board, movingGems) + animateMovingGems(boardCopy, movingGems, points, score) + moveGems(board, movingGems) + + # Make the next row of gems from the drop slots + # the lowest by deleting the previous lowest gems. + for x in range(len(dropSlots)): + if len(dropSlots[x]) == 0: + continue + board[x][0] = dropSlots[x][0] + del dropSlots[x][0] + + +def checkForGemClick(pos): + # See if the mouse click was on the board + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + if BOARDRECTS[x][y].collidepoint(pos[0], pos[1]): + return {'x': x, 'y': y} + return None # Click was not on the board. + + +def drawBoard(board): + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + pygame.draw.rect(DISPLAYSURF, GRIDCOLOR, BOARDRECTS[x][y], 1) + gemToDraw = board[x][y] + if gemToDraw != EMPTY_SPACE: + DISPLAYSURF.blit(GEMIMAGES[gemToDraw], BOARDRECTS[x][y]) + + +def getBoardCopyMinusGems(board, gems): + # Creates and returns a copy of the passed board data structure, + # with the gems in the "gems" list removed from it. + # + # Gems is a list of dicts, with keys x, y, direction, imageNum + + boardCopy = copy.deepcopy(board) + + # Remove some of the gems from this board data structure copy. + for gem in gems: + if gem['y'] != ROWABOVEBOARD: + boardCopy[gem['x']][gem['y']] = EMPTY_SPACE + return boardCopy + + +def drawScore(score): + scoreImg = BASICFONT.render(str(score), 1, SCORECOLOR) + scoreRect = scoreImg.get_rect() + scoreRect.bottomleft = (10, WINDOWHEIGHT - 6) + DISPLAYSURF.blit(scoreImg, scoreRect) + + +if __name__ == '__main__': + main() diff --git a/python_games/grass1.png b/python_games/grass1.png new file mode 100644 index 0000000000000000000000000000000000000000..def5f5b9c95923abdd8c7cdbcb4d3259c54f94c2 GIT binary patch literal 3009 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 literal 0 HcmV?d00001 diff --git a/python_games/grass2.png b/python_games/grass2.png new file mode 100644 index 0000000000000000000000000000000000000000..fb4357e604fd7d5f730c2d0dc5ab05eddcd0f8f2 GIT binary patch literal 3019 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 literal 0 HcmV?d00001 diff --git a/python_games/grass3.png b/python_games/grass3.png new file mode 100644 index 0000000000000000000000000000000000000000..f6c983a23f8cbca33232bf66d928a362d449d643 GIT binary patch literal 3009 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 K^=l!{QU3?f8JJ-J literal 0 HcmV?d00001 diff --git a/python_games/horngirl.png b/python_games/horngirl.png new file mode 100644 index 0000000000000000000000000000000000000000..36ec2feb99dcef1f08a24993afc1c85377e18b70 GIT binary patch literal 7186 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 0 and key <= len(paletteColors): + paletteClicked = key - 1 + + if paletteClicked != None and paletteClicked != lastPaletteClicked: + # a palette button was clicked that is different from the + # last palette button clicked (this check prevents the player + # from accidentally clicking the same palette twice) + lastPaletteClicked = paletteClicked + floodAnimation(mainBoard, paletteClicked) + life -= 1 + + resetGame = False + if hasWon(mainBoard): + for i in range(4): # flash border 4 times + flashBorderAnimation(WHITE, mainBoard) + resetGame = True + pygame.time.wait(2000) # pause so the player can bask in victory + elif life == 0: + # life is zero, so player has lost + drawLifeMeter(0) + pygame.display.update() + pygame.time.wait(400) + for i in range(4): + flashBorderAnimation(BLACK, mainBoard) + resetGame = True + pygame.time.wait(2000) # pause so the player can suffer in their defeat + + if resetGame: + # start a new game + mainBoard = generateRandomBoard(boardWidth, boardHeight, difficulty) + life = maxLife + lastPaletteClicked = None + + pygame.display.update() + FPSCLOCK.tick(FPS) + + +def checkForQuit(): + # Terminates the program if there are any QUIT or escape key events. + for event in pygame.event.get(QUIT): # get all the QUIT events + pygame.quit() # terminate if any QUIT events are present + sys.exit() + for event in pygame.event.get(KEYUP): # get all the KEYUP events + if event.key == K_ESCAPE: + pygame.quit() # terminate if the KEYUP event was for the Esc key + sys.exit() + pygame.event.post(event) # put the other KEYUP event objects back + + +def hasWon(board): + # if the entire board is the same color, player has won + for x in range(boardWidth): + for y in range(boardHeight): + if board[x][y] != board[0][0]: + return False # found a different color, player has not won + return True + + +def showSettingsScreen(): + global difficulty, boxSize, boardWidth, boardHeight, maxLife, paletteColors, bgColor + + # The pixel coordinates in this function were obtained by loading + # the inkspillsettings.png image into a graphics editor and reading + # the pixel coordinates from there. Handy trick. + + origDifficulty = difficulty + origBoxSize = boxSize + screenNeedsRedraw = True + + while True: + if screenNeedsRedraw: + DISPLAYSURF.fill(bgColor) + DISPLAYSURF.blit(SETTINGSIMAGE, (0,0)) + + # place the ink spot marker next to the selected difficulty + if difficulty == EASY: + DISPLAYSURF.blit(SPOTIMAGE, (30, 4)) + if difficulty == MEDIUM: + DISPLAYSURF.blit(SPOTIMAGE, (8, 41)) + if difficulty == HARD: + DISPLAYSURF.blit(SPOTIMAGE, (30, 76)) + + # place the ink spot marker next to the selected size + if boxSize == SMALLBOXSIZE: + DISPLAYSURF.blit(SPOTIMAGE, (22, 150)) + if boxSize == MEDIUMBOXSIZE: + DISPLAYSURF.blit(SPOTIMAGE, (11, 185)) + if boxSize == LARGEBOXSIZE: + DISPLAYSURF.blit(SPOTIMAGE, (24, 220)) + + for i in range(len(COLORSCHEMES)): + drawColorSchemeBoxes(500, i * 60 + 30, i) + + pygame.display.update() + + screenNeedsRedraw = False # by default, don't redraw the screen + for event in pygame.event.get(): # event handling loop + if event.type == QUIT: + pygame.quit() + sys.exit() + elif event.type == KEYUP: + if event.key == K_ESCAPE: + # Esc key on settings screen goes back to game + return not (origDifficulty == difficulty and origBoxSize == boxSize) + elif event.type == MOUSEBUTTONUP: + screenNeedsRedraw = True # screen should be redrawn + mousex, mousey = event.pos # syntactic sugar + + # check for clicks on the difficulty buttons + if pygame.Rect(74, 16, 111, 30).collidepoint(mousex, mousey): + difficulty = EASY + elif pygame.Rect(53, 50, 104, 29).collidepoint(mousex, mousey): + difficulty = MEDIUM + elif pygame.Rect(72, 85, 65, 31).collidepoint(mousex, mousey): + difficulty = HARD + + # check for clicks on the size buttons + elif pygame.Rect(63, 156, 84, 31).collidepoint(mousex, mousey): + # small board size setting: + boxSize = SMALLBOXSIZE + boardWidth = SMALLBOARDSIZE + boardHeight = SMALLBOARDSIZE + maxLife = SMALLMAXLIFE + elif pygame.Rect(52, 192, 106,32).collidepoint(mousex, mousey): + # medium board size setting: + boxSize = MEDIUMBOXSIZE + boardWidth = MEDIUMBOARDSIZE + boardHeight = MEDIUMBOARDSIZE + maxLife = MEDIUMMAXLIFE + elif pygame.Rect(67, 228, 58, 37).collidepoint(mousex, mousey): + # large board size setting: + boxSize = LARGEBOXSIZE + boardWidth = LARGEBOARDSIZE + boardHeight = LARGEBOARDSIZE + maxLife = LARGEMAXLIFE + elif pygame.Rect(14, 299, 371, 97).collidepoint(mousex, mousey): + # clicked on the "learn programming" ad + webbrowser.open('http://inventwithpython.com') # opens a web browser + elif pygame.Rect(178, 418, 215, 34).collidepoint(mousex, mousey): + # clicked on the "back to game" button + return not (origDifficulty == difficulty and origBoxSize == boxSize) + + for i in range(len(COLORSCHEMES)): + # clicked on a color scheme button + if pygame.Rect(500, 30 + i * 60, MEDIUMBOXSIZE * 3, MEDIUMBOXSIZE * 2).collidepoint(mousex, mousey): + bgColor = COLORSCHEMES[i][0] + paletteColors = COLORSCHEMES[i][1:] + + +def drawColorSchemeBoxes(x, y, schemeNum): + # Draws the color scheme boxes that appear on the "Settings" screen. + for boxy in range(2): + for boxx in range(3): + pygame.draw.rect(DISPLAYSURF, COLORSCHEMES[schemeNum][3 * boxy + boxx + 1], (x + MEDIUMBOXSIZE * boxx, y + MEDIUMBOXSIZE * boxy, MEDIUMBOXSIZE, MEDIUMBOXSIZE)) + if paletteColors == COLORSCHEMES[schemeNum][1:]: + # put the ink spot next to the selected color scheme + DISPLAYSURF.blit(SPOTIMAGE, (x - 50, y)) + + +def flashBorderAnimation(color, board, animationSpeed=30): + origSurf = DISPLAYSURF.copy() + flashSurf = pygame.Surface(DISPLAYSURF.get_size()) + flashSurf = flashSurf.convert_alpha() + for start, end, step in ((0, 256, 1), (255, 0, -1)): + # the first iteration on the outer loop will set the inner loop + # to have transparency go from 0 to 255, the second iteration will + # have it go from 255 to 0. This is the "flash". + for transparency in range(start, end, animationSpeed * step): + DISPLAYSURF.blit(origSurf, (0, 0)) + r, g, b = color + flashSurf.fill((r, g, b, transparency)) + DISPLAYSURF.blit(flashSurf, (0, 0)) + drawBoard(board) # draw board ON TOP OF the transparency layer + pygame.display.update() + FPSCLOCK.tick(FPS) + DISPLAYSURF.blit(origSurf, (0, 0)) # redraw the original surface + + +def floodAnimation(board, paletteClicked, animationSpeed=25): + origBoard = copy.deepcopy(board) + floodFill(board, board[0][0], paletteClicked, 0, 0) + + for transparency in range(0, 255, animationSpeed): + # The "new" board slowly become opaque over the original board. + drawBoard(origBoard) + drawBoard(board, transparency) + pygame.display.update() + FPSCLOCK.tick(FPS) + + +def generateRandomBoard(width, height, difficulty=MEDIUM): + # Creates a board data structure with random colors for each box. + board = [] + for x in range(width): + column = [] + for y in range(height): + column.append(random.randint(0, len(paletteColors) - 1)) + board.append(column) + + # Make board easier by setting some boxes to same color as a neighbor. + + # Determine how many boxes to change. + if difficulty == EASY: + if boxSize == SMALLBOXSIZE: + boxesToChange = 100 + else: + boxesToChange = 1500 + elif difficulty == MEDIUM: + if boxSize == SMALLBOXSIZE: + boxesToChange = 5 + else: + boxesToChange = 200 + else: + boxesToChange = 0 + + # Change neighbor's colors: + for i in range(boxesToChange): + # Randomly choose a box whose color to copy + x = random.randint(1, width-2) + y = random.randint(1, height-2) + + # Randomly choose neighbors to change. + direction = random.randint(0, 3) + if direction == 0: # change left and up neighbor + board[x-1][y] == board[x][y] + board[x][y-1] == board[x][y] + elif direction == 1: # change right and down neighbor + board[x+1][y] == board[x][y] + board[x][y+1] == board[x][y] + elif direction == 2: # change right and up neighbor + board[x][y-1] == board[x][y] + board[x+1][y] == board[x][y] + else: # change left and down neighbor + board[x][y+1] == board[x][y] + board[x-1][y] == board[x][y] + return board + + +def drawLogoAndButtons(): + # draw the Ink Spill logo and Settings and Reset buttons. + DISPLAYSURF.blit(LOGOIMAGE, (WINDOWWIDTH - LOGOIMAGE.get_width(), 0)) + DISPLAYSURF.blit(SETTINGSBUTTONIMAGE, (WINDOWWIDTH - SETTINGSBUTTONIMAGE.get_width(), WINDOWHEIGHT - SETTINGSBUTTONIMAGE.get_height())) + DISPLAYSURF.blit(RESETBUTTONIMAGE, (WINDOWWIDTH - RESETBUTTONIMAGE.get_width(), WINDOWHEIGHT - SETTINGSBUTTONIMAGE.get_height() - RESETBUTTONIMAGE.get_height())) + + +def drawBoard(board, transparency=255): + # The colored squares are drawn to a temporary surface which is then + # drawn to the DISPLAYSURF surface. This is done so we can draw the + # squares with transparency on top of DISPLAYSURF as it currently is. + tempSurf = pygame.Surface(DISPLAYSURF.get_size()) + tempSurf = tempSurf.convert_alpha() + tempSurf.fill((0, 0, 0, 0)) + + for x in range(boardWidth): + for y in range(boardHeight): + left, top = leftTopPixelCoordOfBox(x, y) + r, g, b = paletteColors[board[x][y]] + pygame.draw.rect(tempSurf, (r, g, b, transparency), (left, top, boxSize, boxSize)) + left, top = leftTopPixelCoordOfBox(0, 0) + pygame.draw.rect(tempSurf, BLACK, (left-1, top-1, boxSize * boardWidth + 1, boxSize * boardHeight + 1), 1) + DISPLAYSURF.blit(tempSurf, (0, 0)) + + +def drawPalettes(): + # Draws the six color palettes at the bottom of the screen. + numColors = len(paletteColors) + xmargin = int((WINDOWWIDTH - ((PALETTESIZE * numColors) + (PALETTEGAPSIZE * (numColors - 1)))) / 2) + for i in range(numColors): + left = xmargin + (i * PALETTESIZE) + (i * PALETTEGAPSIZE) + top = WINDOWHEIGHT - PALETTESIZE - 10 + pygame.draw.rect(DISPLAYSURF, paletteColors[i], (left, top, PALETTESIZE, PALETTESIZE)) + pygame.draw.rect(DISPLAYSURF, bgColor, (left + 2, top + 2, PALETTESIZE - 4, PALETTESIZE - 4), 2) + + +def drawLifeMeter(currentLife): + lifeBoxSize = int((WINDOWHEIGHT - 40) / maxLife) + + # Draw background color of life meter. + pygame.draw.rect(DISPLAYSURF, bgColor, (20, 20, 20, 20 + (maxLife * lifeBoxSize))) + + for i in range(maxLife): + if currentLife >= (maxLife - i): # draw a solid red box + pygame.draw.rect(DISPLAYSURF, RED, (20, 20 + (i * lifeBoxSize), 20, lifeBoxSize)) + pygame.draw.rect(DISPLAYSURF, WHITE, (20, 20 + (i * lifeBoxSize), 20, lifeBoxSize), 1) # draw white outline + + +def getColorOfPaletteAt(x, y): + # Returns the index of the color in paletteColors that the x and y parameters + # are over. Returns None if x and y are not over any palette. + numColors = len(paletteColors) + xmargin = int((WINDOWWIDTH - ((PALETTESIZE * numColors) + (PALETTEGAPSIZE * (numColors - 1)))) / 2) + top = WINDOWHEIGHT - PALETTESIZE - 10 + for i in range(numColors): + # Find out if the mouse click is inside any of the palettes. + left = xmargin + (i * PALETTESIZE) + (i * PALETTEGAPSIZE) + r = pygame.Rect(left, top, PALETTESIZE, PALETTESIZE) + if r.collidepoint(x, y): + return i + return None # no palette exists at these x, y coordinates + + +def floodFill(board, oldColor, newColor, x, y): + # This is the flood fill algorithm. + if oldColor == newColor or board[x][y] != oldColor: + return + + board[x][y] = newColor # change the color of the current box + + # Make the recursive call for any neighboring boxes: + if x > 0: + floodFill(board, oldColor, newColor, x - 1, y) # on box to the left + if x < boardWidth - 1: + floodFill(board, oldColor, newColor, x + 1, y) # on box to the right + if y > 0: + floodFill(board, oldColor, newColor, x, y - 1) # on box to up + if y < boardHeight - 1: + floodFill(board, oldColor, newColor, x, y + 1) # on box to down + + +def leftTopPixelCoordOfBox(boxx, boxy): + # Returns the x and y of the left-topmost pixel of the xth & yth box. + xmargin = int((WINDOWWIDTH - (boardWidth * boxSize)) / 2) + ymargin = int((WINDOWHEIGHT - (boardHeight * boxSize)) / 2) + return (boxx * boxSize + xmargin, boxy * boxSize + ymargin) + + +if __name__ == '__main__': + main() diff --git a/python_games/inkspilllogo.png b/python_games/inkspilllogo.png new file mode 100644 index 0000000000000000000000000000000000000000..882d055ef3d61306a46a1b9b5a2c77826e03b614 GIT binary patch literal 18855 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 KMNUMnLSTY*vbG}t literal 0 HcmV?d00001 diff --git a/python_games/inkspillresetbutton.png b/python_games/inkspillresetbutton.png new file mode 100644 index 0000000000000000000000000000000000000000..b675410fad9c6bd403fd5c8a6ec7d8a16bd3a65b GIT binary patch literal 7855 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 WXUmWmbif-ykdmCbYz4&P^Zx+&bSU5e literal 0 HcmV?d00001 diff --git a/python_games/inkspillsettings.png b/python_games/inkspillsettings.png new file mode 100644 index 0000000000000000000000000000000000000000..517b35722379286b09b8ca6b0c3c0e15c59b4e00 GIT binary patch literal 50806 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 literal 0 HcmV?d00001 diff --git a/python_games/inkspillsettingsbutton.png b/python_games/inkspillsettingsbutton.png new file mode 100644 index 0000000000000000000000000000000000000000..7257591bb3d0cb76f13ea30155b3ee0008b5308a GIT binary patch literal 10746 zcmWk!1vp*rA3wTdrn`-4rn{!Q8Kx&DCx@$<=BInQYr3bKsp+m6HZjfr{d?}c$8(?S zp7Va+@Ap$jq`K-`EOb(I2!gN_-~wR#znD%%8TrVDU=>m%oKSZjW;mNGAYUzo54f4Pec?l5pORESO$W|Dt zoYMUw3+Z!0_|{7Og3wPkh*Lq&S{|xxhI%G(G3p^yOo&q>B9s|I^o7iZ>FB(mkaP%N z?p#mg@9S#Z0~S!J^m>t2dO_JhBUCmQ6g@q5%2$&LM6dDr-owAokYNArole3X$cwXi zF%Cg_2?SuZ7mr?(*wvGhe6dZ~rfk2uk)LVJ&3B&mrYf8zAZW|of98pmqk$AAj0|&p z`pR&MXlsIz_vt#yx*kWO5z0GS*1K^2e{E#*<6D=O_I7uFD)vhmy&u){d$Rd%+N1aA zaO*GfaDBDewM`$${Vwn=;?3sw@k`|*@~K3$5cAdjxVI0@7|#zBv$XvR=B@fH_&XYS zF0nEh(HGoBw2@MY%mWNRo-MaGSnmPZ+*qzHL3kMA4tfadc+2%)V7-Ru9A=|*Ybifzh}>6gh@Mi^?0Fc!jz`?H_nQy_AAX%J4KQ`+&$hsWUDl8Nu7cW&9%~e z?H6z245g~_n>1@Q!b@NBe##J>2qsieDysULJWFazWPAOg=Fq+E#ac3@YU;G!kFle- zhpC4Mm!6ndVFbZL5jL+#GKo=$ZAd(cYtod9NoJ!+hO{~PxsKBg(s9zAbo5!8SUwXZ zjG`wiCNn0Jv2bXYl^2(SyRml; zQ&Lm(E95IQD&8J<@>QRdWEXeJwj10BVoMGwG8r?ywTYWV%0AFq(poD)FCkPB6}qZs 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 literal 0 HcmV?d00001 diff --git a/python_games/launcher.sh b/python_games/launcher.sh new file mode 100644 index 0000000..b0dcbd5 --- /dev/null +++ b/python_games/launcher.sh @@ -0,0 +1,58 @@ +#!/bin/sh +# Thanks to KenT for contributions + +RET=0 +SOUND=$(zenity --list --width=350 --height=250 --radiolist \ + --title="Choose the Audio Output" \ + --column "Select" --column="Output" TRUE "Leave as is" FALSE "Auto" FALSE "Force Headphones" FALSE "Force HDMI" ) +RET=$? +echo $SOUND +if [ "$SOUND" = "Leave as is" ]; then + echo "Leave as is" +elif [ "$SOUND" = "Auto" ]; then + amixer -c 0 cset numid=3 0 + echo "Auto set" +elif [ "$SOUND" = "Force Headphones" ]; then + amixer -c 0 cset numid=3 1 + echo "Headphones set" +elif [ "$SOUND" = "Force HDMI" ]; then + amixer -c 0 cset numid=3 2 + echo "HDMI set" +else + echo "cancel" +fi + +while [ $RET -eq 0 ]; do + GAME=$(zenity --width=350 --height=700 --list \ + --title="Choose the Python game to launch" \ + --text="Games by Al Sweigart. Manual at inventwithpython.com/pygame" \ + --column="Script name" --column="Description" \ + flippy "A game like reversi" \ + fourinarow "Get four in a row" \ + gemgem "A tile matching puzzle" \ + inkspill "Flood the screen with pixels" \ + memorypuzzle "Test your memory" \ + pentomino "5 block Tetris" \ + simulate "Repeat the pattern" \ + slidepuzzle "Traditional slide puzzle" \ + squirrel "Eat the smaller squirrels" \ + starpusher "Sokoban" \ + tetromino "Tetris-like game" \ + tetrominoforidiots "Tetris for Idiots" \ + wormy "Snake-like game" \ + website "inventwithpython.com") + RET=$? + echo $RET + if [ "$RET" -eq 0 ] + then + if [ "$GAME" = "website" ] + then + sensible-browser "http://inventwithpython.com/pygame" + else + if [ "$GAME" != "" ]; then + cd /home/pi/python_games + python $GAME.py + fi + fi + fi +done diff --git a/python_games/match0.wav b/python_games/match0.wav new file mode 100644 index 0000000000000000000000000000000000000000..c45d023eef82fdb0fc00b161972f044718286bb7 GIT binary patch literal 31504 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 literal 0 HcmV?d00001 diff --git a/python_games/match3.wav b/python_games/match3.wav new file mode 100644 index 0000000000000000000000000000000000000000..f42ea443a162850ecb6f05bc16b7e8ce97781c83 GIT binary patch literal 36050 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 literal 0 HcmV?d00001 diff --git a/python_games/match4.wav b/python_games/match4.wav new file mode 100644 index 0000000000000000000000000000000000000000..98bd6ff8e16116196c2cc6bf9ed4412822ccc97a GIT binary patch literal 36050 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 M3`XV|92k`Hzs<_b`~Uy| literal 0 HcmV?d00001 diff --git a/python_games/match5.wav b/python_games/match5.wav new file mode 100644 index 0000000000000000000000000000000000000000..80cd715b89a7c7073986c23f2bf22e3a48694cf5 GIT binary patch literal 43024 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 D_eHvb literal 0 HcmV?d00001 diff --git a/python_games/memorypuzzle.py b/python_games/memorypuzzle.py new file mode 100644 index 0000000..3655f28 --- /dev/null +++ b/python_games/memorypuzzle.py @@ -0,0 +1,292 @@ +# Memory Puzzle +# By Al Sweigart al@inventwithpython.com +# http://inventwithpython.com/pygame +# Released under a "Simplified BSD" license + +import random, pygame, sys +from pygame.locals import * + +FPS = 30 # frames per second, the general speed of the program +WINDOWWIDTH = 640 # size of window's width in pixels +WINDOWHEIGHT = 480 # size of windows' height in pixels +REVEALSPEED = 8 # speed boxes' sliding reveals and covers +BOXSIZE = 40 # size of box height & width in pixels +GAPSIZE = 10 # size of gap between boxes in pixels +BOARDWIDTH = 10 # number of columns of icons +BOARDHEIGHT = 7 # number of rows of icons +assert (BOARDWIDTH * BOARDHEIGHT) % 2 == 0, 'Board needs to have an even number of boxes for pairs of matches.' +XMARGIN = int((WINDOWWIDTH - (BOARDWIDTH * (BOXSIZE + GAPSIZE))) / 2) +YMARGIN = int((WINDOWHEIGHT - (BOARDHEIGHT * (BOXSIZE + GAPSIZE))) / 2) + +# R G B +GRAY = (100, 100, 100) +NAVYBLUE = ( 60, 60, 100) +WHITE = (255, 255, 255) +RED = (255, 0, 0) +GREEN = ( 0, 255, 0) +BLUE = ( 0, 0, 255) +YELLOW = (255, 255, 0) +ORANGE = (255, 128, 0) +PURPLE = (255, 0, 255) +CYAN = ( 0, 255, 255) + +BGCOLOR = NAVYBLUE +LIGHTBGCOLOR = GRAY +BOXCOLOR = WHITE +HIGHLIGHTCOLOR = BLUE + +DONUT = 'donut' +SQUARE = 'square' +DIAMOND = 'diamond' +LINES = 'lines' +OVAL = 'oval' + +ALLCOLORS = (RED, GREEN, BLUE, YELLOW, ORANGE, PURPLE, CYAN) +ALLSHAPES = (DONUT, SQUARE, DIAMOND, LINES, OVAL) +assert len(ALLCOLORS) * len(ALLSHAPES) * 2 >= BOARDWIDTH * BOARDHEIGHT, "Board is too big for the number of shapes/colors defined." + +def main(): + global FPSCLOCK, DISPLAYSURF + pygame.init() + FPSCLOCK = pygame.time.Clock() + DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT)) + + mousex = 0 # used to store x coordinate of mouse event + mousey = 0 # used to store y coordinate of mouse event + pygame.display.set_caption('Memory Game') + + mainBoard = getRandomizedBoard() + revealedBoxes = generateRevealedBoxesData(False) + + firstSelection = None # stores the (x, y) of the first box clicked. + + DISPLAYSURF.fill(BGCOLOR) + startGameAnimation(mainBoard) + + while True: # main game loop + mouseClicked = False + + DISPLAYSURF.fill(BGCOLOR) # drawing the window + drawBoard(mainBoard, revealedBoxes) + + for event in pygame.event.get(): # event handling loop + if event.type == QUIT or (event.type == KEYUP and event.key == K_ESCAPE): + pygame.quit() + sys.exit() + elif event.type == MOUSEMOTION: + mousex, mousey = event.pos + elif event.type == MOUSEBUTTONUP: + mousex, mousey = event.pos + mouseClicked = True + + boxx, boxy = getBoxAtPixel(mousex, mousey) + if boxx != None and boxy != None: + # The mouse is currently over a box. + if not revealedBoxes[boxx][boxy]: + drawHighlightBox(boxx, boxy) + if not revealedBoxes[boxx][boxy] and mouseClicked: + revealBoxesAnimation(mainBoard, [(boxx, boxy)]) + revealedBoxes[boxx][boxy] = True # set the box as "revealed" + if firstSelection == None: # the current box was the first box clicked + firstSelection = (boxx, boxy) + else: # the current box was the second box clicked + # Check if there is a match between the two icons. + icon1shape, icon1color = getShapeAndColor(mainBoard, firstSelection[0], firstSelection[1]) + icon2shape, icon2color = getShapeAndColor(mainBoard, boxx, boxy) + + if icon1shape != icon2shape or icon1color != icon2color: + # Icons don't match. Re-cover up both selections. + pygame.time.wait(1000) # 1000 milliseconds = 1 sec + coverBoxesAnimation(mainBoard, [(firstSelection[0], firstSelection[1]), (boxx, boxy)]) + revealedBoxes[firstSelection[0]][firstSelection[1]] = False + revealedBoxes[boxx][boxy] = False + elif hasWon(revealedBoxes): # check if all pairs found + gameWonAnimation(mainBoard) + pygame.time.wait(2000) + + # Reset the board + mainBoard = getRandomizedBoard() + revealedBoxes = generateRevealedBoxesData(False) + + # Show the fully unrevealed board for a second. + drawBoard(mainBoard, revealedBoxes) + pygame.display.update() + pygame.time.wait(1000) + + # Replay the start game animation. + startGameAnimation(mainBoard) + firstSelection = None # reset firstSelection variable + + # Redraw the screen and wait a clock tick. + pygame.display.update() + FPSCLOCK.tick(FPS) + + +def generateRevealedBoxesData(val): + revealedBoxes = [] + for i in range(BOARDWIDTH): + revealedBoxes.append([val] * BOARDHEIGHT) + return revealedBoxes + + +def getRandomizedBoard(): + # Get a list of every possible shape in every possible color. + icons = [] + for color in ALLCOLORS: + for shape in ALLSHAPES: + icons.append( (shape, color) ) + + random.shuffle(icons) # randomize the order of the icons list + numIconsUsed = int(BOARDWIDTH * BOARDHEIGHT / 2) # calculate how many icons are needed + icons = icons[:numIconsUsed] * 2 # make two of each + random.shuffle(icons) + + # Create the board data structure, with randomly placed icons. + board = [] + for x in range(BOARDWIDTH): + column = [] + for y in range(BOARDHEIGHT): + column.append(icons[0]) + del icons[0] # remove the icons as we assign them + board.append(column) + return board + + +def splitIntoGroupsOf(groupSize, theList): + # splits a list into a list of lists, where the inner lists have at + # most groupSize number of items. + result = [] + for i in range(0, len(theList), groupSize): + result.append(theList[i:i + groupSize]) + return result + + +def leftTopCoordsOfBox(boxx, boxy): + # Convert board coordinates to pixel coordinates + left = boxx * (BOXSIZE + GAPSIZE) + XMARGIN + top = boxy * (BOXSIZE + GAPSIZE) + YMARGIN + return (left, top) + + +def getBoxAtPixel(x, y): + for boxx in range(BOARDWIDTH): + for boxy in range(BOARDHEIGHT): + left, top = leftTopCoordsOfBox(boxx, boxy) + boxRect = pygame.Rect(left, top, BOXSIZE, BOXSIZE) + if boxRect.collidepoint(x, y): + return (boxx, boxy) + return (None, None) + + +def drawIcon(shape, color, boxx, boxy): + quarter = int(BOXSIZE * 0.25) # syntactic sugar + half = int(BOXSIZE * 0.5) # syntactic sugar + + left, top = leftTopCoordsOfBox(boxx, boxy) # get pixel coords from board coords + # Draw the shapes + if shape == DONUT: + pygame.draw.circle(DISPLAYSURF, color, (left + half, top + half), half - 5) + pygame.draw.circle(DISPLAYSURF, BGCOLOR, (left + half, top + half), quarter - 5) + elif shape == SQUARE: + pygame.draw.rect(DISPLAYSURF, color, (left + quarter, top + quarter, BOXSIZE - half, BOXSIZE - half)) + elif shape == DIAMOND: + pygame.draw.polygon(DISPLAYSURF, color, ((left + half, top), (left + BOXSIZE - 1, top + half), (left + half, top + BOXSIZE - 1), (left, top + half))) + elif shape == LINES: + for i in range(0, BOXSIZE, 4): + pygame.draw.line(DISPLAYSURF, color, (left, top + i), (left + i, top)) + pygame.draw.line(DISPLAYSURF, color, (left + i, top + BOXSIZE - 1), (left + BOXSIZE - 1, top + i)) + elif shape == OVAL: + pygame.draw.ellipse(DISPLAYSURF, color, (left, top + quarter, BOXSIZE, half)) + + +def getShapeAndColor(board, boxx, boxy): + # shape value for x, y spot is stored in board[x][y][0] + # color value for x, y spot is stored in board[x][y][1] + return board[boxx][boxy][0], board[boxx][boxy][1] + + +def drawBoxCovers(board, boxes, coverage): + # Draws boxes being covered/revealed. "boxes" is a list + # of two-item lists, which have the x & y spot of the box. + for box in boxes: + left, top = leftTopCoordsOfBox(box[0], box[1]) + pygame.draw.rect(DISPLAYSURF, BGCOLOR, (left, top, BOXSIZE, BOXSIZE)) + shape, color = getShapeAndColor(board, box[0], box[1]) + drawIcon(shape, color, box[0], box[1]) + if coverage > 0: # only draw the cover if there is an coverage + pygame.draw.rect(DISPLAYSURF, BOXCOLOR, (left, top, coverage, BOXSIZE)) + pygame.display.update() + FPSCLOCK.tick(FPS) + + +def revealBoxesAnimation(board, boxesToReveal): + # Do the "box reveal" animation. + for coverage in range(BOXSIZE, (-REVEALSPEED) - 1, -REVEALSPEED): + drawBoxCovers(board, boxesToReveal, coverage) + + +def coverBoxesAnimation(board, boxesToCover): + # Do the "box cover" animation. + for coverage in range(0, BOXSIZE + REVEALSPEED, REVEALSPEED): + drawBoxCovers(board, boxesToCover, coverage) + + +def drawBoard(board, revealed): + # Draws all of the boxes in their covered or revealed state. + for boxx in range(BOARDWIDTH): + for boxy in range(BOARDHEIGHT): + left, top = leftTopCoordsOfBox(boxx, boxy) + if not revealed[boxx][boxy]: + # Draw a covered box. + pygame.draw.rect(DISPLAYSURF, BOXCOLOR, (left, top, BOXSIZE, BOXSIZE)) + else: + # Draw the (revealed) icon. + shape, color = getShapeAndColor(board, boxx, boxy) + drawIcon(shape, color, boxx, boxy) + + +def drawHighlightBox(boxx, boxy): + left, top = leftTopCoordsOfBox(boxx, boxy) + pygame.draw.rect(DISPLAYSURF, HIGHLIGHTCOLOR, (left - 5, top - 5, BOXSIZE + 10, BOXSIZE + 10), 4) + + +def startGameAnimation(board): + # Randomly reveal the boxes 8 at a time. + coveredBoxes = generateRevealedBoxesData(False) + boxes = [] + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + boxes.append( (x, y) ) + random.shuffle(boxes) + boxGroups = splitIntoGroupsOf(8, boxes) + + drawBoard(board, coveredBoxes) + for boxGroup in boxGroups: + revealBoxesAnimation(board, boxGroup) + coverBoxesAnimation(board, boxGroup) + + +def gameWonAnimation(board): + # flash the background color when the player has won + coveredBoxes = generateRevealedBoxesData(True) + color1 = LIGHTBGCOLOR + color2 = BGCOLOR + + for i in range(13): + color1, color2 = color2, color1 # swap colors + DISPLAYSURF.fill(color1) + drawBoard(board, coveredBoxes) + pygame.display.update() + pygame.time.wait(300) + + +def hasWon(revealedBoxes): + # Returns True if all the boxes have been revealed, otherwise False + for i in revealedBoxes: + if False in i: + return False # return False if any boxes are covered. + return True + + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/python_games/memorypuzzle_obfuscated.py b/python_games/memorypuzzle_obfuscated.py new file mode 100644 index 0000000..cf01c8f --- /dev/null +++ b/python_games/memorypuzzle_obfuscated.py @@ -0,0 +1,167 @@ +import random, pygame, sys +from pygame.locals import * +def hhh(): + global a, b + pygame.init() + a = pygame.time.Clock() + b = pygame.display.set_mode((640, 480)) + j = 0 + k = 0 + pygame.display.set_caption('Memory Game') + i = c() + hh = d(False) + h = None + b.fill((60, 60, 100)) + g(i) + while True: + e = False + b.fill((60, 60, 100)) + f(i, hh) + for eee in pygame.event.get(): + if eee.type == QUIT or (eee.type == KEYUP and eee.key == K_ESCAPE): + pygame.quit() + sys.exit() + elif eee.type == MOUSEMOTION: + j, k = eee.pos + elif eee.type == MOUSEBUTTONUP: + j, k = eee.pos + e = True + bb, ee = m(j, k) + if bb != None and ee != None: + if not hh[bb][ee]: + n(bb, ee) + if not hh[bb][ee] and e: + o(i, [(bb, ee)]) + hh[bb][ee] = True + if h == None: + h = (bb, ee) + else: + q, fff = s(i, h[0], h[1]) + r, ggg = s(i, bb, ee) + if q != r or fff != ggg: + pygame.time.wait(1000) + p(i, [(h[0], h[1]), (bb, ee)]) + hh[h[0]][h[1]] = False + hh[bb][ee] = False + elif ii(hh): + jj(i) + pygame.time.wait(2000) + i = c() + hh = d(False) + f(i, hh) + pygame.display.update() + pygame.time.wait(1000) + g(i) + h = None + pygame.display.update() + a.tick(30) +def d(ccc): + hh = [] + for i in range(10): + hh.append([ccc] * 7) + return hh +def c(): + rr = [] + for tt in ((255, 0, 0), (0, 255, 0), (0, 0, 255), (255, 255, 0), (255, 128, 0), (255, 0, 255), (0, 255, 255)): + for ss in ('a', 'b', 'c', 'd', 'e'): + rr.append( (ss, tt) ) + random.shuffle(rr) + rr = rr[:35] * 2 + random.shuffle(rr) + bbb = [] + for x in range(10): + v = [] + for y in range(7): + v.append(rr[0]) + del rr[0] + bbb.append(v) + return bbb +def t(vv, uu): + ww = [] + for i in range(0, len(uu), vv): + ww.append(uu[i:i + vv]) + return ww +def aa(bb, ee): + return (bb * 50 + 70, ee * 50 + 65) +def m(x, y): + for bb in range(10): + for ee in range(7): + oo, ddd = aa(bb, ee) + aaa = pygame.Rect(oo, ddd, 40, 40) + if aaa.collidepoint(x, y): + return (bb, ee) + return (None, None) +def w(ss, tt, bb, ee): + oo, ddd = aa(bb, ee) + if ss == 'a': + pygame.draw.circle(b, tt, (oo + 20, ddd + 20), 15) + pygame.draw.circle(b, (60, 60, 100), (oo + 20, ddd + 20), 5) + elif ss == 'b': + pygame.draw.rect(b, tt, (oo + 10, ddd + 10, 20, 20)) + elif ss == 'c': + pygame.draw.polygon(b, tt, ((oo + 20, ddd), (oo + 40 - 1, ddd + 20), (oo + 20, ddd + 40 - 1), (oo, ddd + 20))) + elif ss == 'd': + for i in range(0, 40, 4): + pygame.draw.line(b, tt, (oo, ddd + i), (oo + i, ddd)) + pygame.draw.line(b, tt, (oo + i, ddd + 39), (oo + 39, ddd + i)) + elif ss == 'e': + pygame.draw.ellipse(b, tt, (oo, ddd + 10, 40, 20)) +def s(bbb, bb, ee): + return bbb[bb][ee][0], bbb[bb][ee][1] +def dd(bbb, boxes, gg): + for box in boxes: + oo, ddd = aa(box[0], box[1]) + pygame.draw.rect(b, (60, 60, 100), (oo, ddd, 40, 40)) + ss, tt = s(bbb, box[0], box[1]) + w(ss, tt, box[0], box[1]) + if gg > 0: + pygame.draw.rect(b, (255, 255, 255), (oo, ddd, gg, 40)) + pygame.display.update() + a.tick(30) +def o(bbb, cc): + for gg in range(40, (-8) - 1, -8): + dd(bbb, cc, gg) +def p(bbb, ff): + for gg in range(0, 48, 8): + dd(bbb, ff, gg) +def f(bbb, pp): + for bb in range(10): + for ee in range(7): + oo, ddd = aa(bb, ee) + if not pp[bb][ee]: + pygame.draw.rect(b, (255, 255, 255), (oo, ddd, 40, 40)) + else: + ss, tt = s(bbb, bb, ee) + w(ss, tt, bb, ee) +def n(bb, ee): + oo, ddd = aa(bb, ee) + pygame.draw.rect(b, (0, 0, 255), (oo - 5, ddd - 5, 50, 50), 4) +def g(bbb): + mm = d(False) + boxes = [] + for x in range(10): + for y in range(7): + boxes.append( (x, y) ) + random.shuffle(boxes) + kk = t(8, boxes) + f(bbb, mm) + for nn in kk: + o(bbb, nn) + p(bbb, nn) +def jj(bbb): + mm = d(True) + tt1 = (100, 100, 100) + tt2 = (60, 60, 100) + for i in range(13): + tt1, tt2 = tt2, tt1 + b.fill(tt1) + f(bbb, mm) + pygame.display.update() + pygame.time.wait(300) +def ii(hh): + for i in hh: + if False in i: + return False + return True +if __name__ == '__main__': + hhh() \ No newline at end of file diff --git a/python_games/pentomino.py b/python_games/pentomino.py new file mode 100644 index 0000000..f28588a --- /dev/null +++ b/python_games/pentomino.py @@ -0,0 +1,749 @@ +# Pentomino (a 5-block Tetris clone) +# By Al Sweigart al@inventwithpython.com +# http://inventwithpython.com/pygame +# Released under a "Simplified BSD" license + +# KRT 17/06/2012 rewrite event detection to deal with mouse use + +import random, time, pygame, sys +from pygame.locals import * + +FPS = 25 +WINDOWWIDTH = 640 +WINDOWHEIGHT = 480 +BOXSIZE = 20 +BOARDWIDTH = 10 +BOARDHEIGHT = 20 +BLANK = '.' + +MOVESIDEWAYSFREQ = 0.15 +MOVEDOWNFREQ = 0.1 + +XMARGIN = int((WINDOWWIDTH - BOARDWIDTH * BOXSIZE) / 2) +TOPMARGIN = WINDOWHEIGHT - (BOARDHEIGHT * BOXSIZE) - 5 + +# R G B +WHITE = (255, 255, 255) +GRAY = (185, 185, 185) +BLACK = ( 0, 0, 0) +RED = (155, 0, 0) +LIGHTRED = (175, 20, 20) +GREEN = ( 0, 155, 0) +LIGHTGREEN = ( 20, 175, 20) +BLUE = ( 0, 0, 155) +LIGHTBLUE = ( 20, 20, 175) +YELLOW = (155, 155, 0) +LIGHTYELLOW = (175, 175, 20) + +BORDERCOLOR = BLUE +BGCOLOR = BLACK +TEXTCOLOR = WHITE +TEXTSHADOWCOLOR = GRAY +COLORS = ( BLUE, GREEN, RED, YELLOW) +LIGHTCOLORS = (LIGHTBLUE, LIGHTGREEN, LIGHTRED, LIGHTYELLOW) +assert len(COLORS) == len(LIGHTCOLORS) # each color must have light color + +TEMPLATEWIDTH = 5 +TEMPLATEHEIGHT = 5 + +F_TEMPLATE = [['.....', + '..OO.', + '.OO..', + '..O..', + '.....'], + ['.....', + '..O..', + '.OOO.', + '...O.', + '.....'], + ['.....', + '..O..', + '..OO.', + '.OO..', + '.....'], + ['.....', + '.O...', + '.OOO.', + '..O..', + '.....']] +RF_TEMPLATE = [['.....', + '.OO..', + '..OO.', + '..O..', + '.....'], + ['.....', + '...O.', + '.OOO.', + '..O..', + '.....'], + ['.....', + '..O..', + '.OO..', + '..OO.', + '.....'], + ['.....', + '..O..', + '.OOO.', + '.O...', + '.....']] +I_TEMPLATE = [['..O..', + '..O..', + '..O..', + '..O..', + '..O..'], + ['.....', + '.....', + 'OOOOO', + '.....', + '.....']] +L_TEMPLATE = [['..O..', + '..O..', + '..O..', + '..OO.', + '.....'], + ['.....', + '.....', + '.OOOO', + '.O...', + '.....'], + ['.....', + '.OO..', + '..O..', + '..O..', + '..O..'], + ['.....', + '...O.', + 'OOOO.', + '.....', + '.....']] +J_TEMPLATE = [['..O..', + '..O..', + '..O..', + '.OO..', + '.....'], + ['.....', + '.O...', + '.OOOO', + '.....', + '.....'], + ['.....', + '..OO.', + '..O..', + '..O..', + '..O..'], + ['.....', + '.....', + 'OOOO.', + '...O.', + '.....']] +N_TEMPLATE = [['.....', + '.OO..', + '..OOO', + '.....', + '.....'], + ['.....', + '...O.', + '..OO.', + '..O..', + '..O..'], + ['.....', + '.....', + 'OOO..', + '..OO.', + '.....'], + ['..O..', + '..O..', + '.OO..', + '.O...', + '.....']] +RN_TEMPLATE = [['.....', + '..OO.', + 'OOO..', + '.....', + '.....'], + ['..O..', + '..O..', + '..OO.', + '...O.', + '.....'], + ['.....', + '.....', + '..OOO', + '.OO..', + '.....'], + ['.....', + '.O...', + '.OO..', + '..O..', + '..O..']] +P_TEMPLATE = [['.....', + '..OO.', + '..OO.', + '..O..', + '.....'], + ['.....', + '.....', + '.OOO.', + '..OO.', + '.....'], + ['.....', + '..O..', + '.OO..', + '.OO..', + '.....'], + ['.....', + '.OO..', + '.OOO.', + '.....', + '.....']] +RP_TEMPLATE = [['.....', + '.OO..', + '.OO..', + '..O..', + '.....'], + ['.....', + '..OO.', + '.OOO.', + '.....', + '.....'], + ['.....', + '..O..', + '..OO.', + '..OO.', + '.....'], + ['.....', + '.....', + '.OOO.', + '.OO..', + '.....']] +T_TEMPLATE = [['.....', + '.OOO.', + '..O..', + '..O..', + '.....'], + ['.....', + '...O.', + '.OOO.', + '...O.', + '.....'], + ['.....', + '..O..', + '..O..', + '.OOO.', + '.....'], + ['.....', + '.O...', + '.OOO.', + '.O...', + '.....']] +U_TEMPLATE = [['.....', + '.O.O.', + '.OOO.', + '.....', + '.....'], + ['.....', + '..OO.', + '..O..', + '..OO.', + '.....'], + ['.....', + '.....', + '.OOO.', + '.O.O.', + '.....'], + ['.....', + '.OO..', + '..O..', + '.OO..', + '.....']] +V_TEMPLATE = [['..O..', + '..O..', + '..OOO', + '.....', + '.....'], + ['.....', + '.....', + '..OOO', + '..O..', + '..O..'], + ['.....', + '.....', + 'OOO..', + '..O..', + '..O..'], + ['..O..', + '..O..', + 'OOO..', + '.....', + '.....']] +W_TEMPLATE = [['.....', + '.O...', + '.OO..', + '..OO.', + '.....'], + ['.....', + '..OO.', + '.OO..', + '.O...', + '.....'], + ['.....', + '.OO..', + '..OO.', + '...O.', + '.....'], + ['.....', + '...O.', + '..OO.', + '.OO..', + '.....']] +X_TEMPLATE = [['.....', + '..O..', + '.OOO.', + '..O..', + '.....']] +Y_TEMPLATE = [['.....', + '..O..', + 'OOOO.', + '.....', + '.....'], + ['..O..', + '..O..', + '..OO.', + '..O..', + '.....'], + ['.....', + '.....', + '.OOOO', + '..O..', + '.....'], + ['.....', + '..O..', + '.OO..', + '..O..', + '..O..']] +RY_TEMPLATE = [['.....', + '.....', + 'OOOO.', + '..O..', + '.....'], + ['..O..', + '..O..', + '..OO.', + '..O..', + '.....'], + ['.....', + '.....', + '.OOOO', + '..O..', + '.....'], + ['.....', + '..O..', + '.OO..', + '..O..', + '..O..']] +Z_TEMPLATE = [['.....', + '.OO..', + '..O..', + '..OO.', + '.....'], + ['.....', + '...O.', + '.OOO.', + '.O...', + '.....']] +RZ_TEMPLATE = [['.....', + '..OO.', + '..O..', + '.OO..', + '.....'], + ['.....', + '.O...', + '.OOO.', + '...O.', + '.....']] + + + +PIECES = {'F': F_TEMPLATE, + 'RF': RF_TEMPLATE, + 'I': I_TEMPLATE, + 'L': L_TEMPLATE, + 'J': J_TEMPLATE, + 'N': N_TEMPLATE, + 'RN': RN_TEMPLATE, + 'P': P_TEMPLATE, + 'RP': RP_TEMPLATE, + 'T': T_TEMPLATE, + 'U': U_TEMPLATE, + 'V': V_TEMPLATE, + 'W': W_TEMPLATE, + 'X': X_TEMPLATE, + 'Y': Y_TEMPLATE, + 'RY': RY_TEMPLATE, + 'Z': Z_TEMPLATE, + 'RZ': RZ_TEMPLATE} + + +def main(): + global FPSCLOCK, DISPLAYSURF, BASICFONT, BIGFONT + pygame.init() + FPSCLOCK = pygame.time.Clock() + DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT)) + BASICFONT = pygame.font.Font('freesansbold.ttf', 18) + BIGFONT = pygame.font.Font('freesansbold.ttf', 100) + pygame.display.set_caption('Pentomino') + + showTextScreen('Pentomino') + while True: # game loop + if random.randint(0, 1) == 0: + pygame.mixer.music.load('tetrisb.mid') + else: + pygame.mixer.music.load('tetrisc.mid') + pygame.mixer.music.play(-1, 0.0) + runGame() + pygame.mixer.music.stop() + showTextScreen('Game Over') + + +def runGame(): + # setup variables for the start of the game + board = getBlankBoard() + lastMoveDownTime = time.time() + lastMoveSidewaysTime = time.time() + lastFallTime = time.time() + movingDown = False # note: there is no movingUp variable + movingLeft = False + movingRight = False + score = 0 + level, fallFreq = calculateLevelAndFallFreq(score) + + fallingPiece = getNewPiece() + nextPiece = getNewPiece() + + while True: # game loop + if fallingPiece == None: + # No falling piece in play, so start a new piece at the top + fallingPiece = nextPiece + nextPiece = getNewPiece() + lastFallTime = time.time() # reset lastFallTime + + if not isValidPosition(board, fallingPiece): + return # can't fit a new piece on the board, so game over + + checkForQuit() + for event in pygame.event.get(): # event handling loop + if event.type == KEYUP: + if (event.key == K_p): + # Pausing the game + DISPLAYSURF.fill(BGCOLOR) + pygame.mixer.music.stop() + showTextScreen('Paused') # pause until a key press + pygame.mixer.music.play(-1, 0.0) + lastFallTime = time.time() + lastMoveDownTime = time.time() + lastMoveSidewaysTime = time.time() + elif (event.key == K_LEFT or event.key == K_a): + movingLeft = False + elif (event.key == K_RIGHT or event.key == K_d): + movingRight = False + elif (event.key == K_DOWN or event.key == K_s): + movingDown = False + + elif event.type == KEYDOWN: + # moving the piece sideways + if (event.key == K_LEFT or event.key == K_a) and isValidPosition(board, fallingPiece, adjX=-1): + fallingPiece['x'] -= 1 + movingLeft = True + movingRight = False + lastMoveSidewaysTime = time.time() + + elif (event.key == K_RIGHT or event.key == K_d) and isValidPosition(board, fallingPiece, adjX=1): + fallingPiece['x'] += 1 + movingRight = True + movingLeft = False + lastMoveSidewaysTime = time.time() + + # rotating the piece (if there is room to rotate) + elif (event.key == K_UP or event.key == K_w): + fallingPiece['rotation'] = (fallingPiece['rotation'] + 1) % len(PIECES[fallingPiece['shape']]) + if not isValidPosition(board, fallingPiece): + fallingPiece['rotation'] = (fallingPiece['rotation'] - 1) % len(PIECES[fallingPiece['shape']]) + elif (event.key == K_q): # rotate the other direction + fallingPiece['rotation'] = (fallingPiece['rotation'] - 1) % len(PIECES[fallingPiece['shape']]) + if not isValidPosition(board, fallingPiece): + fallingPiece['rotation'] = (fallingPiece['rotation'] + 1) % len(PIECES[fallingPiece['shape']]) + + # making the piece fall faster with the down key + elif (event.key == K_DOWN or event.key == K_s): + movingDown = True + if isValidPosition(board, fallingPiece, adjY=1): + fallingPiece['y'] += 1 + lastMoveDownTime = time.time() + + # move the current piece all the way down + elif event.key == K_SPACE: + movingDown = False + movingLeft = False + movingRight = False + for i in range(1, BOARDHEIGHT): + if not isValidPosition(board, fallingPiece, adjY=i): + break + fallingPiece['y'] += i - 1 + + # handle moving the piece because of user input + if (movingLeft or movingRight) and time.time() - lastMoveSidewaysTime > MOVESIDEWAYSFREQ: + if movingLeft and isValidPosition(board, fallingPiece, adjX=-1): + fallingPiece['x'] -= 1 + elif movingRight and isValidPosition(board, fallingPiece, adjX=1): + fallingPiece['x'] += 1 + lastMoveSidewaysTime = time.time() + + if movingDown and time.time() - lastMoveDownTime > MOVEDOWNFREQ and isValidPosition(board, fallingPiece, adjY=1): + fallingPiece['y'] += 1 + lastMoveDownTime = time.time() + + # let the piece fall if it is time to fall + if time.time() - lastFallTime > fallFreq: + # see if the piece has landed + if not isValidPosition(board, fallingPiece, adjY=1): + # falling piece has landed, set it on the board + addToBoard(board, fallingPiece) + score += removeCompleteLines(board) + level, fallFreq = calculateLevelAndFallFreq(score) + fallingPiece = None + else: + # piece did not land, just move the piece down + fallingPiece['y'] += 1 + lastFallTime = time.time() + + # drawing everything on the screen + DISPLAYSURF.fill(BGCOLOR) + drawBoard(board) + drawStatus(score, level) + drawNextPiece(nextPiece) + if fallingPiece != None: + drawPiece(fallingPiece) + + pygame.display.update() + FPSCLOCK.tick(FPS) + + +def makeTextObjs(text, font, color): + surf = font.render(text, True, color) + return surf, surf.get_rect() + + +def terminate(): + pygame.quit() + sys.exit() + + + +# KRT 17/06/2012 rewrite event detection to deal with mouse use +def checkForKeyPress(): + for event in pygame.event.get(): + if event.type == QUIT: #event is quit + terminate() + elif event.type == KEYDOWN: + if event.key == K_ESCAPE: #event is escape key + terminate() + else: + return event.key #key found return with it + # no quit or key events in queue so return None + return None + +##def checkForKeyPress(): +## # Go through event queue looking for a KEYUP event. +## # Grab KEYDOWN events to remove them from the event queue. +## checkForQuit() +## +## for event in pygame.event.get([KEYDOWN, KEYUP]): +## if event.type == KEYDOWN: +## continue +## return event.key +## return None + + +def showTextScreen(text): + # This function displays large text in the + # center of the screen until a key is pressed. + # Draw the text drop shadow + titleSurf, titleRect = makeTextObjs(text, BIGFONT, TEXTSHADOWCOLOR) + titleRect.center = (int(WINDOWWIDTH / 2), int(WINDOWHEIGHT / 2)) + DISPLAYSURF.blit(titleSurf, titleRect) + + # Draw the text + titleSurf, titleRect = makeTextObjs(text, BIGFONT, TEXTCOLOR) + titleRect.center = (int(WINDOWWIDTH / 2) - 3, int(WINDOWHEIGHT / 2) - 3) + DISPLAYSURF.blit(titleSurf, titleRect) + + # Draw the additional "Press a key to play." text. + pressKeySurf, pressKeyRect = makeTextObjs('Press a key to play.', BASICFONT, TEXTCOLOR) + pressKeyRect.center = (int(WINDOWWIDTH / 2), int(WINDOWHEIGHT / 2) + 100) + DISPLAYSURF.blit(pressKeySurf, pressKeyRect) + + while checkForKeyPress() == None: + pygame.display.update() + FPSCLOCK.tick() + + +def checkForQuit(): + for event in pygame.event.get(QUIT): # get all the QUIT events + terminate() # terminate if any QUIT events are present + for event in pygame.event.get(KEYUP): # get all the KEYUP events + if event.key == K_ESCAPE: + terminate() # terminate if the KEYUP event was for the Esc key + pygame.event.post(event) # put the other KEYUP event objects back + + +def calculateLevelAndFallFreq(score): + # Based on the score, return the level the player is on and + # how many seconds pass until a falling piece falls one space. + level = int(score / 10) + 1 + fallFreq = 0.27 - (level * 0.02) + return level, fallFreq + +def getNewPiece(): + # return a random new piece in a random rotation and color + shape = random.choice(list(PIECES.keys())) + newPiece = {'shape': shape, + 'rotation': random.randint(0, len(PIECES[shape]) - 1), + 'x': int(BOARDWIDTH / 2) - int(TEMPLATEWIDTH / 2), + 'y': -2, # start it above the board (i.e. less than 0) + 'color': random.randint(0, len(COLORS)-1)} + return newPiece + + +def addToBoard(board, piece): + # fill in the board based on piece's location, shape, and rotation + for x in range(TEMPLATEWIDTH): + for y in range(TEMPLATEHEIGHT): + if PIECES[piece['shape']][piece['rotation']][y][x] != BLANK: + board[x + piece['x']][y + piece['y']] = piece['color'] + + +def getBlankBoard(): + # create and return a new blank board data structure + board = [] + for i in range(BOARDWIDTH): + board.append([BLANK] * BOARDHEIGHT) + return board + + +def isOnBoard(x, y): + return x >= 0 and x < BOARDWIDTH and y < BOARDHEIGHT + + +def isValidPosition(board, piece, adjX=0, adjY=0): + # Return True if the piece is within the board and not colliding + for x in range(TEMPLATEWIDTH): + for y in range(TEMPLATEHEIGHT): + isAboveBoard = y + piece['y'] + adjY < 0 + if isAboveBoard or PIECES[piece['shape']][piece['rotation']][y][x] == BLANK: + continue + if not isOnBoard(x + piece['x'] + adjX, y + piece['y'] + adjY): + return False + if board[x + piece['x'] + adjX][y + piece['y'] + adjY] != BLANK: + return False + return True + +def isCompleteLine(board, y): + # Return True if the line filled with boxes with no gaps. + for x in range(BOARDWIDTH): + if board[x][y] == BLANK: + return False + return True + + +def removeCompleteLines(board): + # Remove any completed lines on the board, move everything above them down, and return the number of complete lines. + numLinesRemoved = 0 + y = BOARDHEIGHT - 1 # start y at the bottom of the board + while y >= 0: + if isCompleteLine(board, y): + # Remove the line and pull boxes down by one line. + for pullDownY in range(y, 0, -1): + for x in range(BOARDWIDTH): + board[x][pullDownY] = board[x][pullDownY-1] + # Set very top line to blank. + for x in range(BOARDWIDTH): + board[x][0] = BLANK + numLinesRemoved += 1 + # Note on the next iteration of the loop, y is the same. + # This is so that if the line that was pulled down is also + # complete, it will be removed. + else: + y -= 1 # move on to check next row up + return numLinesRemoved + + +def convertToPixelCoords(boxx, boxy): + # Convert the given xy coordinates of the board to xy + # coordinates of the location on the screen. + return (XMARGIN + (boxx * BOXSIZE)), (TOPMARGIN + (boxy * BOXSIZE)) + + +def drawBox(boxx, boxy, color, pixelx=None, pixely=None): + # draw a single box (each pentomino piece has four boxes) + # at xy coordinates on the board. Or, if pixelx & pixely + # are specified, draw to the pixel coordinates stored in + # pixelx & pixely (this is used for the "Next" piece). + if color == BLANK: + return + if pixelx == None and pixely == None: + pixelx, pixely = convertToPixelCoords(boxx, boxy) + pygame.draw.rect(DISPLAYSURF, COLORS[color], (pixelx + 1, pixely + 1, BOXSIZE - 1, BOXSIZE - 1)) + pygame.draw.rect(DISPLAYSURF, LIGHTCOLORS[color], (pixelx + 1, pixely + 1, BOXSIZE - 4, BOXSIZE - 4)) + + +def drawBoard(board): + # draw the border around the board + pygame.draw.rect(DISPLAYSURF, BORDERCOLOR, (XMARGIN - 3, TOPMARGIN - 7, (BOARDWIDTH * BOXSIZE) + 8, (BOARDHEIGHT * BOXSIZE) + 8), 5) + + # fill the background of the board + pygame.draw.rect(DISPLAYSURF, BGCOLOR, (XMARGIN, TOPMARGIN, BOXSIZE * BOARDWIDTH, BOXSIZE * BOARDHEIGHT)) + # draw the individual boxes on the board + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + drawBox(x, y, board[x][y]) + + +def drawStatus(score, level): + # draw the score text + scoreSurf = BASICFONT.render('Score: %s' % score, True, TEXTCOLOR) + scoreRect = scoreSurf.get_rect() + scoreRect.topleft = (WINDOWWIDTH - 150, 20) + DISPLAYSURF.blit(scoreSurf, scoreRect) + + # draw the level text + levelSurf = BASICFONT.render('Level: %s' % level, True, TEXTCOLOR) + levelRect = levelSurf.get_rect() + levelRect.topleft = (WINDOWWIDTH - 150, 50) + DISPLAYSURF.blit(levelSurf, levelRect) + + +def drawPiece(piece, pixelx=None, pixely=None): + shapeToDraw = PIECES[piece['shape']][piece['rotation']] + if pixelx == None and pixely == None: + # if pixelx & pixely hasn't been specified, use the location stored in the piece data structure + pixelx, pixely = convertToPixelCoords(piece['x'], piece['y']) + + # draw each of the boxes that make up the piece + for x in range(TEMPLATEWIDTH): + for y in range(TEMPLATEHEIGHT): + if shapeToDraw[y][x] != BLANK: + drawBox(None, None, piece['color'], pixelx + (x * BOXSIZE), pixely + (y * BOXSIZE)) + + +def drawNextPiece(piece): + # draw the "next" text + nextSurf = BASICFONT.render('Next:', True, TEXTCOLOR) + nextRect = nextSurf.get_rect() + nextRect.topleft = (WINDOWWIDTH - 120, 80) + DISPLAYSURF.blit(nextSurf, nextRect) + # draw the "next" piece + drawPiece(piece, pixelx=WINDOWWIDTH-120, pixely=100) + + +if __name__ == '__main__': + main() diff --git a/python_games/pinkgirl.png b/python_games/pinkgirl.png new file mode 100644 index 0000000000000000000000000000000000000000..d9ea1f4cf7f928ef243bce56dd40a5a9a33d15c4 GIT binary patch literal 6924 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 literal 0 HcmV?d00001 diff --git a/python_games/simulate.py b/python_games/simulate.py new file mode 100644 index 0000000..49623e9 --- /dev/null +++ b/python_games/simulate.py @@ -0,0 +1,251 @@ +# Simulate (a Simon clone) +# By Al Sweigart al@inventwithpython.com +# http://inventwithpython.com/pygame +# Released under a "Simplified BSD" license + +import random, sys, time, pygame +from pygame.locals import * + +FPS = 30 +WINDOWWIDTH = 640 +WINDOWHEIGHT = 480 +FLASHSPEED = 500 # in milliseconds +FLASHDELAY = 200 # in milliseconds +BUTTONSIZE = 200 +BUTTONGAPSIZE = 20 +TIMEOUT = 4 # seconds before game over if no button is pushed. + +# R G B +WHITE = (255, 255, 255) +BLACK = ( 0, 0, 0) +BRIGHTRED = (255, 0, 0) +RED = (155, 0, 0) +BRIGHTGREEN = ( 0, 255, 0) +GREEN = ( 0, 155, 0) +BRIGHTBLUE = ( 0, 0, 255) +BLUE = ( 0, 0, 155) +BRIGHTYELLOW = (255, 255, 0) +YELLOW = (155, 155, 0) +DARKGRAY = ( 40, 40, 40) +bgColor = BLACK + +XMARGIN = int((WINDOWWIDTH - (2 * BUTTONSIZE) - BUTTONGAPSIZE) / 2) +YMARGIN = int((WINDOWHEIGHT - (2 * BUTTONSIZE) - BUTTONGAPSIZE) / 2) + +# Rect objects for each of the four buttons +YELLOWRECT = pygame.Rect(XMARGIN, YMARGIN, BUTTONSIZE, BUTTONSIZE) +BLUERECT = pygame.Rect(XMARGIN + BUTTONSIZE + BUTTONGAPSIZE, YMARGIN, BUTTONSIZE, BUTTONSIZE) +REDRECT = pygame.Rect(XMARGIN, YMARGIN + BUTTONSIZE + BUTTONGAPSIZE, BUTTONSIZE, BUTTONSIZE) +GREENRECT = pygame.Rect(XMARGIN + BUTTONSIZE + BUTTONGAPSIZE, YMARGIN + BUTTONSIZE + BUTTONGAPSIZE, BUTTONSIZE, BUTTONSIZE) + +def main(): + global FPSCLOCK, DISPLAYSURF, BASICFONT, BEEP1, BEEP2, BEEP3, BEEP4 + + pygame.init() + FPSCLOCK = pygame.time.Clock() + DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT)) + pygame.display.set_caption('Simulate') + + BASICFONT = pygame.font.Font('freesansbold.ttf', 16) + infoSurf = BASICFONT.render('Match the pattern by clicking on the button or using the Q, W, A, S keys.', 1, DARKGRAY) + infoRect = infoSurf.get_rect() + infoRect.topleft = (10, WINDOWHEIGHT - 25) + + # load the sound files + BEEP1 = pygame.mixer.Sound('beep1.ogg') + BEEP2 = pygame.mixer.Sound('beep2.ogg') + BEEP3 = pygame.mixer.Sound('beep3.ogg') + BEEP4 = pygame.mixer.Sound('beep4.ogg') + + # Initialize some variables for a new game + pattern = [] # stores the pattern of colors + currentStep = 0 # the color the player must push next + lastClickTime = 0 # timestamp of the player's last button push + score = 0 + # when False, the pattern is playing. when True, waiting for the player to click a colored button: + waitingForInput = False + + while True: # main game loop + clickedButton = None # button that was clicked (set to YELLOW, RED, GREEN, or BLUE) + DISPLAYSURF.fill(bgColor) + drawButtons() + + scoreSurf = BASICFONT.render('Score: ' + str(score), 1, WHITE) + scoreRect = scoreSurf.get_rect() + scoreRect.topleft = (WINDOWWIDTH - 100, 10) + DISPLAYSURF.blit(scoreSurf, scoreRect) + + DISPLAYSURF.blit(infoSurf, infoRect) + + checkForQuit() + for event in pygame.event.get(): # event handling loop + if event.type == MOUSEBUTTONUP: + mousex, mousey = event.pos + clickedButton = getButtonClicked(mousex, mousey) + elif event.type == KEYDOWN: + if event.key == K_q: + clickedButton = YELLOW + elif event.key == K_w: + clickedButton = BLUE + elif event.key == K_a: + clickedButton = RED + elif event.key == K_s: + clickedButton = GREEN + + + + if not waitingForInput: + # play the pattern + pygame.display.update() + pygame.time.wait(1000) + pattern.append(random.choice((YELLOW, BLUE, RED, GREEN))) + for button in pattern: + flashButtonAnimation(button) + pygame.time.wait(FLASHDELAY) + waitingForInput = True + else: + # wait for the player to enter buttons + if clickedButton and clickedButton == pattern[currentStep]: + # pushed the correct button + flashButtonAnimation(clickedButton) + currentStep += 1 + lastClickTime = time.time() + + if currentStep == len(pattern): + # pushed the last button in the pattern + changeBackgroundAnimation() + score += 1 + waitingForInput = False + currentStep = 0 # reset back to first step + + elif (clickedButton and clickedButton != pattern[currentStep]) or (currentStep != 0 and time.time() - TIMEOUT > lastClickTime): + # pushed the incorrect button, or has timed out + gameOverAnimation() + # reset the variables for a new game: + pattern = [] + currentStep = 0 + waitingForInput = False + score = 0 + pygame.time.wait(1000) + changeBackgroundAnimation() + + pygame.display.update() + FPSCLOCK.tick(FPS) + + +def terminate(): + pygame.quit() + sys.exit() + + +def checkForQuit(): + for event in pygame.event.get(QUIT): # get all the QUIT events + terminate() # terminate if any QUIT events are present + for event in pygame.event.get(KEYUP): # get all the KEYUP events + if event.key == K_ESCAPE: + terminate() # terminate if the KEYUP event was for the Esc key + pygame.event.post(event) # put the other KEYUP event objects back + + +def flashButtonAnimation(color, animationSpeed=50): + if color == YELLOW: + sound = BEEP1 + flashColor = BRIGHTYELLOW + rectangle = YELLOWRECT + elif color == BLUE: + sound = BEEP2 + flashColor = BRIGHTBLUE + rectangle = BLUERECT + elif color == RED: + sound = BEEP3 + flashColor = BRIGHTRED + rectangle = REDRECT + elif color == GREEN: + sound = BEEP4 + flashColor = BRIGHTGREEN + rectangle = GREENRECT + + origSurf = DISPLAYSURF.copy() + flashSurf = pygame.Surface((BUTTONSIZE, BUTTONSIZE)) + flashSurf = flashSurf.convert_alpha() + r, g, b = flashColor + sound.play() + for start, end, step in ((0, 255, 1), (255, 0, -1)): # animation loop + for alpha in range(start, end, animationSpeed * step): + checkForQuit() + DISPLAYSURF.blit(origSurf, (0, 0)) + flashSurf.fill((r, g, b, alpha)) + DISPLAYSURF.blit(flashSurf, rectangle.topleft) + pygame.display.update() + FPSCLOCK.tick(FPS) + DISPLAYSURF.blit(origSurf, (0, 0)) + + +def drawButtons(): + pygame.draw.rect(DISPLAYSURF, YELLOW, YELLOWRECT) + pygame.draw.rect(DISPLAYSURF, BLUE, BLUERECT) + pygame.draw.rect(DISPLAYSURF, RED, REDRECT) + pygame.draw.rect(DISPLAYSURF, GREEN, GREENRECT) + + +def changeBackgroundAnimation(animationSpeed=40): + global bgColor + newBgColor = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)) + + newBgSurf = pygame.Surface((WINDOWWIDTH, WINDOWHEIGHT)) + newBgSurf = newBgSurf.convert_alpha() + r, g, b = newBgColor + for alpha in range(0, 255, animationSpeed): # animation loop + checkForQuit() + DISPLAYSURF.fill(bgColor) + + newBgSurf.fill((r, g, b, alpha)) + DISPLAYSURF.blit(newBgSurf, (0, 0)) + + drawButtons() # redraw the buttons on top of the tint + + pygame.display.update() + FPSCLOCK.tick(FPS) + bgColor = newBgColor + + +def gameOverAnimation(color=WHITE, animationSpeed=50): + # play all beeps at once, then flash the background + origSurf = DISPLAYSURF.copy() + flashSurf = pygame.Surface(DISPLAYSURF.get_size()) + flashSurf = flashSurf.convert_alpha() + BEEP1.play() # play all four beeps at the same time, roughly. + BEEP2.play() + BEEP3.play() + BEEP4.play() + r, g, b = color + for i in range(3): # do the flash 3 times + for start, end, step in ((0, 255, 1), (255, 0, -1)): + # The first iteration in this loop sets the following for loop + # to go from 0 to 255, the second from 255 to 0. + for alpha in range(start, end, animationSpeed * step): # animation loop + # alpha means transparency. 255 is opaque, 0 is invisible + checkForQuit() + flashSurf.fill((r, g, b, alpha)) + DISPLAYSURF.blit(origSurf, (0, 0)) + DISPLAYSURF.blit(flashSurf, (0, 0)) + drawButtons() + pygame.display.update() + FPSCLOCK.tick(FPS) + + + +def getButtonClicked(x, y): + if YELLOWRECT.collidepoint( (x, y) ): + return YELLOW + elif BLUERECT.collidepoint( (x, y) ): + return BLUE + elif REDRECT.collidepoint( (x, y) ): + return RED + elif GREENRECT.collidepoint( (x, y) ): + return GREEN + return None + + +if __name__ == '__main__': + main() diff --git a/python_games/slidepuzzle.py b/python_games/slidepuzzle.py new file mode 100644 index 0000000..d178db2 --- /dev/null +++ b/python_games/slidepuzzle.py @@ -0,0 +1,332 @@ +# Slide Puzzle +# By Al Sweigart al@inventwithpython.com +# http://inventwithpython.com/pygame +# Released under a "Simplified BSD" license + +import pygame, sys, random +from pygame.locals import * + +# Create the constants (go ahead and experiment with different values) +BOARDWIDTH = 4 # number of columns in the board +BOARDHEIGHT = 4 # number of rows in the board +TILESIZE = 80 +WINDOWWIDTH = 640 +WINDOWHEIGHT = 480 +FPS = 30 +BLANK = None + +# R G B +BLACK = ( 0, 0, 0) +WHITE = (255, 255, 255) +BRIGHTBLUE = ( 0, 50, 255) +DARKTURQUOISE = ( 3, 54, 73) +GREEN = ( 0, 204, 0) + +BGCOLOR = DARKTURQUOISE +TILECOLOR = GREEN +TEXTCOLOR = WHITE +BORDERCOLOR = BRIGHTBLUE +BASICFONTSIZE = 20 + +BUTTONCOLOR = WHITE +BUTTONTEXTCOLOR = BLACK +MESSAGECOLOR = WHITE + +XMARGIN = int((WINDOWWIDTH - (TILESIZE * BOARDWIDTH + (BOARDWIDTH - 1))) / 2) +YMARGIN = int((WINDOWHEIGHT - (TILESIZE * BOARDHEIGHT + (BOARDHEIGHT - 1))) / 2) + +UP = 'up' +DOWN = 'down' +LEFT = 'left' +RIGHT = 'right' + +def main(): + global FPSCLOCK, DISPLAYSURF, BASICFONT, RESET_SURF, RESET_RECT, NEW_SURF, NEW_RECT, SOLVE_SURF, SOLVE_RECT + + pygame.init() + FPSCLOCK = pygame.time.Clock() + DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT)) + pygame.display.set_caption('Slide Puzzle') + BASICFONT = pygame.font.Font('freesansbold.ttf', BASICFONTSIZE) + + # Store the option buttons and their rectangles in OPTIONS. + RESET_SURF, RESET_RECT = makeText('Reset', TEXTCOLOR, TILECOLOR, WINDOWWIDTH - 120, WINDOWHEIGHT - 90) + NEW_SURF, NEW_RECT = makeText('New Game', TEXTCOLOR, TILECOLOR, WINDOWWIDTH - 120, WINDOWHEIGHT - 60) + SOLVE_SURF, SOLVE_RECT = makeText('Solve', TEXTCOLOR, TILECOLOR, WINDOWWIDTH - 120, WINDOWHEIGHT - 30) + + mainBoard, solutionSeq = generateNewPuzzle(80) + SOLVEDBOARD = getStartingBoard() # a solved board is the same as the board in a start state. + allMoves = [] # list of moves made from the solved configuration + + while True: # main game loop + slideTo = None # the direction, if any, a tile should slide + msg = 'Click tile or press arrow keys to slide.' # contains the message to show in the upper left corner. + if mainBoard == SOLVEDBOARD: + msg = 'Solved!' + + drawBoard(mainBoard, msg) + + checkForQuit() + for event in pygame.event.get(): # event handling loop + if event.type == MOUSEBUTTONUP: + spotx, spoty = getSpotClicked(mainBoard, event.pos[0], event.pos[1]) + + if (spotx, spoty) == (None, None): + # check if the user clicked on an option button + if RESET_RECT.collidepoint(event.pos): + resetAnimation(mainBoard, allMoves) # clicked on Reset button + allMoves = [] + elif NEW_RECT.collidepoint(event.pos): + mainBoard, solutionSeq = generateNewPuzzle(80) # clicked on New Game button + allMoves = [] + elif SOLVE_RECT.collidepoint(event.pos): + resetAnimation(mainBoard, solutionSeq + allMoves) # clicked on Solve button + allMoves = [] + else: + # check if the clicked tile was next to the blank spot + + blankx, blanky = getBlankPosition(mainBoard) + if spotx == blankx + 1 and spoty == blanky: + slideTo = LEFT + elif spotx == blankx - 1 and spoty == blanky: + slideTo = RIGHT + elif spotx == blankx and spoty == blanky + 1: + slideTo = UP + elif spotx == blankx and spoty == blanky - 1: + slideTo = DOWN + + elif event.type == KEYUP: + # check if the user pressed a key to slide a tile + if event.key in (K_LEFT, K_a) and isValidMove(mainBoard, LEFT): + slideTo = LEFT + elif event.key in (K_RIGHT, K_d) and isValidMove(mainBoard, RIGHT): + slideTo = RIGHT + elif event.key in (K_UP, K_w) and isValidMove(mainBoard, UP): + slideTo = UP + elif event.key in (K_DOWN, K_s) and isValidMove(mainBoard, DOWN): + slideTo = DOWN + + if slideTo: + slideAnimation(mainBoard, slideTo, 'Click tile or press arrow keys to slide.', 8) # show slide on screen + makeMove(mainBoard, slideTo) + allMoves.append(slideTo) # record the slide + pygame.display.update() + FPSCLOCK.tick(FPS) + + +def terminate(): + pygame.quit() + sys.exit() + + +def checkForQuit(): + for event in pygame.event.get(QUIT): # get all the QUIT events + terminate() # terminate if any QUIT events are present + for event in pygame.event.get(KEYUP): # get all the KEYUP events + if event.key == K_ESCAPE: + terminate() # terminate if the KEYUP event was for the Esc key + pygame.event.post(event) # put the other KEYUP event objects back + + +def getStartingBoard(): + # Return a board data structure with tiles in the solved state. + # For example, if BOARDWIDTH and BOARDHEIGHT are both 3, this function + # returns [[1, 4, 7], [2, 5, 8], [3, 6, BLANK]] + counter = 1 + board = [] + for x in range(BOARDWIDTH): + column = [] + for y in range(BOARDHEIGHT): + column.append(counter) + counter += BOARDWIDTH + board.append(column) + counter -= BOARDWIDTH * (BOARDHEIGHT - 1) + BOARDWIDTH - 1 + + board[BOARDWIDTH-1][BOARDHEIGHT-1] = BLANK + return board + + +def getBlankPosition(board): + # Return the x and y of board coordinates of the blank space. + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + if board[x][y] == BLANK: + return (x, y) + + +def makeMove(board, move): + # This function does not check if the move is valid. + blankx, blanky = getBlankPosition(board) + + if move == UP: + board[blankx][blanky], board[blankx][blanky + 1] = board[blankx][blanky + 1], board[blankx][blanky] + elif move == DOWN: + board[blankx][blanky], board[blankx][blanky - 1] = board[blankx][blanky - 1], board[blankx][blanky] + elif move == LEFT: + board[blankx][blanky], board[blankx + 1][blanky] = board[blankx + 1][blanky], board[blankx][blanky] + elif move == RIGHT: + board[blankx][blanky], board[blankx - 1][blanky] = board[blankx - 1][blanky], board[blankx][blanky] + + +def isValidMove(board, move): + blankx, blanky = getBlankPosition(board) + return (move == UP and blanky != len(board[0]) - 1) or \ + (move == DOWN and blanky != 0) or \ + (move == LEFT and blankx != len(board) - 1) or \ + (move == RIGHT and blankx != 0) + + +def getRandomMove(board, lastMove=None): + # start with a full list of all four moves + validMoves = [UP, DOWN, LEFT, RIGHT] + + # remove moves from the list as they are disqualified + if lastMove == UP or not isValidMove(board, DOWN): + validMoves.remove(DOWN) + if lastMove == DOWN or not isValidMove(board, UP): + validMoves.remove(UP) + if lastMove == LEFT or not isValidMove(board, RIGHT): + validMoves.remove(RIGHT) + if lastMove == RIGHT or not isValidMove(board, LEFT): + validMoves.remove(LEFT) + + # return a random move from the list of remaining moves + return random.choice(validMoves) + + +def getLeftTopOfTile(tileX, tileY): + left = XMARGIN + (tileX * TILESIZE) + (tileX - 1) + top = YMARGIN + (tileY * TILESIZE) + (tileY - 1) + return (left, top) + + +def getSpotClicked(board, x, y): + # from the x & y pixel coordinates, get the x & y board coordinates + for tileX in range(len(board)): + for tileY in range(len(board[0])): + left, top = getLeftTopOfTile(tileX, tileY) + tileRect = pygame.Rect(left, top, TILESIZE, TILESIZE) + if tileRect.collidepoint(x, y): + return (tileX, tileY) + return (None, None) + + +def drawTile(tilex, tiley, number, adjx=0, adjy=0): + # draw a tile at board coordinates tilex and tiley, optionally a few + # pixels over (determined by adjx and adjy) + left, top = getLeftTopOfTile(tilex, tiley) + pygame.draw.rect(DISPLAYSURF, TILECOLOR, (left + adjx, top + adjy, TILESIZE, TILESIZE)) + textSurf = BASICFONT.render(str(number), True, TEXTCOLOR) + textRect = textSurf.get_rect() + textRect.center = left + int(TILESIZE / 2) + adjx, top + int(TILESIZE / 2) + adjy + DISPLAYSURF.blit(textSurf, textRect) + + +def makeText(text, color, bgcolor, top, left): + # create the Surface and Rect objects for some text. + textSurf = BASICFONT.render(text, True, color, bgcolor) + textRect = textSurf.get_rect() + textRect.topleft = (top, left) + return (textSurf, textRect) + + +def drawBoard(board, message): + DISPLAYSURF.fill(BGCOLOR) + if message: + textSurf, textRect = makeText(message, MESSAGECOLOR, BGCOLOR, 5, 5) + DISPLAYSURF.blit(textSurf, textRect) + + for tilex in range(len(board)): + for tiley in range(len(board[0])): + if board[tilex][tiley]: + drawTile(tilex, tiley, board[tilex][tiley]) + + left, top = getLeftTopOfTile(0, 0) + width = BOARDWIDTH * TILESIZE + height = BOARDHEIGHT * TILESIZE + pygame.draw.rect(DISPLAYSURF, BORDERCOLOR, (left - 5, top - 5, width + 11, height + 11), 4) + + DISPLAYSURF.blit(RESET_SURF, RESET_RECT) + DISPLAYSURF.blit(NEW_SURF, NEW_RECT) + DISPLAYSURF.blit(SOLVE_SURF, SOLVE_RECT) + + +def slideAnimation(board, direction, message, animationSpeed): + # Note: This function does not check if the move is valid. + + blankx, blanky = getBlankPosition(board) + if direction == UP: + movex = blankx + movey = blanky + 1 + elif direction == DOWN: + movex = blankx + movey = blanky - 1 + elif direction == LEFT: + movex = blankx + 1 + movey = blanky + elif direction == RIGHT: + movex = blankx - 1 + movey = blanky + + # prepare the base surface + drawBoard(board, message) + baseSurf = DISPLAYSURF.copy() + # draw a blank space over the moving tile on the baseSurf Surface. + moveLeft, moveTop = getLeftTopOfTile(movex, movey) + pygame.draw.rect(baseSurf, BGCOLOR, (moveLeft, moveTop, TILESIZE, TILESIZE)) + + for i in range(0, TILESIZE, animationSpeed): + # animate the tile sliding over + checkForQuit() + DISPLAYSURF.blit(baseSurf, (0, 0)) + if direction == UP: + drawTile(movex, movey, board[movex][movey], 0, -i) + if direction == DOWN: + drawTile(movex, movey, board[movex][movey], 0, i) + if direction == LEFT: + drawTile(movex, movey, board[movex][movey], -i, 0) + if direction == RIGHT: + drawTile(movex, movey, board[movex][movey], i, 0) + + pygame.display.update() + FPSCLOCK.tick(FPS) + + +def generateNewPuzzle(numSlides): + # From a starting configuration, make numSlides number of moves (and + # animate these moves). + sequence = [] + board = getStartingBoard() + drawBoard(board, '') + pygame.display.update() + pygame.time.wait(500) # pause 500 milliseconds for effect + lastMove = None + for i in range(numSlides): + move = getRandomMove(board, lastMove) + slideAnimation(board, move, 'Generating new puzzle...', animationSpeed=int(TILESIZE / 3)) + makeMove(board, move) + sequence.append(move) + lastMove = move + return (board, sequence) + + +def resetAnimation(board, allMoves): + # make all of the moves in allMoves in reverse. + revAllMoves = allMoves[:] # gets a copy of the list + revAllMoves.reverse() + + for move in revAllMoves: + if move == UP: + oppositeMove = DOWN + elif move == DOWN: + oppositeMove = UP + elif move == RIGHT: + oppositeMove = LEFT + elif move == LEFT: + oppositeMove = RIGHT + slideAnimation(board, oppositeMove, '', animationSpeed=int(TILESIZE / 2)) + makeMove(board, oppositeMove) + + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/python_games/squirrel.png b/python_games/squirrel.png new file mode 100644 index 0000000000000000000000000000000000000000..564e00109b3af44d07e13eadd1246ded04bb9621 GIT binary patch literal 2974 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 INVULNTIME: + invulnerableMode = False + + # move all the squirrels + for sObj in squirrelObjs: + # move the squirrel, and adjust for their bounce + sObj['x'] += sObj['movex'] + sObj['y'] += sObj['movey'] + sObj['bounce'] += 1 + if sObj['bounce'] > sObj['bouncerate']: + sObj['bounce'] = 0 # reset bounce amount + + # random chance they change direction + if random.randint(0, 99) < DIRCHANGEFREQ: + sObj['movex'] = getRandomVelocity() + sObj['movey'] = getRandomVelocity() + if sObj['movex'] > 0: # faces right + sObj['surface'] = pygame.transform.scale(R_SQUIR_IMG, (sObj['width'], sObj['height'])) + else: # faces left + sObj['surface'] = pygame.transform.scale(L_SQUIR_IMG, (sObj['width'], sObj['height'])) + + + # go through all the objects and see if any need to be deleted. + for i in range(len(grassObjs) - 1, -1, -1): + if isOutsideActiveArea(camerax, cameray, grassObjs[i]): + del grassObjs[i] + for i in range(len(squirrelObjs) - 1, -1, -1): + if isOutsideActiveArea(camerax, cameray, squirrelObjs[i]): + del squirrelObjs[i] + + # add more grass & squirrels if we don't have enough. + while len(grassObjs) < NUMGRASS: + grassObjs.append(makeNewGrass(camerax, cameray)) + while len(squirrelObjs) < NUMSQUIRRELS: + squirrelObjs.append(makeNewSquirrel(camerax, cameray)) + + # adjust camerax and cameray if beyond the "camera slack" + playerCenterx = playerObj['x'] + int(playerObj['size'] / 2) + playerCentery = playerObj['y'] + int(playerObj['size'] / 2) + if (camerax + HALF_WINWIDTH) - playerCenterx > CAMERASLACK: + camerax = playerCenterx + CAMERASLACK - HALF_WINWIDTH + elif playerCenterx - (camerax + HALF_WINWIDTH) > CAMERASLACK: + camerax = playerCenterx - CAMERASLACK - HALF_WINWIDTH + if (cameray + HALF_WINHEIGHT) - playerCentery > CAMERASLACK: + cameray = playerCentery + CAMERASLACK - HALF_WINHEIGHT + elif playerCentery - (cameray + HALF_WINHEIGHT) > CAMERASLACK: + cameray = playerCentery - CAMERASLACK - HALF_WINHEIGHT + + # draw the green background + DISPLAYSURF.fill(GRASSCOLOR) + + # draw all the grass objects on the screen + for gObj in grassObjs: + gRect = pygame.Rect( (gObj['x'] - camerax, + gObj['y'] - cameray, + gObj['width'], + gObj['height']) ) + DISPLAYSURF.blit(GRASSIMAGES[gObj['grassImage']], gRect) + + + # draw the other squirrels + for sObj in squirrelObjs: + sObj['rect'] = pygame.Rect( (sObj['x'] - camerax, + sObj['y'] - cameray - getBounceAmount(sObj['bounce'], sObj['bouncerate'], sObj['bounceheight']), + sObj['width'], + sObj['height']) ) + DISPLAYSURF.blit(sObj['surface'], sObj['rect']) + + + # draw the player squirrel + flashIsOn = round(time.time(), 1) * 10 % 2 == 1 + if not gameOverMode and not (invulnerableMode and flashIsOn): + playerObj['rect'] = pygame.Rect( (playerObj['x'] - camerax, + playerObj['y'] - cameray - getBounceAmount(playerObj['bounce'], BOUNCERATE, BOUNCEHEIGHT), + playerObj['size'], + playerObj['size']) ) + DISPLAYSURF.blit(playerObj['surface'], playerObj['rect']) + + + # draw the health meter + drawHealthMeter(playerObj['health']) + + for event in pygame.event.get(): # event handling loop + if event.type == QUIT: + terminate() + + elif event.type == KEYDOWN: + if event.key in (K_UP, K_w): + moveDown = False + moveUp = True + elif event.key in (K_DOWN, K_s): + moveUp = False + moveDown = True + elif event.key in (K_LEFT, K_a): + moveRight = False + moveLeft = True + if playerObj['facing'] != LEFT: # change player image + playerObj['surface'] = pygame.transform.scale(L_SQUIR_IMG, (playerObj['size'], playerObj['size'])) + playerObj['facing'] = LEFT + elif event.key in (K_RIGHT, K_d): + moveLeft = False + moveRight = True + if playerObj['facing'] != RIGHT: # change player image + playerObj['surface'] = pygame.transform.scale(R_SQUIR_IMG, (playerObj['size'], playerObj['size'])) + playerObj['facing'] = RIGHT + elif winMode and event.key == K_r: + return + + elif event.type == KEYUP: + # stop moving the player's squirrel + if event.key in (K_LEFT, K_a): + moveLeft = False + elif event.key in (K_RIGHT, K_d): + moveRight = False + elif event.key in (K_UP, K_w): + moveUp = False + elif event.key in (K_DOWN, K_s): + moveDown = False + + elif event.key == K_ESCAPE: + terminate() + + if not gameOverMode: + # actually move the player + if moveLeft: + playerObj['x'] -= MOVERATE + if moveRight: + playerObj['x'] += MOVERATE + if moveUp: + playerObj['y'] -= MOVERATE + if moveDown: + playerObj['y'] += MOVERATE + + if (moveLeft or moveRight or moveUp or moveDown) or playerObj['bounce'] != 0: + playerObj['bounce'] += 1 + + if playerObj['bounce'] > BOUNCERATE: + playerObj['bounce'] = 0 # reset bounce amount + + # check if the player has collided with any squirrels + for i in range(len(squirrelObjs)-1, -1, -1): + sqObj = squirrelObjs[i] + if 'rect' in sqObj and playerObj['rect'].colliderect(sqObj['rect']): + # a player/squirrel collision has occurred + + if sqObj['width'] * sqObj['height'] <= playerObj['size']**2: + # player is larger and eats the squirrel + playerObj['size'] += int( (sqObj['width'] * sqObj['height'])**0.2 ) + 1 + del squirrelObjs[i] + + if playerObj['facing'] == LEFT: + playerObj['surface'] = pygame.transform.scale(L_SQUIR_IMG, (playerObj['size'], playerObj['size'])) + if playerObj['facing'] == RIGHT: + playerObj['surface'] = pygame.transform.scale(R_SQUIR_IMG, (playerObj['size'], playerObj['size'])) + + if playerObj['size'] > WINSIZE: + winMode = True # turn on "win mode" + + elif not invulnerableMode: + # player is smaller and takes damage + invulnerableMode = True + invulnerableStartTime = time.time() + playerObj['health'] -= 1 + if playerObj['health'] == 0: + gameOverMode = True # turn on "game over mode" + gameOverStartTime = time.time() + else: + # game is over, show "game over" text + DISPLAYSURF.blit(gameOverSurf, gameOverRect) + if time.time() - gameOverStartTime > GAMEOVERTIME: + return # end the current game + + # check if the player has won. + if winMode: + DISPLAYSURF.blit(winSurf, winRect) + DISPLAYSURF.blit(winSurf2, winRect2) + + pygame.display.update() + FPSCLOCK.tick(FPS) + + + + +def drawHealthMeter(currentHealth): + for i in range(currentHealth): # draw red health bars + pygame.draw.rect(DISPLAYSURF, RED, (15, 5 + (10 * MAXHEALTH) - i * 10, 20, 10)) + for i in range(MAXHEALTH): # draw the white outlines + pygame.draw.rect(DISPLAYSURF, WHITE, (15, 5 + (10 * MAXHEALTH) - i * 10, 20, 10), 1) + + +def terminate(): + pygame.quit() + sys.exit() + + +def getBounceAmount(currentBounce, bounceRate, bounceHeight): + # Returns the number of pixels to offset based on the bounce. + # Larger bounceRate means a slower bounce. + # Larger bounceHeight means a higher bounce. + # currentBounce will always be less than bounceRate + return int(math.sin( (math.pi / float(bounceRate)) * currentBounce ) * bounceHeight) + +def getRandomVelocity(): + speed = random.randint(SQUIRRELMINSPEED, SQUIRRELMAXSPEED) + if random.randint(0, 1) == 0: + return speed + else: + return -speed + + +def getRandomOffCameraPos(camerax, cameray, objWidth, objHeight): + # create a Rect of the camera view + cameraRect = pygame.Rect(camerax, cameray, WINWIDTH, WINHEIGHT) + while True: + x = random.randint(camerax - WINWIDTH, camerax + (2 * WINWIDTH)) + y = random.randint(cameray - WINHEIGHT, cameray + (2 * WINHEIGHT)) + # create a Rect object with the random coordinates and use colliderect() + # to make sure the right edge isn't in the camera view. + objRect = pygame.Rect(x, y, objWidth, objHeight) + if not objRect.colliderect(cameraRect): + return x, y + + +def makeNewSquirrel(camerax, cameray): + sq = {} + generalSize = random.randint(5, 25) + multiplier = random.randint(1, 3) + sq['width'] = (generalSize + random.randint(0, 10)) * multiplier + sq['height'] = (generalSize + random.randint(0, 10)) * multiplier + sq['x'], sq['y'] = getRandomOffCameraPos(camerax, cameray, sq['width'], sq['height']) + sq['movex'] = getRandomVelocity() + sq['movey'] = getRandomVelocity() + if sq['movex'] < 0: # squirrel is facing left + sq['surface'] = pygame.transform.scale(L_SQUIR_IMG, (sq['width'], sq['height'])) + else: # squirrel is facing right + sq['surface'] = pygame.transform.scale(R_SQUIR_IMG, (sq['width'], sq['height'])) + sq['bounce'] = 0 + sq['bouncerate'] = random.randint(10, 18) + sq['bounceheight'] = random.randint(10, 50) + return sq + + +def makeNewGrass(camerax, cameray): + gr = {} + gr['grassImage'] = random.randint(0, len(GRASSIMAGES) - 1) + gr['width'] = GRASSIMAGES[0].get_width() + gr['height'] = GRASSIMAGES[0].get_height() + gr['x'], gr['y'] = getRandomOffCameraPos(camerax, cameray, gr['width'], gr['height']) + gr['rect'] = pygame.Rect( (gr['x'], gr['y'], gr['width'], gr['height']) ) + return gr + + +def isOutsideActiveArea(camerax, cameray, obj): + # Return False if camerax and cameray are more than + # a half-window length beyond the edge of the window. + boundsLeftEdge = camerax - WINWIDTH + boundsTopEdge = cameray - WINHEIGHT + boundsRect = pygame.Rect(boundsLeftEdge, boundsTopEdge, WINWIDTH * 3, WINHEIGHT * 3) + objRect = pygame.Rect(obj['x'], obj['y'], obj['width'], obj['height']) + return not boundsRect.colliderect(objRect) + + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/python_games/starPusherLevels.txt b/python_games/starPusherLevels.txt new file mode 100644 index 0000000..28a2e40 --- /dev/null +++ b/python_games/starPusherLevels.txt @@ -0,0 +1,3492 @@ +; Star Pusher (Sokoban clone) +; http://inventwithpython.com/blog +; By Al Sweigart al@inventwithpython.com +; +; Everything after the ; is a comment and will be ignored by the game that +; reads in this file. +; +; The format is described at: +; http://sokobano.de/wiki/index.php?title=Level_format +; @ - The starting position of the player. +; $ - The starting position for a pushable star. +; . - A goal where a star needs to be pushed. +; + - Player & goal +; * - Star & goal +; (space) - an empty open space. +; # - A wall. +; +; Level maps are separated by a blank line (I like to use a ; at the start +; of the line since it is more visible.) +; +; I tried to use the same format as other people use for their Sokoban games, +; so that loading new levels is easy. Just place the levels in a text file +; and name it "starPusherLevels.txt" (after renaming this file, of course). + + +; Starting demo level: + ######## +## # +# . # +# $ # +# .$@$. # +####$ # + #. # + # ## + ##### +; +; +; +; These Sokoban levels come from David W. Skinner, who has many more puzzles at: +; http://users.bentonrea.com/~sasquatch/sokoban/ + +; Sasquatch Set I + +; 1 + + ### + ## # #### + ## ### # +## $ # +# @$ # # +### $### # + # #.. # + ## ##.# ## + # ## + # ## + ####### + +; 2 + + ## ##### +## ## . # +# ## $. # + ## $ # +## $@ ### +# $ ## +#.. ## ## +# # ## +##### # + +; 3 + + ##### + ## # + # # + #### # $ ## + # ####$ $# + # $ $ # + ## ## $ $ $# + # .# $ $ # + # .# # +##### ######### +#.... @ # +#.... # +## ###### + #### + +; 4 + + ########### + ## # @# +### $ $$# # +# ##$ $$ # +# # $ # # +###### ###### +#.. ..$ #*## +# .. ### +# ..##### +######### + +; 5 + + ########### + ## # ## +### $ $#$ $ ### +# #$ $ # $ $# # +# $ ..#.. $ # +# $...#...$ # +# $ .. * .. $ # +###### @ ###### +# $ .. .. $ # +# $...#...$ # +# $ ..#.. $ # +# #$ $ # $ $# # +### $ $#$ $ ### + ## # ## + ########### + +; 6 + + ########### +###. .$. .### + ## $ $ $ ## + ## ..$.. ## + ##$#$#$## + #.$ $.# + # @ # + ### ### + ## $ $ ## + #. $ .# + ### . ### + ##### + +; 7 + + ###### + #### ## # + ### # # ## ### +### #### # $ # +# $ @ ...*.. $ # +# $ $ ## ### ### +### ### # ##### + # ### + # #### + ##### + +; 8 + + ####### + # ## +##### ### ## +# # ## +#@$***. ##$ # +# # ## .# +## ## # $ # + ## ####.$.# + ## # + ###### ## + #### + +; 9 + +######### +#. . # +#.$. . # +## ###@ # + # $ ## + # $$ ## + # $ # + # ### + #### + +; 10 + + ###### + # # + # @ ### +#### # # +# ####..#.#$##### +# $ $ ##... # +# .....#$$ # +###### ##$## ##### + # $ # + #### #### + # # + # ##### + ### $ # + # $ $ # + # #$# #### + # # + ####### + +; 11 + + #### +### #### +# @ ## +# #. .#.### +# $$$ $$$ # +###.#.#.# # + ## # + #### ### + #### + +; 12 + + ##### + # # + ##### # ####### + # ##### # ..... # +##### # ## # # # # # +# $ $ $ $ $ # ## ## $ # +# # ##......#### ### $$ ### +# ## * # # # $$ # +##########+$$ ## # # + #.$ $# # ######## + #.## # + ######## + +; 13 + + ####### + ### ## + # ### # + # # # +###$#@ # # +# ##### # +# # *. # +##$$# *.## + # *..# + #### #...## + # #$$$ # + # $ # + ##### # + #### + +; 14 + + ####### +## # # +# *.$.# +# *.#.### +# #$@$$ # +# ## # # +###### # + ##### + +; 15 + + #### + #@ # + ## # + # .$# + #$. # +###..$### +# ..$ # +# $ $ # # +##### # # + # # + ##### + +; 16 + + ###### + ## # ### +## # # ## +# # $.# # +## $ $.# # +# #####. ## +# $. @# +# $. #### +### # #*# # ### + #### .$ # + # .$ # + ## .##### # + # #.$ $ ## + # #.$ # # + ## # # ## + ### # ## + ###### + +; 17 + + ########### + ## . . . . ### + # $$ $ $ $ # + # ######## # ##### + #### ## $ # # # + # # $ $ # ### # # +## # # #### $ # +#... ##### $ #### ### +#... @ $ # # +#...############ $ $ # +##### ##### # + #### + +; 18 + + #### +##### # +# # +#$ $ $ # +#.*.*.*# +#*.*.*.# +# $ $ $# +#......# +#.*.*.*# +#$ $ $ # +# $ $ $# +#$ $ $ # +# # +#@ ##### +#### + +; 19 + +##### +# ####### +# $ ## +## ###### ## + # # # # ######## + # # ## $ ## + # #. #@###### $ ## + # #.# ### ## $ ## + # #. # ## $ ## + # #.# # ## ## $ ## +## #.# ## ### ## $ # +# #.# # #*## ## # +# .# # # ##*## ##### +###### # ###### + ##### + +; 20 + + #### + # # +######$.# +# $ $.# +# $@$...# +# $$$..## +# $ ..# +######## + +; 21 + +##### ######## +# ### . $ # +# $ *.. #$ ## +## $# ..* $ @# + # $ . ### # + ######## ##### + +; 22 + + ##### #### + #@ .### ### +#### $$ $ # +# # . . ## # +# $ # . . ## # +## . $ $$ # # + # # ###. # # + # #### ##### # + # # # + ####### # #### + # .$ # + #### # + ## ##### + ### + +; 23 + + ####### +###### ###### +# . ..$#$.. . # +# $ $ . $ $ # +###$####@####$### +# $ $ . $ $ # +# . ..$#$.. . # +###### ###### + ####### + +; 24 + + ###### + # ## + ####### $ # + # $ $ $ #$ # + # #. $ # + ####.#.# $### + # ..... # + # $ ..##$# +### ## .. # +# $.#$ # $# +# $ # # +##@ # #### + ## #### + #### + +; 25 + + ##### + ##### ##### + # .#$ $ # + # #. $$$ @ ## + # .#$ $ # + ###.# $ $ # + #. ##$ ### + #######*###.$ # + # $ ....#### +## #$#$$....# +# $ $ #..# +# $ #..# +# ########## +##### + +; 26 + + #### + ########### # + # $ $ $ $ ## + # # # # # #$## + ##. . . . . .# + #$# # # # #$#### +###. . . . . . # +###$# # # # # @ # + # $ $ $ $ ### + # ########### + #### + +; 27 + + ######## + ###### ########## +## $ ### ## +# $ $ ## # ######### # +# $ # # # +# $ $ # # ######### # # +# $ # # #. . . . # # +# $ $ # # . . . .## # +# $ # # # . . . . # # +##$ $## # #### # # ## + # #@ # # #### + ###### ##### # # + ## # # # + ##### ## ## + ## ## + ###### + +; 28 + + ###### + # ### + ##### $ $ # +#### #.# ## +# $ #$#.##$##### +# $$. .#.$ ## +# $.#.#.##### #### +## ....... @# # + ####$ #.### #$###$## + ## $ . # $ $ $ # + # $ ### # + # # ############ + ##### + +; 29 + +#### +# # #### +# ######## ####### # +# ### ## $ # +##.###### ... #. # + #.# # .# # $ # + #$$$$#$$$ #.# ##. # + #.# $ $ #.. ## + #.# $ $ # # ## + # # $$ # ##### + #. ##$ ###### + #. # $. # +##. @ ###.#$ # +# # # # +# ## ###### +###### + +; 30 + + ##### + # # + # # ###### + ### ## ##### # ### + # # ## #$$ # + ##$ ########## $ $ # +### ## ..........$ #$$@# +# # $$# ####### $ # +# $ #...# ### #### +# # $ ### ## #### +######## # + # # + # # + ###### + +; 31 + + ######### + ### ## #### +##### # * ## # # +# #### **** ####$.## +# .$ *@* $. # +##.$#### **** #### # + # # ## * # ##### + #### ## ### + ######### + +; 32 + + ##### + # # + ######### $ # + ###### # # # # + # # # $ $ #@# + ### ## #### ### ## ### + # $ $ # # # + # $ $ # #$ # $$ $$ # + ###### $ # # # # +## ## ############### +# .# $ # # +#.. # ###### +#...#### # +#....# #### +#....# +###### + +; 33 + + ####### + ## ## + # ### # + # ## $ #### + # # .# $.#### + # # * *###.$ # + # # *# ### ##### + # # @ * * # # # + # # ### #*# * # + # ## # * *.# # ####### + # # # ....$ $ # + # # ## $# $####$ # +###* * # ####### +# ########## #### +# # +## ############ + #### + +; 34 + + ##### + # ..######## + # ......# # + #.. ##$$ $# + #####.## $ # + # ....# $ $$# +##### ## # .. .#$ $ # +# # # ##.### $$ $### +# ### # ## # $ # # +# @ #### # # # ###$ # # +# # $ $ # +# #### ### ####$$## +# ## #### # # +# # ## ###### # +#### ## # # $ # + ## # # # + ###### ##### + +; 35 + + ##### + # # +## # ##### +# ## ####### +# # $ #### +# #### $ $$ # # +##### # $$$ $ #$ # + # $ $ $ $ ###### + ###$ #$ $ $ # + # $ $$ ### @ ## + # $ $$$$####... # + # $ $ #. .#...# + ### $$$$ ...... # + # ##..#.....# + ###### ##.....#### + # .....# # + ########## + +; 36 + + ##### + #### # ###### + # # # $ $ # + # #### # $##$ ### + # ######### # $ $ # + # ..........# $ # + ###### ##....@### # $$ # + # # #####.## # ## $ # + # # #$ $$ $ # +#### # ##### # # $ # # +# # # # ### #### +# # # # ##### +# # ##### +##### # + ####### + +; 37 + + ##### ######### + # # # # +### #$### ##### # # # ##### +# $. . # # . . . . # +# # # #$### # # # # # # #$# +# . . . . $ $ $ $ . . # +###$# # #$###########$# #$# + # . . ## # . # + ###$# #$####### # #$# #$### + # . .$ $ $ # # . . # + #$# # # # # #####$# # # # + # . . . . . $ . . . # + ### # # # # # # # # # # # + # $ $. . .$ $ $ $ $ $ # + ##### # # ############# + # @ # + ####### + +; 38 + + #### + #### ######## # +###@ ## # # # +# # # ### $ $ # +# ....########## # #..# +# . # ## $ $ $# # #..# +### # $ $$$ # # $ $ # + # ...# $ $$ # # # # + # ..# $ $ $ # # ## # + ##...# $ $$ $ #$# ##### + # ## $ $ $ # # + ### ###### ### # ### + # . ## #### . . # + ## . # # #.#.# # + # . # # # # # # + # . #### ######### + # ## + #### + +; 39 + + #### ##### + # ####### #### # + # @ $ #### $ # + # ###.# # $$ # + ###.## $ #$ # # ## + # ..# $ ...# ### ## + # $ ...$##.## ## + ##.###$ $.. $$ ## + #. #. .### $ $ # + # $...## ## # # + ## ###### # ## +## ## ##### +# $$ # +# $ # +### $ # + # ## + #### + +; 40 + + ####### +#### # # +# ### $$$ # +# ....$ ##### +# ..# $ # @# +###$##$#### # ###### + #.*....$ $ ### ##### + # ..##### ## $ $ # + #....*.... # $$ # $ # + ########## #$$ ## # # + # $.### $ ## + # $###$# # # + ##### $ $ #### + #### #### + ###### + +; 41 + + ##### + # # + ### ######## +## *** # # # + # * * ## # ##### +## *** ## # ## ## + ### #### # # # # + # # # # ####$ $### + ## ## # ## $...$ ## + ##### # ## .@. # + # # # $...$ ## + ########$ $### + # # + ##### + +; 42 + +#### +# ###### +# #### +# $ $ # ##### +##### ### $ # + # # $ # # + # ##$###### + # $### # ...# # + ## #@#$ ##.#.# # + # # #...# # + # $ ##$ $#...##### + ### ## #... # + # # $ $ $ # # # + # $### ###### # # + # # # + ############# # + ##### + +; 43 + + #### + ## ############# + ## .......... # +## # ####$### ## +# # # # ## +# # # $$$ # # ##### +##### # . .# ### . . . ## + # $. .# # $$ $ $ @# + ####### ### # ####### + # $ $ # ## ### + # $ $ # # ## # #### + # $### #### # # # ## #### + # $ $$$ # ## # ## # + ## # ## #### $$$ # + ## ####### ..... ##### + # $ ###### # + # ###### ## #### + ##### #### + +; 44 + + ############# +## # ### +# $ $$$$$ # +### $ $ ### # + # $ $ $### # # + ## $ ## # ### + #### #### # + ### # ### + #### #### # + #@ $ ### #.# ##### + # $ $ ## # .... # + # $$ ## ####..... # + ## $ # #..#.## # + # $ $ ## #...... # + # $ $ # # . ..# ## + ## $ # ## ##.# # + # ## # # + ###### ######## + +; 45 + + #### ######## + # ##### ## # # + # $ ### $ $ # + # $ # ## $ #### + ### # # ###$## # +##### ### #### $ # +# # $ $$## .. ##$ # +# $$ # $ ## +## # $## #### # #### +### # ##$ ###..#..# +# ###.. # .....### +# # *.### # #.. # +##$$# *.##@ # # # + # *. #### ### # + ###### # # # + ##### ## ### + # ### + #### + +; 46 + + #### ################### + ##### ### .$ # +### $. #####$#### # # +# $. #### # . ### .# +# $ $.### ## # #### # $.# $# +### $.## # # # # # # $ # # + ###### # ## #$ $ ## #. # # + ##### #.#. # ### # # + ##### # # ### ### # # + ##*## # .# # #$$* ## + #*### ### ## ## ## # .#. ## + ###*# # .$ .# $.$.## ### # + ##*## # #.#### # $. ## + #*### # $$ ### ### ## ## + ###*# # # . $@$ #######. # + ##### # ### ####.# $ # + # # ########### # + ####### #### + +; 47 + +######### +# # ###### +# $ ###### ### +# #$#$ $ $ # $ # +# $ $@$ $ $ $ $$ # +# $ $# $ # $$$ # +# $ $ ####### ##### +## ###....##### ..# + ###$$# $$$$ #...* ..# + # ## #.. # + # # #$###....##*## + # ##..$. .... # + ### .* .#....# # + ################## + +; 48 + + #### #### + ## # # # ####### +### ###$ ## # ### +# $ $ ### # +# $ $ ###$ # # # +### ### # # # # +# $ # ## ### # ### +# $ # #@ ## +# $# # ### ### # # +# $ # # $ $ # # # # +## # $ # #. # + ## # # ## #.. ### + ## # # ## #... ## + ### # #### #....## + # $.*.## + ############..## + #### + +; 49 'Parallel Logic' + +######################### +# # # # # # # # # +# $#$ # $#$ # $#$ # $#$ # +# # # # # # # # # +## # ### # ### # ### # ## +# # # # # # # # # +# # # # # +# ### # ### # ### # ### # +# # # # # # # # # +# # # $ # # # +# # ### # ### # ### # # +# . . . . + . . . . # +######################### + +; 50 'Particle Theory' + + # # # # # # # # # # # # + # # # # # # # # # # # # # +# .$ . $. . $ .$ # + # $# #$# # # #$# # # # # +# . . $. . .$ . . # + # #$# # # # #$#$ $# #$# # +# . .$ .$ . $. . # + # $# # # # #@# # # # #$ # +# . .$ . $. $. . # + # #$# #$ $#$# # # # #$# # +# . . $. . .$ . . # + # # # # #$# # # #$# #$ # +# $. $ . .$ . $. # + # # # # # # # # # # # # # + # # # # # # # # # # # # + +; Sasquatch Set II + + +; 1 + +##### +# ##### +# $ $ $ # +### # # # + # # # + ## ### ## + # .....@# + # $ $ # + # ### ### + # # + ####### + +; 2 + + #### +######..# +# . # +# # ..# +# ## ### +# $ ## +# # #$ @# +# # $ $ # +# ## $ ## +##### # + ##### + +; 3 + + ##### + ## ## + # ## + # @ # +############ #. # +# #.## +# ############.# +# .# +##$#$#$#$#$#$#.# + # .# + ############### + +; 4 + + ##### + ### # +#### # $$ #### +# ### $ # # +# ###$$ $ # +# *# @ ## # # +## ##### #..# ## + # ## #..# # + ## $ # #.. # +# ## $ # ..#### + # ## # # + # #### ## + # ##### + +; 5 + + ##### + #### # + # . # ### + # $. $ $ # + # #.## $ # +###@#..#$ # +# ##.# ## +# $ $ .# $# +## ###.## # + # # + ##### ### + #### + +; 6 + + ##### + ## ###### + # @ # # + # # $ * # +#### ###$#. # +#.....# .## +#.....# #$#. ### +### . ## # + # ## ##$ ### #### + # # # $ $ # + # $$$# # $ $ # + ##### # ###### # + #$ # #### + ## $ # # + # $ # + # ### + ###### + +; 7 + + ##### +########## # +#. ........ .## +# #### # ## +## $ # # ## + # $ # # # ## + # $ $ # # # # + # $ $ # @ # + # $ $$ # # + # $## ########### + # # # + # ## + ###### + +; 8 + + ######### + ##### # +## #### # +# $ # @ *..*### +# # # #.... # +# #$# #.... # +# $# # ##$### # +# #$ ## +## $ $# #### + ## $ #### + ### $$ # # + # # ### + ###### + +; 9 + + #### + #### ## ### + #### $ # #*# #### + ######## $ $ # ### # # + # $ $ $ $ ## # # ## +## $ $ #### $ ####### # +# $$ ##### $ ## # # +# ## ## $ $ # # +#.# $ # $ $ #### ## ## # +#.# $ $ $ #### # # +#.#.# $ # # # +#.#. ### # ######## # +#.#.###@#### ## # ## +#............. # ###### # +# .########### ## # #### +##### # # + ###### + +; 10 + + #### + ##### ##### ## + ## ### ## + ## * * . $ # @ ## + # ## * ## ### # # + # ## * # # $ # # + # # * # # # # +## # ## # # ### # +# ## # #. $ .## ## +# #.# ## ## #.# ## +# # $ #. $ .$ ## +# #* $.# . ## +##### ## ## # ## + # # $ # # + # # # ## + # #$## # + ## ## + ######## + +; 11 + + #### + # #### + # $ ######### + # .# $ ## # + # $# .## $ ## + #### .### #$$ # +## ## # .. # $$ # +# $ ...# $ # +# $ #####... # ## +# $# # .**@#### +### # # # # + ##### #### # # + ## ## + ######## + +; 12 + +# ### + ## ## + #*.$ # +# .$.$ .## +# $.$.$ # +# $.@.$ # + # $.$.$ # + ##. $.$. # + # $.*# + ## ## + ### # + +; 13 + + ##### + # ##### + # # # # + # # # + #####.# ...##### + # .$$ ###$# # + # #.# $. # # + # .# $$$ # # +### # $@$ # ### +# # $$$ #. # +# # .$ #.# # +# #$### $$. # +#####... #.##### + # # # + # # # # + ##### # + ##### + +; 14 + + ####### + # ### + # ###$ ## + #....$ # + ### ## # # +###@.$ # # ## +# .*.$ ## # +# $.$ #.$$# +# ## ## # +##### # ### + ### $ # + ## # + ##### + +; 15 + + ##### + # ##### + # $$# ##### + # . $ # ##### + ### ## . $ # ##### + # ##.### ....$ # ##### + # $$# ###.##. # $ # # + # # $ # .##.### .$$ # +### ## .$$$# ###.## # +# ##.### #$$$. ## ### +# $$. ###.##. # $ # # +# # $ # .##.### #$$ # +##### # $.... ###.## # + ##### # $ . ## ### + ##### # $ . # + ##### #$$ # + ##### @# + ##### + +; 16 + +############# +# # +# .$.$.$.$. # +# $.$.$.$.$ # +# .$.$.$.$. # +# $.$.$.$.$ # +# .$.$@$.$. # +# $.$.$.$.$ # +# .$.$.$.$. # +# $.$.$.$.$ # +# .$.$.$.$. # +# # +############# + +; 17 + +############################# +# # +# .$.$.$.$.$.$.$.$.$.$.$.$. # +# $.$.$.$.$.$.$.$.$.$.$.$.$ # +# .$.$.$.$.$.$.$.$.$.$.$.$. # +# $.$.$.$.$.$.$.$.$.$.$.$.$ # +# .$.$.$.$.$.$.$.$.$.$.$.$. # +# $.$.$.$.$.$.$.$.$.$.$.$.$ # +# .$.$.$.$.$.$@$.$.$.$.$.$. # +# $.$.$.$.$.$.$.$.$.$.$.$.$ # +# .$.$.$.$.$.$.$.$.$.$.$.$. # +# $.$.$.$.$.$.$.$.$.$.$.$.$ # +# .$.$.$.$.$.$.$.$.$.$.$.$. # +# $.$.$.$.$.$.$.$.$.$.$.$.$ # +# .$.$.$.$.$.$.$.$.$.$.$.$. # +# # +############################# + +; 18 + + ##################### + ## # # # + # $ $ $ #$ $ $ $ $### + # $##### $$ $## ## $ # + # # ..# # # # # + ##$ ... # # ...#$ ## +## $ ... #$ # ...$ ## +# $####..# ##...##$ # +# *.*..$$@$$..*.* # +# $##...## #..####$ # +## $... # $# ... $ ## +## $#... # # ... $## +# # # # #.. # # +# $ ## ##$ $$ #####$ # +###$ $ $ $ $# $ $ $ # + # # # ## + ##################### + +; 19 + + ##### ##### + # # # # + # #.####.# # + # .. .. # +##### ### #### ### +# # # # # +# # ## # #@## # +# $ ## # # # ### +## $ ## # $ $.. # + ## $ ### # #.# # + ## $ ## ## # # + ## $ # # ##### + ## $ $ ## + ##### ## + #### + +; 20 + + ######### + #### # # + #### # # $ # + # # ####.# # + # $ $ .#### # + # $#$## #.#....# +### # $ # #.#....# +# $ $ # #..*....# +# # ## $ # #### # +# $ # # $# ## +## $ # ###### + ## $ # $$$# + ## $$@## # + ## ## + ######## + +; 21 + + ############# + # # # + # $ $ $ $ $ # + ### ##### ### +####.$ $ $.#### +# ...# $ # $ #... # +# $##*#.#.#*##$ # +## . . @ . . ## +# $##*#.#.#*##$ # +# ...# $ # $ #... # +####.$ $ $.#### + ### ##### ### + # $ $ $ $ $ # + # # # + ############# + +; 22 + + ########## + ## # + ## ### ####### + # $$ # $# # # + # ### #$$ # + # $$ # #$$# + # # #### #$ # + ## # ###.*. # ## # +## *.*.#..*.## ### +# ***...**.### $$ # +# #....#...# # # # +# ## ##.*. $ # ### # +## # $ ..## $ # # + ## # $$### $#$$ # # + # @ # $ # # + ##### ##$#### ## + ###### ## + ######## + +; 23 + +############## ####### +# # # +#.########## #$##### # +# # # # +#*######## # ###### # # +# # # # # +#*###### # ####### # # # +# # # # # # +#*#### # ######## # # # # +# # # # # # # +#*## # ######### # # # # # +# # # # # # # # +#$ # ########## # # # # # # +# # # # # # # # # +# # ########### # # # # # # # +#. @ $ * * * * * . # +############################## + +; 24 + + #### + ####### # + # $ ## + ######## # ..## $ # + ## ##.# # # + ####### #.# $ $### + ### #######.# # ## + # ## # $. $$ # + # ## #.# #@# #.# ## # + # $$ .$ # ## # + ## # #.####### ### +###$ $ #.# ####### +# # #.## ## +# $ ##.. # ######## +## $ # + # ####### + #### + +; 25 + + ###### + ## ########### + # $ $ $ # * ###### + # .*.#..*.# .$ ## + # * # $ $ * $#*.$ # + ## #### # . # * # + # $ #########.## .$ # + #.*.. * #### ## + #$ $ #$#.$$.*# # # + # # #*.$$.#$# $ $# +## #### * ..*.# +# $. ##.######### $ # +# * # . # #### ## +# $.*#$ * $ $ # .$ # +## $. #.*..# * @# +###### * # $ *.$ # + ########### ## + ###### + +; 26 + +###### ####### +# ..# # # # +# ..###### $# # +## #. $ ## $ # + # $$$ # ##$## + #.#. #$ $ # # + #.#.## ## $ # + #.# $ # # # + #. ## @# ##$# + #. #### # + #. $ $# # + #. ######## # + #### ##### + +; 27 + +################ +# # ## # # +# .$. $ # . . # +## ### # $ #$ # +# . # ### ##.## +# $ .$ #. # # +### ## # $ $ # +## # ### ## # +# ## ### # ## +# $ $ # ## ### +# # .# $. $ # +##.## ### # . # +# $# $ # ### ## +# . . #@ $ .$. # +# # ## # # +################ + +; 28 + + ########## + # # # + # $ # # #### ##### + ### $$ ####### #### # +## $ $ ### ## $ # +# $ ### # # ## ##### ### +# #$# ..### ## # # +# # #.# #.. # # $ $ # +### $ $ #.# #.. # # ## ## + # # #.# #### #### ## # + ########.# # $ $ # + # .. #.# ###### # # # + #.$$$$.#.# # # #### #### + #.$ @$.#.# # # # $ # + #.$$$$.#.# # # #### # + # .. . # #### ##### + ############ + +; 29 + + ##### + ####### # ##### + ###### #.### # + ## # ### #. * # + # ###### ## # ### ## + # ## $ ..$ # $ ## # + # # $ *.$@##### # ## + # # ..$ # $ # ## +#####$#######$## # . # +# $ . #### #### +# $$# #########$## . # +# # . .# . # $$*$$ # +# . # $.$.# #... ...# +##### $ # ## ##### $$*$$ # + #.# # . # + ###################### + +; 30 + + #### +##### ########## +# # # # +# # .. ## $### +# # ##.#. # $$$@ # +# #. # $ # # +# ######## $ # # +### $ ## # + #.############ # + #. ## + ################ + +; 31 + + ##### +## # #### +# ### # +# # @# # +##$#### ###### +# ... ## ## +# ... # ## # +#### # ##### # ## + # # $# # + # # $ $ $$ # # + # ##### # # + ## # # # + ###### ### # + ## ## + ####### + +; 32 + + # + ## ## + # # + # .$. # + ## $.$ ## + # .$.$.$. # +# $.$+$.$ # + # .$.$.$. # + ## $.$$ ## + # .$. # + # # # # + ## ## # + # ### + +; 33 + +##### +# ## +# $ ##### +## $ # # + ## $ # $########### + ## $ $ $ $ # + #####$ # # # # # + # # # + # #######$####### + ## #@# # + # # # ## # # + #..*.*.*...... # + ########## # ## + #### # + ##### + +; 34 + + ##### ##### + # #### # +## #$.*.$ # # +# $.@.$ # +# # $.*.$# ## +# #### # +##### ##### + +; 35 + + ##### +########## # +# $ $$$ # +# $## # # # # +# $ # # # # +##$## .#. # + # ..... # # + #$ ##.@.## $# + # # ..... # + # .#. ##$## + # # # # $ # + # # # # ##$ # + # $$$ $ # + # ########## + ##### + +; 36 + + ####### ####### +## . ### ## +# $$.$$ # .$.$. # +# $ . $ # $.$.$ # +#...#... .$@$. # +# $ . $ # $.$.$ # +# $$.$$ # .$.$. # +## . ### ## + ### ### ### ### +## ### ## +# .$.$. # .$$$. # +# $.$.$ # $...$ # +# .$ $. $.#.$ # +# $.$.$ # $...$ # +# .$.$. # .$$$. # +## ### ## + ####### ####### + +; 37 + + ##### + ##### ##### + ##### # $ # ##### +##### # $$ $$ # ##### +# #$$ . ##$## . $$# # +# $$. ##### . ##### .$$ # +# ##### ##.## ##### # +##$ # #.... . ....# # $## + # . $ . # @ # . $ . # +##$ # #.... . ....# # $## +# ##### ##.## ##### # +# $$. ##### . ##### .$$ # +# #$$ . ##$## . $$# # +##### # $$ $$ # ##### + ##### # $ # ##### + ##### ##### + ##### + +; 38 + +##### ##### +# ################### # +# # $ $ $ $ $ $ $ $ $ $ # # +# $ # # # # $ # +## #.###.#.###.#.###.# ## + #$ # . # * # . # $# + # . # . # . # . # + #$###.#.###.@.###.#.###$# + # . # . # . # . # + #$ # . # * # . # $# +## #.###.#.###.#.###.# ## +# $ # # # # $ # +# # $ $ $ $ $ $ $ $ $ $ # # +# ################### # +##### ##### + +; 39 + + ################# + # # +##$#.#.#.#.#.#.#$## +# $.$.$.$.$.$.$ # +# #$#$ $@$ $#$# # +# $.$.$.$.$.$.$ # +##$#.#.#.#.#.#.#$## + # # + ################# + +; 40 + + ##### + ############### ######## + ## $ $ $ $ $ $ $ $ $ $ ## +### # # ### +# #.##.#.##.#.##.#.##.#.## # +# $# .$ $ $# .$ $ $# .$ # +# . #$ $ $. #$ $ $. # # +# $##.#.##.#.##.#.##.#.##.#$ # +## . # @ . # ## +## # . # . ## +# $#.##.#.##.#.##.#.##.#.##$ # +# # .$ $ $# .$ $ $# . # +# $. #$ $ $. #$ $ $. #$ # +# ##.#.##.#.##.#.##.#.##.# # +### # # ### + ## $ $ $ $ $ $ $ $ $ $ ## + ######## ############### + ##### + +; 41 + + ########### +## # ## +# $$*.$.*$$ # +#... ...# +# $$*.$.*$$ # +## * ## +# $$*.$.*$$ # +#... @ ...# +# $$*.$.*$$ # +## # ## + ########### + +; 42 + +########### +# # +# $## ### ## ##### +# # $ $ $ ##### ### +# $ # # $. . # +# ##$###$## # #...# # +# $ # # #. .# ## +## # $ $ $## # #...# # +# ## ### #. # #. . # # +# $ # # # # +# @######## ### # # +#### # ### # + # #### # ## + # ## ### + ##### ## + ###### + +; 43 + + ####### + ######## #. # + # $ * ##### + # ## ## #. # # #### +### # $ $$#$#. # # ######## # +# $# # $ * #...... # +# $ ### $#. # #### # +## # #$$ # $ .# # # ## # + # # $ @## # ## ## ## + # ## $$$ # ## ### ##### + ## #.##.### # + ## #*$.*... ## # + # # ## ## ## + ### ########### + ##### + +; 44 + + ####### + # @ # +###### ### ###### +# # $ # # +# $ # $ # +##$###*###*###$## +# $ # $ # +# # * # # +##$###*###*###$## +# # $ # # +# ..*...#...*.. # +###### ### ###### + # # + ####### + +; 45 + + #### + #### .# + #### # .#### + ### #### ##.. ## + # $ # #$ #... # + # # # # #... # + # #$ # $ $ # # +#### $ # # @## +# # #$$##### ## +# $ $ # # ##### +###### # # + #### # + #### + +; 46 + + #### #### + # ### # + #### $ $ ####### + # $ #$ ## #### + # ### ### # # + ## $ ###### # # + # $ # ## ##### # + # # # # # $$ # ## ### + # # #$.## $ # + # ###### $ # ### ## + #....*.**.# # # # ## + #### # ##### ##### + ##$## ###$# + ## # $ # +####### # $ ############# +# $ ###### ## @ # +# ......... # +############################## + +; 47 + + ##### + # . # + ##### . ##### + # $ . $ # + # $ ##.## $ # + # # $ # # +###$## ##$### +# # *** # # +#....$ *@* $....# +# # *** # # +###$## ##$### + # # $ # # + # $ ##.## $ # + # $ . $ # + ##### . ##### + # . # + ##### + +; 48 + + # + # # + ## ## + # $.$ # + # . . # + ## $.$.$.$ ## + # . # # . # + # $.$# $ #$.$ # +# . . $@$ . . # + # $.$# $ #$.$ # + # . # # . # + ## $.$.$.$ ## + # . . # + # $.$ # + ## ## + # # + # + +; 49 + + #### + # ###### + # $ $ ### #### + # $ # ## # +#####*#*#$$$ # ## $ # +# $ $ $ # ## # +# #$ $ $##### $$ ## +## # #### .....# ## +# # $ **.## ### +# # # $$ #.##. # +## # #.#+* # # + # ######.##..$ # + ####### # $..##.#### + # # *..*.# + # .#. # + ######$# # + # # + ##### + +; 50 + +############################# +#. . . . . .# +# ## # # # # # # # ## # +# ## $ # $ # $ # $ # $ ## # +# ##$$$#$$$#$$$#$$$#$$$## # +# $...$...$...$...$...$ # +# $$.#.$.#.$.#.$.#.$.#.$$ # +# $...$...$...$...$...$ # +#.###$$$#$$$#$@$#$$$#$$$###.# +# $...$...$...$...$...$ # +# $$.#.$.#.$.#.$.#.$.#.$$ # +# $...$...$...$...$...$ # +# ##$$$#$$$#$$$#$$$#$$$## # +# ## $ # $ # $ # $ # $ ## # +# ## # # # # # # # ## # +#. . . . . .# +############################# + +; Sasquatch Set III + +; 1 + + ####### + # * # + # @ # + ##$#.## + # # # + # $#. # + # # # +## ## ## +# * * # +# * # +### ## + ##### + +; 2 + + #### +####### # +# * .## +# $$# * ## +# $@ #* * ## +## $ # * * # + ### #. * * # + # . # .# + # # ##### + ######## + +; 3 + + #### +######### # +# # +# #*### # # +# $ # # # +#*#*## # # +# $ # # # +# *# # # # +# $ # # # ## +###$. . . . # + #@####### # + # # + ########### + +; 4 + + ############# + ## # + ## #########@### +## # * # +# ## ########*# # +# # $ $ $ $ # # +# #$.. . . ..$# # +# # .#######. # ## +# $.#######.$# # +### . . . . . # # + # $ $ $ $ $ # # + ######### ## # + # $ $ # + # # + ####### + +; 5 + + ########### +## # +# #######$## +# # $ ### +# #...***.*.@ # +# # $ # # +# #######$# # +## $ ## + ######## ## + ##### + +; 6 + + #### + ######### ### + # . . . . # + # $$.$# #$.$ # + ## . .# #. . # + # $ $# $ $ # + # $ #* ##### + ##### # ## + # @ # + ## # ##### +##### *# $ # +# $ $ #$ $ # +# . .# #. . ## +# $.$# #$.$$ # +# . . . . # +### ######### + #### + +; 7 + + ##### + # ##### +### # ## +# * #### # +# * ## # # +# * ** # # +# # # # +#@#** * ## # +### #$ # # + # .$ .* # # + # # # # + ## # ## + ######### + +; 8 + + #### +########@ # +# ...#$ # +# $ $ $ * # +##### . # + ##$#$. # + ###. # .## + # .$#$ # + # .$ # + ###.$# # + # #### + #### + +; 9 + + # + ########### + # # # # + # $ #$ $ # + #$.*.*.#* # + # . $. # + #$.$#. .$# +## .$ #* ## +# .#.*##. # +# $ $ $ # +### # # ##### + ##@ # + ###### + +; 10 + + # + # # # + # # ## ## + # . # # .$. # + # $.$ # .$ $. # +# * @ $ * $ # + # $.$ # .$ $. # + # . # # .$. # + # # ## ## + # # # + # + +; 11 + + # + # # + ## ## + # . # # + ## $.$.$ ## # # + # $.$.$.$ # # . # + # .$.$.$. # $.$ # +# .$.$@$.$. * # + # .$.$.$. # $.$ # + # $.$.$.$ # # . # + ## $.$.$ ## # # + # . # # + ## ## + # # + # + +; 12 + +######## +# . . # +# $.$. # +##$#$# ## + # . . # + #$#$# @# + # . . # +##$#$# ## +# . . # +# $#$# ### +## . . # + ###$#$# # + # . # + #$# ### + # # + ##### + +; 13 + + #### +######## # +#@ $ $ $$ ### +# ....*.* # +## ### ..*# # + #$$ # .* # + # # $ #.*# # + # $ #.. # + ## $ ### + ### #$#.# + # $ $ # + # ## + ####### + +; 14 + + ##### + ######### # +### $ $ $ $. # +# .$.$ $.$.# # +# #.*..@..*.# # +# #.$.$ $.$. # +# .$ $ $ $ ### +# ######### +##### + +; 15 + + ##### +############ ####### +# # # ## # # # # +# # #$ $ # .$ $ # ## +# ..*.** *@* **.*.. # +## # $ $. # $ $# # # + # # # # ## # # # + ####### ############ + ##### + +; 16 + + ######### +## * ## +# # # # # +# #.$.$.# # +# $.$.$ # +#*#.$@$.#*# +# $.$.$ # +# #.$.$.# # +# # # # # +## * ## + ######### + +; 17 + + # + # ##### + ##### #### + # ..$$ # # + # $ $ .#@#$ ## + #### # *## # + # # * #$.# +## $## . . # + # $.**.#.**.$ # + # . . ##$ ## + #.$# * # # + # ##* # #### + ## $# #. $ $ # + # # $$.. # + #### ##### + ##### # + # + +; 18 + + ############# +## # # ## +# .##$$ $ . # +# ...#.#.#.# # +## # $ $ .# # +# $. # # #$.$ # +# # $ $ #$## +# .$# @ #$. # +##$# $ $ # # +# $.$# # # .$ # +# #. $ $ # ## +# #.#.#.#... # +# . $ $$##. # +## # # ## + ############# + +; 19 + + ############# +## * ## +# ##.# ##.# # +# # $ $ $ $ # # +# .$. ## .$# # +# # # . # . # +# #$ $.$ #$# # +#* #..@..# *# +# #$# $.$ $# # +# . # . # # # +# #$. ## .$. # +# # $ $ $ $ # # +# #.## #.## # +## * ## + ############# + +; 20 + + ### ### ### +## # @ # ## +# $#$ $#$ # +# . . . . . # + ##$#$ $#$## +# . . . . . # +# $ $#$ $ # +# . . . . . # + ##$#$ $#$## +# . . . . . # +# $#$ $#$ # +## # # ## + ### ### ### + +; 21 + + ### ### + # ### # + # # # +## $$$.$$$ ## +# .# . . #. # +# . # $ # . # + # .$ #.# $. # + ##$ .$@$. $## + # .$ #.# $. # +# . # $ # . # +# .# . . #. # +## $$$.$$$ ## + # # # + # ### # + ### ### + +; 22 + + ########### + # # + ##$####.####$## +# $. $ $.$ $ .$ # +# # ... ... # # +# #$.$ $.$ $.$# # +# # . *#.#* . # # +# #$ $# $ #$ $# # +# .. ..$@$.. .. # +# #$ $# $ #$ $# # +# # . *#.#* . # # +# #$.$ $.$ $.$# # +# # ... ... # # +# $. $ $.$ $ .$ # + ##$####.####$## + # # + ########### + +; 23 + + #### ### #### +# # # # +# # # # # # +# **$***$** # +# * . . * # + ##$.## ##.$## +# * # # * # +# * @ * # +# * # # * # + ##$.## ##.$## +# * . . * # +# **$***$** # +# # # # # # +# # # # + #### ### #### + +; 24 + + ############### + #. $ . $ .# + # ##$# # #$## # + # .* .#. *. # + # # *$* # # +##$$* # *$$## +# #. $. .$ .# # +#@ #* * *# # +# #. $. .$ .# # +##$$* # *$$## + # # *$* # # + # .* .#. *. # + # ##$# # #$## # + #. $ . $ .# + ############### + +; 25 + +# #### # #### # + # # # # +# *. ### .* # +# $# $ $ $ $ #$ # +# # .* *. # # +# . # $ # . # + # $ ##$## $ # + #.* # . # *.# +# # ..$@$.. # # + #.* # . # *.# + # $ ##$## $ # +# . # $ # . # +# # .* *. # # +# $# $ $ $ $ #$ # +# *. ### .* # + # # # # +# #### # #### # + +; 26 + + ############### +## # ## +# *$ $*$$$*$ $* # +# $...$...$...$ # +# .$.$.$.$.$. # +# $...$...$...$ # +# *$$$*$$$*$$$* # +# $...$...$...$ # +##$.$.$.@.$.$.$## +# $...$...$...$ # +# *$$$*$$$*$$$* # +# $...$...$...$ # +# .$.$.$.$.$. # +# $...$...$...$ # +# *$ $*$$$*$ $* # +## # ## + ############### + +; 27 + + ############# + ## . . . ## +## $.$ $.$ $.$ ## +# $ * $ * $ * $ # +#..*.*.*.*.*.*..# +# $ * $ * $ * $ # +# $.$.$.$.$.$ # +# $ * $ * $ * $ # +#..*.*.*@*.*.*..# +# $ * $ * $ * $ # +# $.$.$.$.$.$ # +# $ * $ * $ * $ # +#..*.*.*.*.*.*..# +# $ * $ * $ * $ # +## $.$ $.$ $.$ ## + ## . . . ## + ############# + +; 28 + + ##### + #### . #### + # ##$.$## # + #### . #### + # ## $$.$$ ## # + ## ## . ## ## +### $##$.$##$ ### +# $ $ $...$ $ $ # +#.......@.......# +# $ $ $...$ $ $ # +### $##$.$##$ ### + ## ## . ## ## + # ## $$.$$ ## # + #### . #### + # ##$.$## # + #### . #### + ##### + +; 29 + +################# +# . . . # +# ##$###$###$## ############# +#.## ## ## ##.# . . # +# $ * * $ # ##$###$## # +# ## # # # #.## ## ##.# +# ##*###*###*## # $ * $ # +# # # # ## # ## # # # +#.$ * * $.@ ##*###*## # +# ## # # # # # # ## # +# ##*###*###*## # $ * $ # +# # # # ## #.## ## ##.# +# $ * * $ # ##$###$## # +#.## ## ## ##.# . . # +# ##$###$###$## ############# +# . . . # +################# + +; 30 + + ############### +## ## +# ##### ##### # ########### +# # . . . . . # ### ## +# #$ $ $ $ $ $# ### ### # +# # .#.#.#.#. # ## # . . . # # +# #$ $ $ $ $ $# ## #$ $ $ $# # +# # .#.#.#.#. # ## # .#.#. # # +# $ $ $@$ $ $ ## $ $ $ $ # +# # .#.#.#.#. # ## # .#.#. # # +# #$ $ $ $ $ $# ## #$ $ $ $# # +# # .#.#.#.#. # ## # . . . # # +# #$ $ $ $ $ $# ### ### # +# # . . . . . # ### ## +# ##### ##### # ########### +## ## + ############### + +; 31 + + ##### ##### + ### # @ #### +## # $ # ## +# #..*.#*...# # +# # . $# $ $# . # +# .# # $.# # +# #.$ #$ #* # + #. * # $ # .$# # +# $ #$ $$#$$ $# $ # +# #$. # $ # * .# +# *# $# $.# # +# #.$ # #. # + # . #$ $ #$ . # # + # #...*#.*..# # + ## # $ # ## + #### # ### + ##### ##### + +; 32 + + ###### ##### + ## #### # + # ## $ # # + # # .# $# $ # + # #$.$ # ####### + # $. # ### # # + ### .$. . # #.$.$ # + # $. ###$#$# ## ## +#### #$ # # +# # $ ###@###. # +# $ # #.. #..## +###### # ..# . # + # $$ #..## ..# + # $ $## # # + # $$ # # + # ############# + #### + +; 33 + + #### + ####### #### + # $ ## +####$ ###.### ## +# $ # #.# # # +# # $ # . @ # # +# # #..### # # +# # $#.... # # # +# # #...#$ # # # +# #$ # ## $$ $ # # +# # # .* ## # +# #$$## # ## ## +# # ### ### +# ####$ ### +## ##### + ######## + +; 34 + + #### + ##### # ##### + ## # # # + # # ##### # # # + # # $ $ $ $ # ## + # # # # # + # ######$## # # +#### # * # # # # +# $ # .. $ # # # +# # # #*...# # # # +# .***#. ..# ## ## +##*....*.* $ # # + ##* ##.##### # $ # + ## # $ # # # + ##@ #.#$ $ $ $# # + ## $ $ # # + ## ########### + #### + +; 35 + + #### + #### ### # + # ######### ..# + # $ @ $ $ #..# + # $# $ # # #..# + # ##*##$#$#$#..# + # $ #..#. ## + # #*. .##$## # +##$ $#..#. # +# ##$######### +# $$ $ # +## # + ######### + +; 36 + + ##### + ## . ## + ##.$ $.## + # $ * $ # + #. * * .# + # $ * $ # + ##.$ $.## + ####### ## . ## ####### +## ## ## ## ## ## +# .$.$. # # # # $.$.$ # +# $.$.$ ##### ##### .$.$. # +# .$ $. $.@.$ # +# $.$.$ ########### .$.$. # +# .$.$. # # $.$.$ # +## ## ##### ## ## + ####### #***# ####### + ##### + +; 37 + +######### ####### +# # ####### # # +# .$. $ # . . # +## ### # # # $ $ #$ # +# . # #.$ $.## ##.## +# $ .$ .# #. #. # # +### ## #.$ $. $ $ # +## # ##$$ .## ## # +# ## ##. $$## # ## +# $ $ .$ $.# ## ### +# # .# .# #. $. $ # +##.## ##.$ $.# # . # +# $# $ $ # # # ### ## +# . . # @ $ .$. # +# # ####### # # +####### ######### + +; 38 + +##### ### +# ############### +# $ * @ * # # +# # * * * * # +## # * . * # ### + # # * * * * # # + # # * . * # # + # # * * * * # # +## # * . * # ## +## ########### # +# $ $ # +# ########## # +##### ##### + +; 39 + + #### #### + # ##### #### +#### $ $ ## +# $ ### ## ## +#@### # ###.#..# # +# $ # # .# # +# $ # # # # . # +## # # ########### + # ## $ $ $ # + ###### #.#.#.### + # # # # + # # #.#.#.# # + # # $ $ $ # # + # # # # # # + ## ### # # + ## ### # + #### ## + ####### + +; 40 + + ####### ## ####### + # ###### ## + #.### ## . ## ## + # . # $*# .# # # + # #. ###.# *$ # ####### + # $ * ### . # ## + ###$# * $$ ##$ .######## # +## $ # * # # # . # # # +# $$ $#. .# @ #. .#$ $$ # +# # # . # # # * # $ ## +# ########. $## $$ * #$### +## # . ### * $ # + ####### # $* #.### .# # + # # #. #*$ # . # + ## ## . ## ###.# + ## ###### # + ####### ## ####### + +; 41 +;'MS46 v2' + +############################## +# ......... # +# $ ###### ## @ # +####### # $ ############# + ## # $ # + ##$## ###$# + #### ..# ##### ##### + # ..*.**.# # # # ## + # ######.. $ # ###$ ## + # # #*. # $ # + # # # # # $$ # ## ### + # $ # ## ##### # + ## $ ###### # # + # ### ### $# # + # $ #$ $ ## #### + #### $ $ ###### + # #### # + #### #### + +; 42 + +######################### +# # # # # # # +# $ # # # # # # # # # $ # +# * * $ $ * * $ $ * * # +### # # # # # # # # # ### +# * *...... ......* * # +# # # ###### ###### # # # +# $ .# $ #. $ # +### #$ $$$$ @ $$$$ $# ### +# $ .# $ #. $ # +# # # ###### ###### # # # +# * *...... ......* * # +### # # # # # # # # # ### +# * * $ $ * * $ $ * * # +# $ # # # # # # # # # $ # +# # # # # # # +######################### + +; 43 + + #### + ## #### + # $ .######## + # $ # . $ $ # +#### ### .#### # # +# ....#$.# # # # +# #. $ # .#$ # # # +# ## $$$@$ # # # +## ## # # # # + ### # ## # # # + ### # ... # + # #$* *$# ## + # # ...$ ### + # $$ # # + # ###### + ##### + +; 44 + + ##### + ## ## + # $ # + ## $.$ ## + ## $.*.$ ## + ### $.*.*.$ ### +## $.*.$.*.$ ## +# $.*.$ $.*.$ # +# $.*.$ $.*.$ # +# $.*.$ $.*.$ # +## $.*.$.*.$ ## + ### $.*.*.$ ### + ## $.*.$ ## + ## $.$ ## + # $ # + ## @ ## + ##### + +; 45 + + ##### + # # + ## $ ## + ### $.$ ### + # $.*.$ # + ## $.*.*.$ ## +### $.*.$.*.$ ### +# $.*.$ $.*.$ # +# $.*.$ $.*.$ # +# $.*.$ $.*.$ # +### $.*.$.*.$ ### + ## $.*.*.$ ## + # $.*.$ # + ### $.$ ### + ## $ ## + # @ # + ##### + +; 46 + + ##### + ########### @ ########### + # . . # . # + # $$*$$$*$$ # .$ $$$.$. # + #.....*.....#*$.$...*.$*# +## $$*$$$*$$ # .$.$$$ $. ## +# . . # . # +# ####################### # +# . . . # . . . . # +## $$* $$* $ # $.$.$.$.$ ## + #.*.* * *.*.#*$$$ * $$$*# + # $ *$$ *$$ # $.$.$.$.$ # + # . . . # . . . . # + ########### * ########### + ##### + +; 47 + + ##### + ########### @ ########### + # . . # .$. # + # .$.$$$.$. #.$ $.$ $.# + #.$$$.*.$$$.#$.*** ***.$# +## .$.$$$.$. #.$ $.$ $.## +# . . # .$. # +# ####################### # +# $. .$ # $ . # +## * .$. * # .** **$ ## + # $.$*$.$ # * *** * # + # * .$. * # $** **. # + # $. .$ # . $ # + ########### * ########### + ##### + +; 48 'Parallel Logic 2' + + ######################### + # # # # # # # # # + # $#$ # $#$ # $#$ # $#$ # + # # # # # # # # # + # $#$ # $#$ # $#$ # $#$ # + # # # # # # # # # + ## # ### # ### # ### # ## + # # # # # # # # # + # $ # $ # $ # $ # +## ### # ### # ### # ### ## +# # # # # # # # # +# # $ # $ # $ # # +## # ### # ### # ### # ## + #...........+...........# + ######### # ######### + # ### # + #### #### + +; 49 + + ######################### + # # # +###$$ $$ $$ $$.$$ $$ $$ $$### +# $+.$..$..$..$..$..$..$..$ # +# $..$..$..$..$..$..$..$..$ # +# $$.$$.$$.$$.$$.$$.$$.$$ # +# $..$..$..$..$..$..$..$..$ # +# $..$..$..$..$..$..$..$..$ # +##.$$.$$.$$.$$ $$.$$.$$.$$.## +# $..$..$..$..$..$..$..$..$ # +# $..$..$..$..$..$..$..$..$ # +# $$.$$.$$.$$.$$.$$.$$.$$ # +# $..$..$..$..$..$..$..$..$ # +# $..$..$..$..$..$..$..$..$ # +###$$ $$ $$ $$.$$ $$ $$ $$### + # # # + ######################### + +; 50 + + #### #### + # ##################### # + # ....... @ ....... # + # # .###############. # # +### #. # # # .# ### + # # $ # $ # # + # ##$## ##$## # # + ### # ##$## ##### ### + # # # $ $ $ # # # + # # # # # # # + # # #####$######$## # # + ## ## # # # ## ## + ####### $ # $ ####### + ##$## ##$## # +###### # ##### ##$## ###### +# # # $ $ $ # # # +###### # # # # # ###### + ############### + +; Sasquatch Set IV + + +; 1 + + #### +#### # +# #### +# $ # . ## +# # . # +## #$$#. # +## ##### +# @ ### +# # +##### + +; 2 + + ##### +###### # +# $ # +# $### ## +##.$. . .# + # $# # + # @###### + # # + #### + +; 3 + + ##### + #### # + # @ $# # + # #....# +##$ $ $ # +# ### ## +# # +##### # + #### + +; 4 + + ###### + # . ## + # #* # + # $.$ # + ## *. # + ## $.@ # +## # .$ # +# $$.# # +# ## +######## + +; 5 + + #### + # # +## .### +# .$ # +#* * ## +# $.$$ # +# . # +###*#### + #@# + ### + +; 6 + + #### +### # +# ..# ####### +# #..# # #### +# #. ### $ # +# #. # $ $ $$ # +# # @ ### $## # +# ##### +## ######### + #### + +; 7 + + ############### +## $. .$ ## +# # ####### # # +# # # # +# .***$#$***. # +### # ### + # ####@#### # + # # + ############# + +; 8 + +####################### +# # # # # +# $@$$ # $ # .. ..# +## ## ### ### ### ## ## + # # # # # + # # # # # # # + # ################# # + # # + ##################### + +; 9 + +########### +#@ # # # +# $#$ $# +## #..# # + # #..# # + # #..# ## + #$ $#$ # + # # # # + ########### + +; 10 + +###### +# # +# .$ # +# ** # +##$. # + # #### + # ## # + # # # + # # + #.**$@# + # # # + ####### + +; 11 + + ######## + ##.... @# + # # . # +## # # ## +# #$ # # +# $ # ## +###$ ## # + # $$ # + # # # + ######## + +; 12 + + ###### + # # + # ### + ##*# # +## . ## # +# # ## +# #.# $ # +# $.###$ # +### ## # + # $$@# + ##..## # + # ##### + # # + ##### + +; 13 + + #### + ##### # +###. #$ ## +# * .*.# +# $.$ #$ # +### ### # + # ### ### + # $# $.$ # + #.*.@ * # + ## $# .### + # ##### + #### + +; 14 + + ###### + # ##### + # $ *# # + # * * $ # +###* . * # +# * .@. * # +# * . *### +# $ * * # +# #* $ # +##### # + ###### + +; 15 + +########### +# * # +# $$ ## $ # +# $..#$$ # +# ##*.*. # +#*#..@..#*# +# .*.*## # +# $$#..$ # +# $ ## $$ # +# * # +########### + +; 16 + +############# +# $ . # +#.$ $### *$ # +# ** ## .* # +# .$#..$ $ # +# # .$.$### # +#$##..@..##$# +# ###$.$. # # +# $ $..#$. # +# *. ## ** # +# $* ###$ $.# +# . $ # +############# + +; 17 + +############### +# # +# $.$.$.$.$.$ # +# .$.$.#.$.$. # +# $.$.$ $.$.$ # +# .$.$.#.$.$. # +# $.$.$ $.$.$ # +# .# # @ # #. # +# $.$.$ $.$.$ # +# .$.$.#.$.$. # +# $.$.$ $.$.$ # +# .$.$.#.$.$. # +# $.$.$.$.$.$ # +# # +############### + +; 18 + + ############### +## # # # ## +# **.. ..** # +# * $$$ * # +##* .### ###. *## +# * ## $@$ ## * # +# . # # . # +# .$#$ ### $#$. # +## $ # # $ ## +# .$#$ ### $#$. # +# . # # . # +# * ## $ $ ## * # +##* .### ###. *## +# * $$$ * # +# **.. ..** # +## # # # ## + ############### + +; 19 + + ######### + # * # + # ## ## # + # * * # +### # ### +# .$#$. # +# # @ # # +# .$#$. # +### # ### + ####### + +; 20 + +#### +# ######### +# ## # +# $$$# # +##...# #$$$# + #...# #...# + #$$$ #...## + # ##$$$ # + ####### @ # + ###### + +; 21 + + ######### + ## # # +## $# # #$### +# #. .# # +# $ *.@.* $ # +# #. .# # +###$# # #$ ## + # # ## + ######### + +; 22 + + #### #### + # #### #### +### $ $ # +# # $ *...## +# $ # #### #.. # +## # # + # $$ $$@ #...## + # # ####### + #### # # + ##### + +; 23 + + #### + ###### # + ## $ $ # +## $ #$ # +# $ # $# +# # ## ## +###$ ..# # + # #*...@# + # ..#### + # #### + #### + +; 24 + + #### + # ### + # # + ########$$ # + # $ ## + # #### $$ ## +####....# $ # +# ...# $$ # +# #...# $ ### +# @## ## $ # +# ## +# # ##### +####### + +; 25 + + ############### +## ....# ## +# # # ### # +# ....# # # # +# # $ $ # # +## # $@$ # # + ####### $ $ # # + ##*# $ $ # # + ### #### # # + ## ### # + ##### ## + ####### + +; 26 + + ##### ##### + # @ ### # + # # $ # +#### #$ $ #### +# # $ $# +# ### $ $ # +#.......# ## +#### ## # # + # # # + ###### # + #### + +; 27 + + #### + ### ### +### ## +# $$#$$$@ ## +# # # +# ### #$$$# +# # # # +#### .## # + ####.## ## + ## .## # + ##... # + # .##### + # .# + ##### + +; 28 + + #### + # ##### + # $ $ # + #* . . # + # ######## + # # # + #### $ # + # #$### # + # @$# # #### + # $$ $$ # # + # # ## $ * # +## ###.....#. # +#... ###$# . # +# $ $ . # +######## ##### + #### + +; 29 + + # ## #### +## # # ### + # ##$ # +#### # * # # +# # * # # + #### * # # +### . # # +#@#.****$# # +# # # +# ##### # # +# ## # +###### ## + ###### + +; 30 + + ##### + # ####### + # ## ## + #.# ### + #####.# # ####### + ## ##.####. ## ## +## .....@.# $ ### +# ###.# #.# $ $ ## +# #. # .# $ $ $ # +# # #. ## #$ $ $ # +## # #. # $ $ $ #### + ### #. # $ $ ## + # # # $ $ # + # # ######$## + # #### # + ## ####### + ######## + +; 31 + + ############# + # @ # + #**.*****.**# + # $ $ # + # # ### # + ##### ##### +######## ###### +# # +#**.*******.**# +# $ $ # +# ####### # +##### ##### + +; 32 + + #### + ### # + ######## $$ ## +### # .*.$ # +# $$ # #....$ # +# $.. # $ $ # +##$*. ## ###### + # ..$## ### # + ## . # $# # + # #$ @# . ## + # ### ##$.. # + ###### ## .*$## + # $ $ # ..$ # + # $....# # $$ # + # $.*. # ### + ## $$ ######## + # ### + #### + +; 33 + + ####### + ## ## + # *.* # + # #$ $# # + ##### *.* ##### +## ## ## ## +# # ###.### # # +# *$* # $*$ # *$* # +# . . ..$@$.. . . # +# *$* # $*$ # *$* # +# # ###.### # # +## ## ## ## + ##### *.* ##### + # #$ $# # + # *.* # + ## ## + ####### + +; 34 + + ##### + # @ # + # $ # + # $ # + ## $ ## +#####.*.*.##### +# *. .* # +# $$$. # .$$$ # +# *. .* # +#####.*.*.##### + ## $ ## + # $ # + # $ # + # # + ##### + +; 35 + + ##### + # # + ## $ ## + ## $.$ ## + ## $ * $ ## + ## $.*.*.$ ## +### $.*.#.*.$ ### +# $ *.# #.* $ # +# $.*.# #.*.$ # +# $ *.# #.* $ # +### $.*.#.*.$ ### + ## $.*.*.$ ## + ## $ * $ ## + ## $.$ ## + ## $ ## + # @ # + ##### + +; 36 + + ##### + ### ## + ## $ ## + ## $ *$ ## + ## $.#.$.$ ## + ## $.$. .$.$ ## +## $.$. . .$.$ ## +# *$. * * .# $## +# . . @ . . # +##$ #. * * .$* # +## $.$. . .$.$ ## + ## $.$. .$.$ ## + ## $.$.#.$ ## + ## $* $ ## + ## $ ## + ## ### + ##### + +; 37 + + ## ## + ## # ## + ## ## +# *$#$* # +# $...$ # + # #.@.# # +# $...$ # +# *$#$* # + ## ## + ## # ## + ## ## + +; 38 + + ## ## + ## # ## + # .$ $. # + # * * # +# .* #.# *. # +# $ # $ # $ # + # .$@$. # +# $ # $ # $ # +# .* #.# *. # + # * * # + # .$ $. # + ## # ## + ## ## + +; 39 + + ##### # ##### + ## # ##### # ## + # # # # # +## $* $ $ *$ ## +# ..*# #*.. # +###*.. # ..*### + # $ *$ # $* $ # + # # * # # +### ###* *### ### + # # * # # + # $ *$ # $* $ # +###*.. # ..*### +# ..*#@#*.. # +## $* $ $ *$ ## + # # # # # + ## # ##### # ## + ##### # ##### + +; 40 + + ### + ################# + ###### ## ## ###### +#### # $$ # $$ # #### +# #$$ #.. ..# $$# # +# ### #.###.# ### # +#* ##### ### #*# ### ##### *# +# ..@.. # +#* ##### ### #*# ### ##### *# +# ### #.###.# ### # +# #$$ #.. ..# $$# # +#### # $$ # $$ # #### + ###### ## ## ###### + ################# + ### + +; 41 + +############### +# .. . . # +# $##$ # $$##.# +# # ### # # +#.## # # ##$ # +# $ $ $ $ # +#.## # # # # +#.## #@# ###.# +# $ # ### # #.# +# $ $ # +#.### ### # # # +# # # ###.# +# $#$$###$# # # +# . . . . # +############### + +; 42 + +#### ##### #### +# ## # ##### # +# $.# # $ $ # +# .# # ##### # +## .#### ### ##$## + #$. $ # $ # + # ..### # # # + #*..@#######$##### + # ..#### # # + #$. $ # # +## .######$## # +# .# # ##$## +# $.# # $ # +# ## # # # +#### ######## + +; 43 + + ################ +## ## +# ############ # +# # # # +# # $$$ $ $ @# # +# # ### $$# ## +## $ ## # $ $ # + ## # # #### # + ###.. # # ### + ## .. # .# $ #### + # #### ## .# #.# # + # # ###* $ .# ## + #### # .# #. # + # ## .###.## # + ###### # + # # # # + ############ + +; 44 + +############################### +# . . . . . . . . . # +# $ $ # $ $ # $ $ # $ $ # $ $ # +###.#####.#####.#####.#####.### +# $ $ # $ $ # $ $ # $ $ # $ $ # +# . . # . . # +###.#####.###########.#####.### +# $ # $ . *@# # * * $ # +# $ * * # # * . $ # $ # +###.#####.###########.#####.### +# . . # . . # +# $ $ # $ $ # $ $ # $ $ # $ $ # +###.#####.#####.#####.#####.### +# $ $ # $ $ # $ $ # $ $ # $ $ # +# . . . . . . . . . # +############################### + +; 45 + + ##################### +## # # # # ## +# * * * * * * * * * * # +# # # # # # # # # # # +# $.$ $.$ $.$ $.$ $.$ # +##. .#. .#. .#. .#. .## +# $.$ $.$ $.$ $.$ $.$ # +# # # # # # # # # # # +# $.$ $.$ $.$ $.$ $.$ # +##. .#. .#.@.#. .#. .## +# $.$ $.$ $.$ $.$ $.$ # +# # # # # # # # # # # +# * * * * * * * * * * # +## # # # # ## + ##################### + +; 46 + + # # # # # + ##################### + ## # # # ## +### .$$. .$$. .$$. .$$. ### + # .* *.* *.* *.* *. # + # $ ## $ ## $ ## $ ## $ # + # $ ## $ ## $ ## $ ## $ # + # .* *.* *.* *.* *. # +### .$$. .$$.@.$$. .$$. ### + # .* *.* *.* *.* *. # + # $ ## $ ## $ ## $ ## $ # + # $ ## $ ## $ ## $ ## $ # + # .* *.* *.* *.* *. # +### .$$. .$$. .$$. .$$. ### + ## # # # ## + ##################### + # # # # # + +; 47 + + ##### + ############ @ ############ + # # # + #$.$ .$.$.$.#**.**$$$*.**# + #.$.$.$.$.$.$# $. ..$.$ # + #$.$.$.$.$.$.# $.$.. .$ # +##.$.$.$. $.$#**.*$$$**.**## +# # # +# ######################### # +# .. .. # $ . $. $ . # +## $*$*$$$$*$ # $ $.$. . ## + # *. .. .$.$ #.$.$. $.$.$# + # $.$. .. .* #$.$.$ .$.$.# + # $*$$$$*$*$ # . .$.$ $ # + # .. .. # . $ .$ . $ # + ############ * ############ + ##### + +; 48 + +############################# +# # # # # # # # +# # # # # # # # # # +# .$*$.$*$.$*$.$*$.$*$. # +###.# # # # # # # # # # #.### +# $ . . . . . . . . . $ # +# *# #$#$#$#$#$#$#$#$# #* # +# $ * . . . . . . . * $ # +###*..$ #$#$#$@$#$#$# $..*### +# $ * . . . . . . . * $ # +# *# #$#$#$#$#$#$#$#$# #* # +# $ . . . . . . . . . $ # +###.# # # # # # # # # # #.### +# .$*$.$*$.$*$.$*$.$*$. # +# # # # # # # # # # +# # # # # # # # +############################# + +; 49 + + ############################# + # * * * # + # $ ### $ ##### $ ### $ # + # $ $ ### $ ### $ ### $ $ # + #*# $ ### $ # $ ### $ #*# + # ## .*.*.*.*.$.*.*.*.*. ## # + # ###$ $ $ $ $.$ $ $ $ $### # +## ..*.....*...$...*.....*.. ## +## $ $ $ $ $ *@* $ $ $ $ $ ## +## ..*.....*...$...*.....*.. ## + # ###$ $ $ $ $.$ $ $ $ $### # + # ## .*.*.*.*.$.*.*.*.*. ## # + #*# $ ### $ # $ ### $ #*# + # $ $ ### $ ### $ ### $ $ # + # $ ### $ ##### $ ### $ # + # * * * # + ############################# + +; 50 + +############################## +# .$ ## $. ## .$ ## $. ## .$ # +#$ . . $##$ . . $##$ .# +#. $##$ . . $##$ . . $# +# $. ## .$ ## $. ## .$ ## $. # +### # # ## ## # # ## ## ## +### # # ## # . # # ## ## ## +# $. ## .$ # $ # .$ ## $. # +#. $##$ . .$## #$ . . $# +#$ . . $# @#$. . $##$ .# +# .$ ## $. # $ # $. ## .$ # +## ## ## # # . # ## # # ### +## ## ## # # ## ## # # ### +# .$ ## $. ## .$ ## $. ## .$ # +#$ . . $##$ . . $##$ .# +#. $##$ . . $##$ . . $# +# $. ## .$ ## $. ## .$ ## $. # +############################## \ No newline at end of file diff --git a/python_games/star_solved.png b/python_games/star_solved.png new file mode 100644 index 0000000000000000000000000000000000000000..f2f5316276c846a5b12a223c24ec23aa875524df GIT binary patch literal 67300 zcmY(q1z1&4*DZWd1d&i0B!okEN_RKX-QCh%qHyT$lI{-amJR{w5)hDg_8C1cE9pC8i94z@35bn_eP-uU9)SK7bdbk5XFB z5C~fDzkhH84#lPr$SXxFQPB?{EFD}NoGl$bl1Ph+l6-V>Ft@TbgFrkMGgT~9Rd#Xs zuU5}RWMKgbvJT4FFG-X|!UM2kDQQWO-pIg6a~80by3xhO;Ry!6!k$M(1w>#g(W8XD znn(Oinj00A2MZg%TldbhnQgn;9(!z<6WA#~%dDF~?0SikB*mumJ^-aegc$u-&_G}R z`fo;|z*poSA#YyRnUXp`kikK&{rLFkpk0U^5IB!%p; zx?EzpWM2kgL4>@bL<%875^w>TDU>RZukaAV5fkH0$Oi_9A(j93G$bJNI@KEvqLV<1 z4fiz`LV{@q6N6atLdqx9!^9z)%n&Sd**tSb=N1ptdCB02sG-3~Og%1*ONYf_ z^vozth_S~r6`wVb{q?W2Q3&K~EH-%Bvj>lHw94^uj;Ka71BSg$geR!6@#f>!MA=6n z2xQ&GZ}O3zsqSq6FG7IbV=l!Jyrn+!SJ$g>^V-)!4Un(9iyCJi|E-O9PE7N{!q)HK z^D=!RI!419zK<3?23;Btwl{u!_g5FcIyT4yS@i-X;je%7jGoIC5KhD)eKua+j+VUt zhWvC-G!5;OHg49W#oAQDaEua5i#TH~fQE|1(R`0mu=~YwH}bt9$7d1pz8;Y`BCkvX2%QXR%0G!v2ai<~(Hb)S z6e42pQnCz=|A@xeqt=AR|MB&$(aWrE>b5{6c;Ug9m`0?FFgW8dO|qz$xT#;RNxP-s zF~Z47hG1AqP}$h`QY^}0sw8SsM5p{t&$vT$C0b&62O+GV?t|MTSrP(kmH2<6G>A4A zbH4p7k&FDp)P*H28s}^J52yOK{1F^EJ3q=SUoS=rhz>A!{lP$7EM?C%w+;i5;1 zHyNpcmZOyQzpYj;f8H8;VKPzU4v!Hi-i5>g?=C`OL@X?&DW|D0FI7xJNY0MFh{TEX z{IgOI6*RtBww|&D{iYAkn3W|&Q;ME!79$#y>5Vr`w2zY!7slvfA{`o`%Unh^i=0nrm>J?{mweqmF z4F1-eE%q%0vlLcgwY)UtmEs&#^!L%)A{9A}%2i4s#hC1_Y20H$IMT8O6}gGiZ!K{x zudJ&6xU`_JBoZqm|InBk*_Hg0{O9?(I|^zrcF+LKf*L;^4-wA--yN?iMXnHkIvjsM zm6?-eKV>KNb*h7!CT%0F4|eSEt3;VZ%0vQMCe@PC!qU}JWVJK35!L7teHGtI2{ksA z%@U-aNo8uKnIHC52vjUec#A_yEs7mf1@ry19zqecdgXc*Me~)u));KI^^+i*;MaN3 zliHw`1-k~m@1v|4TkvtCZB2O~Y7OTvEy>{)Ws_mks8c>mFc(DJOmV!*Yi2RiwJA+XPSPxsDpM+x+;8WoJS@sAY!`3Ux(h@T9+08ZrINIW z9)FR!qq3l~QuL|_N1mVOqLQ)Hrhp))Rm{E9zUU|=t3y8^OU|Ka)w6x)me7~!LG{7z zw&+3F0;5Euep%^Rvvc?xgRe&!w+@ zGt~Cbrf)26Y%-Is{jFW7b=25q|3#Zyt3XptTdz){BC~>GwzZO8Ay;~7VSzTeN2c9|?RC*DlVvu!qFj?na3WvZl4OIqMsG&={K!NNmjKaDUZ3oxb= z^sfxI|CVvNaMWA(n!3nLuS@SaEMBTQ;yAK83R%t`WzVL`(qeP|(K{&mOKEFT5IH-M z*=DWWPf=7c(4t|7jLC#4R-6OtjuE3>$Q}(97CLiZ2>#CN)C}-EV!EYmq zy$)FhU)DtZ$(~G~yq+c@MFA9W7SBTig#&e--CcY6kak81@+_HM)-D_hM|^D-#ukqL zRPkx6yMokm@F1pw^lB$%Ja*g)?aK$hKeIm&jkb-#d;L(TzJz?y2o{X`2-AE!$&&ou zeR5gUc}?tAEJ?znZEz-m0Cs3tCDsydGPeIb^|HqnL5Ra}XXcV0@>Y94};l-u+5>xUR^-^n4qiAzpCtp*WS<%q=7_XpezUsN^tt!XS z)JlWV+_nAW5rKExCHuk5l1|&zgTPS7k{Xq z;lT5$=MRWvXpM8tKWB)h_*IpoXX*AO(FWdiJZ2udGoW&yszqk>Z;*Wy^ZdPgg|v1> zjLNg<7U5mKjyV0!jmUzC$yy}sG)*F1CGAefSf@pCRA6#;Z`JEwa_Qac40b*(Pnk2- zA*;pRPt)-hrxOvGiJ88Bj5o`MOSz5SJ0|06)~_9oTi&>=Pl-Q;@9?(qj_aN_xt!K6 zZDDFOX{1&07})K(?D0LuPb&_zX0)bNHtX6nA9=Mmc$;7C5@d0Xubj7gp5Q#q&SY`( zue6_eIb40ex>&M z{kieUl*ydr)8zP0JD-Awy{>)ys-^y(e&UWH4>lJ4bM?E!Zuez(qT{@^*NVS=Nc^dv zEN^NqRDKlQ#pB1vKfymwIlDJuV^{)slf*vvPj=Dd2gs@R-;ha+U2OZlH`V?8qMUCw|1my0lJ^Z&mU2!F==ps2!15vCM3 zN8Gm_FM#MJY3bAE8Lc7&7e0XV$s>K&^*Ih5lO> zIatO7A?)?ghQueXNgeBH73)b+!aw?$@0I@NI*Auodo*!pKJF$TDikZM(^CKVVVIl3 zo0|^NLjuiF0nKszfn?%xequWO^5o~Hx5sILUWO5G(ZaBa?K&0#cehuR(y)@cb4nti z@e4$)emES1wY$llvQ~psf6swJ?zQBJlt(qK<-c=b?c#kksZGB*FlOW}R~mKO zE~Yjn5Vtkq&`I?(J3B^Zvg2Z3FPkxOdQx516|)Y71)={6ss4cQfj)FJhFC5REh1?a zC7#k0_Krq58s3pofzYP(;y(sm8z7u*5ylW@B=u&*W48Tyq-Hwi?G7hg=ezSvBg!zx zq|zEePjU_f+|p3>8Ut8EtybjcS-I7IV^tXGBB?f9a7+3Y7IO1iK*_5JrD z<^S=t$D%GDD#bxEKB|FA0l{BN`j2~f6V3q^^W#>tjtSon3Sf5NzAWXG(FG_*q`O$t z*$d<>LGXo>AtE+?DpF9kKLc{gDe`Zf@%s3Jt7B|s2F+;5G{>dXS;N$@yE+3JuyhU1 zTpzDSh=(3`+UU_8F=7`R)x7z>OeLOR2zRhk$v%^+vg)1_lm7{>z9-6*cN-amn>V$a zZCys=HQ{XKo7Bkj-^FIxA}I2e#T*KMq&{0@`Sii*r8%=O3N*mwZCr3?Sa3eN5KkaV zK27T97;!o$%Ym0X%xRSoMVu;sMqF;$(p|zFp56GUGsh)r>l&O~R6F3<$v&*)Gjep< zzqrt(l=7C4k*%c&a5*W=Zo)8lzV}}r7ks{bhgQ~njiUg3qF-fLXnQIW>2tiK3agb6 zZ5H{u44=Yze{9yzT*QVyfzMayK0od>>`D`Pt&0#|NOh(Av6CbUAz+B$*bS1UP4=+{ z3SfcwouZ+PzdjcO8s#c( zpZ^+TfVh3#A)9iRG%Dv9r5u<*1Rou$9G*6HH`SLD*V)-b34 z{;@TLZJnx&z2+btFlr6snekndt~ijdu(DkS=9kSCUpb7fa8=iTw-Z)0S@dWR?=6d+~6G}<$J3W$e%Xp!UplC z70*{0720NvX+~*MK99bB-LHrf>jm8?H{YMd@v#Y(eiPIeo$wYe?LU#{aoydPkQWY| zdW+DICmmP_9V`-fa3nqI_;ei&*Q#H07capaL|4DzYIr=wTuL6gexQ(xz#RjL@=@ssCjBjdi#)j7vsZ zBPQqhaXfWQMN(4Jbp->$cg!SDHP-E}ePxSga<;PiBJ3~12--nOsUS>}wdN*#w8&6FZbW?9Z?w7C1yD+xebtI*@Z`%%6 z0v|7p*X;74%)UKE&Y|$lfT|bU7yBpTJIipQ_FUAj_7uY}*qT1Y>7oi({wH-1Ycgm1 zd8+i$52p@GNK|JCU}20JE=ze>2DH`Uw6QrhP2&nG(=xBOGDi{1L41S6> z#$v(x5sBnt0bNNEnv;F;WP2uJT?q3Cm(pt}vbSrW8~y*5Q22%Obl?8|DxoBeCp|?h zemxY?{Z`hjMT%v^@GmXLkDrg;Ch(g6XrZ(qeLrJjd@5 zoBnebKOW}JrusQ4^|%pbWt!aQc~(Mu&&LeE;ohwzdbI6ILU!v7sqOF;*zUWybZ{5eh({zi-?%u)jLJN2R-(TUw(I^Tg%Dc=HejU1UOrKqz1EsLSq7^Cu9 z8n^;12^do}g}Cun-9JK-zS~E8wp3Ejr5TCED3agQo50%*=G{o{B8unNz%Jhc?f+Mau~ z>u)6v*S`9o){@?xI;Q%3`@fk+C7`+asbRt4!h+)jYburnWG*7F2gSgfL(OCPp?r#k zdT2&4 zE#-Tu*7A-&L7{>dw zdP7&0L-f_524jO?|HlV5)*)xww{O+GC8pwReWV_8eJWhghK-z%P90Av3UaCEKmtOc#l^$*2(Unl|6hIHI@EHo02L>MK`93?i% zRF;~1DvS_`LNYC$qT3VzHJRti-_!j7R%?3WzBYG!{=^`e=+X3ssbjh4|jI!M$`mWU7GWIYmt1R7xO*P|I~ZWk)^?F;pFS`K}?;&_|!KFO=7} zB6}ek3w)w&mr9>J6fyK4prKg3)g^oiiDNQh)lL@J5YD}hGxn_vL`eW4!j5jqwX#bGKKpuT*8MB`bJ{k<#_XYMdw|&9#?boZ!vMe(k87I#*0b_K z1)}PMCio&{4y`le&JCovU_Oz-o^-$WhV}$=t($*E>CxV~_n(Hp9OX?nVYH6m?i47L z%l3y!1;hGig{rFZ4Q*Bwndc0Qsl39$n#l_yk?4sG#xMR`UMbi*28ygMMbE1J{CDx8Z)QGrj{Z5k$MwIM#mZ@_+a%D)#&;+HS=CMf@f zC`ATeD7gXnB_h0syvbOWsnD9KFOE~0p;PHJab4`v#=+!lvT>;t(xWjR7rsku$|8fc zY5QE0cO8MvY>r@^z%y$zt3n5p$FZa|`eo@c$%CJP$PYD65Q|}2|1C}DL@q{Q2)4K% zB|!qE`dN_Q$s;EPq~Q-K*b6FYuu1h$Ngh@SFIKHvRz2{SXh!`kbKkL1WQpu{lZTqu z*OTkKWf9_&!m`+~zwxmZZq4%Ad614LL6Cl_HI-%r@Rk^xwlQ^e$MX{`87N!+J2tw9 z_K0H%gF;yV$kJ)1f}{Z~12H(26^o&e1#b6gC;>9%AS3aZ9xu1lSHkF9F5M((C5V*5 z+t`$F5f0$TryThBP|gSI#e+n+n<5rXKkO2?8xMauq^uOLCbHEAx6naybbM+k3lyVV zeQpm1yYYM0RQ0R_KxD8Cd|yBT2k8-i%sO?@3)GR+Zk$x{W~>@{^Ex$iWya}w@_6d_ zXR|T_bmSr5mu*x@sd;XzSRyX=p{^bk3i;>cmbQ&H$s@k4Pku_#74 zziU-bQDVK*@y1#4yPfcdWbk{fQ@eOl#Zu*rg5LKl(cYBDbkoOpyrPKnu@VXPm_F_Z z^tAH|BS4ypVFzditf+L6rjsT;nI$^_oaa1wSLeA;?FsTtMSqdWgnMbTZ3f0?Dh$x}nDF?7%v z9iI#u3Z0T@Ske>gQ`SS26V%iXenk=dOxiRU*xz5RU05T%T`MXxPe;c^UB*pcK$xf; zHOzA{*FYGnMwnzq7z3KN=7X5jgb^$b%|QNijDPlnKn2EkSz3ul!LvxYVDova?MIzs zx!=l=JTKrUqe#_?n|QVFuGPf|uGA4U8uL3l6GmQBfmTy=Z&Rc@Q*K1l7l;)#5zlJ_ z^jIV1S>qC?vKKJEQzIG2c*IaQ?9!mkwaB_UQ2oqF_Lx=#xkHn3@D0we=`gL&nsMU@ z{jeE=4rrVUV&qvDKJG>p)%Seo{j@b}T2u>9@?{}zFyd9HHgoERMV|HbSG`Jwa~whC z{P(@&St6ik2R@zTD5UPJ`S1GpA*uE$2lnD14&OGGr98?Ja2(F+0^SihjM1~Dl2aqQpF7*)}mSJ9hw(r*fVxiSP#mip>} zjln1z{4}9j1E*ScyG8{p@iyMLA!)iPbpPMS;}ZYHT8{|u-?$V~{#5!*Ji7JYq4pGq zW{^un1}*lei;O>ZMC;cvJ~}@Xj2cau4T5XLPPL4D5kSn}`DQRz!IfOc2Mb!gMo2L@ zj_RGU=h8h2?!Btv@|ngCscQN4w;;@+W#c2MdRa=9OYeHx?NiOwPSdR3-P%nxS&~IB z3lmaL!a)I?XT*|tiJh0W7+TmM4|*ykbQg+IpgyZB-j~B8w4CU1LaLP(M+0aG5M7jK z|J<2!OSwm1Ys_e&3yEeY!FH$qU_W-S*)q22-K@J8LWA!|q=Nu!1 zZl!NML=*K#8U9yL+JNb_;;f;pTHV6?7OQ>IG+V{k`AOA^z~zw_>|We~t-smZ$n14X z9a9GxZ&Wq;n4LpS3IZ}yo)!bhHNYjP;z7*;MT}4CXUEfXO`4g4XyEt8)G;{;QY=em zWK^b{io*g~aVvaQ{A2{gf2lW{%D1aW%|asbRHstNz|Jz!Y=}8HHdRu56CjrbMIdkz zLovsc)j*{&UzN6UNo|4P;52dDZs@@JSkr zRwver6u_tOpR*mgJ>kI&K-ZQHgwS&ySB)MZX5IETq+fE<@H zEP+rLKrONE_Wm&+%DlHWXC0`MX?UcVCdMK&MUwArv#cG9#t# zb}DBBJNXi~s?Eu8Jd6%;o4&QyA?nr#XVV!SJ>KqxWjbWkq-Zo(m$FtL6d>PJMgUpJ z5MTsIi*>E~4|<`ksGJz&Dczs~vwqqF>!&{|%4?%hWAw zUj4;Z=8qiQ(cImmT4v{B;|^1}IBV<$Ycf&or=Wj97aCuiIA9tgGw*(uf1p&8PPKI0 zbn20vIhRGf=y>Qdd1(`UJn!~!a<)_{=;yb8G2o{&PSaR?Wtg|lmgtz_N?4GPSHAVK ztn%IM{%{#$wt?ftud|WLBY(f$f_57mgGH6LKU0+(8^?{5a!Iqdnn}@h6f1sVVkjQ1gSzXW+(D zS~hlqYd9lhIVs;h8|qJEo$VE-jHDT@&O94AQP<2uo$Gptp5(f3$3%OIntXg>(#SEM z!wjoxHNH_{Pl~T#R&+3Z;iQr>(kb?v8{Jbx3=KAD{hkvLA&sSDN4hf{tpa6^qzVAM z%MZp#ofa@nQ$!cAW{%Y+Jk-Ww)`qjyW*2QS@BDtbvlUx5VMe@uf7zRHw*i@`POdxH zK+*Ax0RBWI36d_LBrz_*o{pL!)-4Rn4X5@~7S@7@H^eZDXl=X-rOUk;2TDF~1)@+)Gkf zKIy4`WQ~^4-YxsrYx&Pq28?DAmNQ&>KfzbP_!Iz_q3fD1=ox z+&RrAp5ne@N*GH&zgW!K-J!Z(pd^DD%M?g$&?HnwB)>eRd!tbH{HM*NC@9wy$-!|Z zTbKnZx;ax>06|MPW7X;5)JOt^At~(rT5(u^92AMudGABp$t)X1oWsqMM6eTp_eL(# z9JCLv`P_&yu-;m!IsW-VW1_LrtD^xm*W{|hf)RQI8ZN(|>v8InvpI8-9CsJlkkJeL z3vZ(8wt1YhN}QA(j()xtxI%gZxm1Ca;2R_2ooG)t$o7^zb8?6wH%2MkT@_hP+Y($z zG_Os?O?WA`{{v&kM8lD`_tSA^HQyS}*>GXXRNH%!=n8jn>r{P=*dnptO)y*R*c)gZ z6_j5rzu60)s7xeax=tFvJTe3+g429X72s091GUEC0B^rAqQyPR&E0?Il!3bub=Gs4 z$M^IdP{-Lt3*YgFxxafw)x?R?n=?5tbkh&hm||jTO>q5d1|;gzV#~|lN3ayC=0%~;k>@bUP=1N0#lz+LUV)=ST)4@*spFc zF>O3PJ1HoQ)5vhkgx(T=3->$#U{li&=6R40vm4FNps^)ME^sM?yvAr?{4u2N|0Whk z2BkRgnXAQvSs7Y@Q-0BP95m-QXa~b#DZzf7hJ#ofAA0oFOZotA1^j;$(N3J(IKq!VHXl#NpZI3GS<7h@((S9GfDu*i$|83eY}br97h*ExMY zbBfqui~8udMLOQ@1|oH0`T*3p;>u|W1x?ILK%FApY4#D@OzHP=m@AFDaHtGY7FGw+ z*jD>hN++1l@IO=jZPVr>1e`0_yVOGQW3VJ&&+Q8K4{1o>1Fr zR~+93h|iq=Goj99d7G-IO8%tH3g(H|eF^K%d9)l7aa6#EM@U&xrx5OLQs_L3qBKvS!oc#L6Qr zBrt#e0*KO|HsS^sH>N#tG1z)RKfi2RCN$UymAZc4RxnTi@B$``F=h!`FBpvGY40?1 zdfxO!NooRH()$R*n`j9ExUiCRQ5zrBFq<{AMy6=iK!Y`H0(?4Vi6MQfxf zg^8y8|B6*K4UcEQF95_%g8+YaOo)>~U;nKXPORyNUn8c+c!3pI*K_6*vv@#+pH~+= zrlo-+z!Rn>XUdPMIq)$lR)GbO9l!GEHc!aJb-ej;qngX{p;NMAJmFF)F!(=llLUA1bkQ||nC0u}NzOn~%SkyLHADtRfbbu)KGhN?mZfX!-NlOU zCj{)QKSg$xV4ZXU3=WG8<_Xr6lpbUmCr#a5Ey7;w{@VWAE08Mwj>xVJ-cGcMv)oM+ zsH;N&pb{C175b->x-BJ44i$i=I!i8TojxAgIAo1BLaCq)=S`)kDT!4&WnUU}xoTtK z{wKf={_rrk&x(IQvzH88B9V=TD!D)`Cc5{VUJc(g!dV#Q8ceDlCRTh$@xyR=>jO43 zXPInMPH!vGs^fK29fHrA23yU6n`243TeU%CS8XT7wpAo^L)9JAN##WgmyRFlYJ(pg zT$Dfa7ao7py+4gc)6=YGZk^XP^&O(O9-_E>aPr1B zm{zu1^$rWoJ{-IK_-tg3xNKPUt?aJZx=OIbe2YNLGzo@+9$RV6Fm|TT<^37<02+jtc}%YUk!l#=m_tXu&NU1f zh(Ec`%U!JOFMjG;F$Uv%$AL{!cw8IOFiXcs! z1e7+xsiic>7@i0wE4$Tdr+bf+fG#Fn8vaLNF$ro`6L)kZwM96_OG@^)*{zSGK|?>+ zWQ#cF&N>bT@w`}4fx-gVVV0zEtRIOdK!Rvb72*3r&Kl%5S}&085;nw4Zq%531h{?$ zme}7wv(kK=f&;*AATiD8E9{z=klW?gHCjEm}$w>$zFN_~a=8fwIb2X`HJE95F#F|KZk-43z`*fZWb~o{w_55tHSV$pyek zA4e$zt0C@TMIS6=_EOvW3zX#OMek1P|Zj8~enAgdU$JfzCw zHNVZ`TS0J^ep85Y{0-|Htrj-wI<3((a@{*ghQ*1LmHo6+&=%3)?>Z4TpX9)VN)R(`LoXmLL}e9%waE1e!{wRdV$PMfNI z_3Ss#5W{DBki~|KYOrd?(!`0^+cJI^6h@z(IuCdT_GXxHDk}Fog3*`Ia*LP9yP~9r z`2TW8fGVF<-vRMNx8{PE0Ap~hI5G$aygo#?-(_pHa~;5x&yi%S>0 z8l#*9IYfaMw|q*3an)b%cRjBE)}jj&LfDXL^BrH((5vq|@u0JlV=Eyo-DK4`A!#YI zo>39AR=cY7Bty{bUf$UhkR^x#X#dAwv{{MBi4l(zuNV)NXTKEF%w6vtE$9Vpid?&K z;Qbh(&Cs|~#?&|HCrY8IHwxsI4+*xFjG|?-{w)|x;~Z1jSEszqZ>Yeo+YQE3ON7F> z#2%^Kl|Zfp`e+PLU|&Z^)@8~4^V4#q?HbfKvGUMbAu);4ByVK&lcA2v<3*QZ-R;y{lSVPdVt=`cc)BtQsv2=cM6lr3uJxuci}>2q$^45F2?lyDW)&n z+g-DJY~xadm%j`NhI3`F4tzAw6y}Ess~)W+QYPhA{B-svyrQqnVxpqWs+U~IP zdiKaLzW;RT!oilxy6=!FkJO^p#9$dx+$U{t=vGwa_Q=?0?Agx0&CdXEFBX$rx57l( z{F=ea5&Qg-R5W`$4A*s+i^k0;v^CMbLLol1S<<;8_B!g<*Wd%y!b!U!)>^*!se zk=<&#!jH+xV!w-F2UxKe&{`3(BT>rrh3B%>+-nXUt5%wp(4b_W2u!TWRK? z3d7ZdiUfN*6hnJE#l_7w-xcf;f>PxALYnO%RP=0Zsu^TXeOEn^M7Asw*U~P}m||Js zG_k&gv$>koi(N%gHQ&2fW5Jk~%8t7wrA5y*P>S_Q_H?7w?Ydw(6z!18oBFNm9e{1cuyUmt&)mJ+_kTQ%HdZ_2r~<7(m9D@KuHwN= zbY1k55k!8-`dj!e5>JRN_>BTF5x%H9CB}g21`UuGK$E~kIelYrvxQpJU}vuapW^yB z)*b^&Q2f6f?J3^JzP(qP3A)M8pci@f-PYpSzWuX9u0kLzfpGz5C%PAhE$1aa){BL5 zAKg)svcFBQRvQ&ATb4 zS>Cc!37a#U{xIX0y@YobY_1vA&~vJ+b0~6WBgx?Dk;Aa<+Wpo>pQ_#J@WMjX+qY<4 z_`E^M$GJ&|q)PT(iK0IenFdBG>5KBjf&)Ou zF$Ui<%+ZTx&*#b&n@l@a^63ORyBE9B1W1?OjcX+{BSlMwtE+@(pM?54FYVD&8K9zS zuB)nJXN0!ANW|naz;}R(1t{nQj53!a%ODRJ<3p-UERdCf-s{CC-a<2WLoFe#6RcBU zo*rYAn0i6l{A|88*05sqg2VeaRd1o2DGCu*3L=Y?Gp7$;*ZqE_w#A>6XJ?L&FpUbT znTPlC6l&|xDdy8@qwvVJx|8Qw_4BLP0_4-0*btD#wZ@jcnL~-?ph-wB9Xyx&)pJt= zWim4}N&e2?oL#8AbW#s^5UI8{BAP`tEh&b~nX|LxDj|zt@D8rTV>;R^_+*)AtwICq zN|wODhtk2{XE*+i8syzVHs=(2~}#zJ}od8 z=1~=!HCb`}?8m9#e~Kc|gaIK9#%C8huD6_(s5~aMBdd1s!06S-By>g6_0j?lL7{tf zrqcf%XnL_HKS%--p2g{$HfYJr`pW!W(7+X^6a9~Sf+mYZ`O-4d*(S__Pxw<2B>}qZrtju&f#M|nDM&vr1E)J zhQ2l)VxvPqA)La~!p{U9QFUF_Y4B(l%WpiX17!^^Ulzv)!;h#QOL`uMitf!tdfE3f?P^fl=&n2F)KZK@=-nziQF zcH}Xp{)%Y=%K!S)kl&)S%h_z=iNldZN-0`aPc2rv$p_rorayo>;GnGl* z&w+d4)d*WK{#mDqJ@ZPH#&Pdld*4NBb`g}#^YO=(ab{ZphU-v2b!-x|>#sc3C0_kN zyGoecn^>r;aAN470_YH`Qfqyf(vk03CalWa#rA{Vf8;FBN#$wrwXv*vhZ#F&oy0R* zt#VYsLy*M#!g=$1#q%2=q068F($>;@b1v&$S>4ZX&S`-6g6`uBu>g>(VivaPlr7u_ zjx_j4Uo=(=be4%S(I2~Tne;B!Kk6qosH{j;TYo4US6Z1(b{2R=mOP6>mLk_CRXgGS zSV@;8C}H9WmE(Q>C6f6IS35bBV8(3GAhYIn&sn1kBjfeZ?eem)*xt>3-UP?y@^U!& z-4Mgm*ZeR8+cHP7BzU8}%@ba9ng*+r+dT%M%(-9kf?!qwP&*MtKV_zt$Kq>)rvFj< zpMunVk8flY{n3`d1h0CeL*8ilFm(v)r#`8f;f$#*QJD@=6m0*P+qnG_BQ?8(YKg>u#ug0eFq z^j*uavlRQ)h5OvC57bF)MvDix?P#1*CNnSp^p{p;rM3Pn5`4^`3{ZWmyZ6+-Q}YKk zYY zy;Uqf(@TOAuI2DniR3wj>T~CK7*~j&;5jzYXgUl0yEw;s$uC}{>NfAQk$T&5QVY-L z`nQs49n%Y5MxpO%@v2d!@Rs_X1urfyL!qwiYy0n81s<&WAfOX{7k60n!=pL9vH8R~ z($ZRg5?-Zt=N+mZk_pu0;pq0(5ak6J3IPKW3!`~Jw1|4Q&WGp`Y{xfVS{CA#q`RnB zK5&2BNTo_?R3baNx6R$MdgUPlq$4m{<5DQ}37`IAmq{3l+H~xx3$~uoWd^Ft%jl4c|{6kwYCzwcq6| z{zeuvjr5q|v6Z>J?Mv9xQ;MPddE*d#**<>p$y}()a|tMAvW`VX>{P+wVLOA>X8Wa_-*CVu`MZY3H(~qA$nBY zC31`8P=y==H16VwG10-EXskQcVq8@O-$vB!$T8-Lmt9y}w>szxxja0(v@Ev8j2J4e zjf*S0I)U&zCoTi$TI?q;^8mwm`d^$&M| zF$XZSVACP+r#ZT)gR77G@&qfLYY2#K0eV2KS9|7C10`ZGdPgyL+1BxQW4t+>@hDBl z$;$m?gU)+9o)C8^UR!KO|DkK>;odET>WSNv))yY5Y_zn8jO8LLJpt5Ofvc3)?+y8f0gIpcd| zGt${i^mQ&b94hbVoZ+yFVH{UpYy8{Y-ctR@LZ2w)Hqu4lq=A?8G-_C8d09)Ud`j9*W9C^Y`*YVr|_mF|oDFn_}8)>V{V_rP_bvv5S+_w7H+Auyl@V zw_)nX-X(TCOi%z{+jS3#mnt#1R;;}B3^pf+^nmI}rbR<>km#f^BsnxW$vV*xa) zS*Oodw$MytFi&rSpxu2EC3J7i8M*m4oAGV)F=wpyMRV(y+3|D$nIj;h(*#Cf64KN0 z&33K%qJp2dH`Z?Ion zGkFGI*`IJhtIGw7M*;PCG{4fw{^S(&06;mc(e;;P@k`>@?pVKY*4QWzc&J#@5%amP zr1Y-{0{He&^3yc_w@$mNz@b~i(arnL4{N?z7@~W{aaAo)<5>+vvY}+*(ReUwfN?3a z+dyXW?G%rfYs{S3jOMN)uKA0tF;6-j_2ifl?{}FnH@H^&sfStjVimuX=ElSCZOuo? z8{tF(;rPl(^St#w+|7~bASd?u!4KWRZ97OBdCH+PQ>j6m`E$a4cI#G+x-wT?y$SL( z%hY_00r~GK-Z+@ zN#!utpj4oNi|p&Z_jn5zI5~i1&MeezM-~XU82)2yP>o1IfKTXyG=0iGcB&8a{8}5g^mqfmU3fXp^ffeRipUqS-N^6)vH)X>F zIIAe2!~zEAzQa|nva_XEU5;UtDO!~mqrWXx1XGfX zvSx47+3Vu>?a#JySbWKre#z+bzFOS>hZxJO-I^ zW#$Zr$(}i|PW+kiXAU}P&?uT1H1%iHmHi)7hf?Y;^HEhUUk(sk`sa;hk zuMUR7Eue!OxB&p|$d619VvP7I^Bed`A+sYE*4AMV(+!^LZ*A8%;8p zk5tHt@tw9;L-u6>FtyK>OJuWoTiY%gI;vW&`w9&tEZNd;0y$6M?C~Gk zn4`<1J&j1VK^0AUdiT?Ei0{VRp@qh zh4_2FbsK=RdHvtn?~H4FekggLG`=6;D`F|Eyzpa!E+qykB)y%6FYU|I?p~JQ>lYSV zZWH{|u8iocH#EVB8|}pifUZquXa#A?4kENNNmQnHowBil*OwxJ5DZF37$<@wjHB0H zc{_Y=%A;;TLI(3dL#EI{s!u+-iRVR?0&~f`1X2*bwK<2)vKf ztc0jyu+i#|1BX3lcJ&nwchRY%#lT7RA^p~X=KsUgTL(q?{@?!=peQ2UC@tMxigb5M zccZ}4pn!m+fOJZ;%hF4SD9r*A3(`_cgS7Pb;`RRgW_~k{G7kU1eeV_LdCucx6W%<7 zF;tsEMw+y9Jj#1{&%B~1JkJlPmva=G&MWa_nE&<=ZeBtM-|{PFwV#Wm)>{h=k{`mO4jQYmJ3hBot@%RPE{J7K!ZOU${-o0#&gQudgf4%9Y{ku~@h3ytV=shV=yBeLlTl%WC(bvEi zMpFE05K3I4yG)31pBcmS--WjBDkRj>H{V-?16ShV!Lo**@WrR6D_Xx_1!1flZ@5~+ z7WP*UW9}X3O`Fe;yv^u1=KJ93)XG{k!Er;FW7tj*zeZ$q1AIfe{tj2&<3G+SiX^BP zGUNomx4e8f(3WiY>DmQrXY`!rB-VEQoEIj8>-=~LTvaZG$p;2@uHm|mV>H8bJF+OA zj8pvJ?x#7+0IpECph4~U~i7i$9#cuj>fd%BD;fr0C) z*8^zPm!X`$G*e9*xtzyX&<~a}n$+^aVe;-Me5y0d284n4Mj5skoyL3Oo$*)v?uDrv-HASKgsnEtsrI^~` zV0r9PYEtlIzf8v}dw!knR#FoE`eurgwsxQ`J#AMuK}Q_FtomaU-mAx9AV{ck!~cgU zDhTr2tQ% z)8%=@8plvedrXhPPdYHYy8p6>{U-<{W!-NasXKn21q5NK=G4cRth#gTnUV?9MS5j_ zj5XG-3&`0spT#E@K|D2g5TA2T_mE z_4sik^}_e$Z}WHz^Aaily7XhT_Wg}iAn)HjEBftQ!Sb%?5p6IS8sGNaQ1w|Y(A5%Wy5Q)J?@$#fIQ!m9SAS)>kB*5KaXX0r|YgB!VYbaCr3rDmX34fR_21n(GICHQEE)FWZ( z7W4SQt9G!+L!B&AJskHVBkmU=WXg}j3@341hMrPnV(sQ zGEyHo>+LkouO7Z{fFf?#pL>iGRt$v)amG+Fm7X<@6m;jYit{sQnX1)9L>M`Sjij4{ z35%BBqn`Cc`0cVaBh_5S8z7<8bi)v-g$EmwMWn;mZDnnpW+Hpm&B~*Cey`%UkK=^5 zdyYao@3ZrNjFO;sec88CDv&4aDc$)M$wt=20<2l7?!3Dbwpb z$ZuhlT+uD~`SAOA&zp;jYm;f~fC}>g(~ZU02Phxon6qg5&R2N*&KCjmtg>7cnxpSo zm$q@M48!*hN!drP9OYu@&t0%$2rta#D6i)gC_$tlj2yO9U1jZY&taQ6`4p#w6fF0jUEM{{XAtX! z1(N(zybM-EuXiIzTCa8sUbTOO{z!-I&1mBx#C9j}-~!@ZS#2O=?}_6K5)}8DtPW9$ zX{(tQRB}K-0Omnb?6UC9@`tLEIt=^fa)aM&eF#*>O|cFrQ2(^BJL5{G1{qPR#s$z1 zv|YLEy6kA8rH#tL>ejQhWIY_Sz}5?@$0%*}{pMT|EZ5pemPO&19L%pr?@3+|8mdso1_^ z#2@HLHnb?a;G2!JLwm3eg}HW~{xtnep96``1#b>rm&DqirVf&2@ZjUmbP5>BAuUOe z_C3ea{leH#3*jk63jWN;le)>Kt`(lPHzNuZjhmRdkUJ2%ZxdN<<62f`;d>}sar`FJ zyG`@&y?Exwx{clW1-<^7j0ltn8-VcWV3I$~7&2Jl*|S(f3K#l4uDlh?=u4aZRFWkA zjpFO0WaSfwyY5&`dYJ3yPsC+gSC*CMHmUeIAGTO=@FPcp2uck~=fj1Yb~X(OcqvM?vfy=Qv z{bx0LD)w2Q@;d#Ycx)iLC&qav{;33KXi^=3km<^WEF3MVY!tOlCY zre-{@L?mdI36}F@cyAgUTm$i!E+HgtG>t&(f?fy5#y}?SsTycM!U(osyc}Hs- zr`w!9MuMnn5pVKZwm2$U2W2`Y1{JkbDg{&=@3is zm+C7e|F)5UKju@#j>Z|}yQft-X8M(=W{6jqNdjTQiy_)-i4F0ce72{=(2%u4Pp19lFZJLpI0mC4{h0tT1}cuHdo;#eOno?vD`Xh`#f_cPBHLrKloz4KQaBtQte zoz_eYgTP?S)}_JSvqakWZxOMc`RUx7dAqRbUaIlSrdD6(CMdCYQ$%#F81)JCrFKZn0=Q1HT65_ria5*6XT zGU@JriggQgOQDhvJu=_fb zoVUQw5*SceVp;|CVe>gSJqMy0&P<|rnq2BPOQyGhg?pk&SS|EQg9szuf!=Uf2p`q@ zfbh`}8*Moa2~UvCEdObdDXN)LB=PDq7gC8RQM`M{@qS`JRm2m)=v{DJg%KffK9nae zW$JWIYg1JR(k5{3K4n0c#z^pTItTk$^0LK+TKJf_)4Ts`@I4)2&B)(UHIaSg>dCOy z%qXdrT0vd6#y-7U_s3*$c(;yauTvioV?e$Wq~Ipr3eVbtgaL?z{GaWgHRB+g!?soD zT*_$Ypzj0)J)mehU>bkxUzo6g)Oazkf$&X-4&;3!XXeukB8FzaYw>BhnQc0%;!)cB ztO2i(YF*H9bd;PYcUSn8gTlzNNTq39H$dD)Zq=Tjeo=A$>IM!+(`&TN^TtYCf%#&E zDS{nhMIEb(C$EjP>x&!N9}R)~tR6|+$fUa+ z_Hs#g;AFBtp_w?wHP>kZhMxR+5=C4oLH`-i3?C`%XgwO%MRom#8ZL{D+s=8$RjJ%P zyN56sQ)?x;rd=w{fJ-O1dMedMc_*mO`qqa)o+k5;d}sozk^CfQ*~rw+g;6Zlxu5w^ zMa9Q+^s~Y5n}YE|{^JTpDXrSa!KzqChDX1$$J#|4ZBI$?Qr}-qyflp!sMDM|_f7ve zvP*d&)BTOYOyajh*K2EKh)Uv>hNlEtr+U|+(bdf5{`&cJdP)LcjCSgx#zcG@8P-;90#*IpiLzr!1!p zQmDEud%BP<7xf``T{A;92IrWhc$GLa9ysfVbElhf*2+Cg{vW6cT7IsDnS1-?2&8(} zR?WsVtwmFon=&2dZ`-UDrB&ttWnn!PrwHf+Js9_^=lKn9JVP4WC>&pOpz!h37F_Xz z%;`I(RK(ED<BLptHZKi)855A0H z^ZK?)3B{)1>8_e%-KpGmxXzyTUU#t!wmy~?{LrXX6E~JJU0$ri%-!U|H8hg8eZNfk zWEoRO()eL7OQOGN$Lz=5CAZe*cery3t+O#iTt~X>jZ#{ir%Z$H>gy9s|XgxC*NBEBJb>_NpDfCy??_C*g zMa-I4AO#F&3j^ibTQ$KUY!Ke*iz3ZnKtK0t2wsdXm z4V-)`aIatfqsUnM$B5d^e>&HqSA;eC1f__KFalzJp5(iz8P7x&Oj-qGn9q7e}p!#x3Y zx>4T9Q$>tD|AxA3J^WDS>0_cKWOR*+4G4Z*IQXCe^hB9Vn5~F{;Gy>S_jb3B^$);swkvJ#j}>hP1CwPav#969-W-d2Xr1}E5|&TbpQYb%D=7Bq(B{u9Vs_ zh8b!7`QwYJ-wg+wa*=$Ny)njz?S*QSqV?>ghQ~{Q>W(#El;?&kTfw^!pyEXRY~)6Y9DGmulAi}k@i+UU2_ zJhM<$)aLO0`uWHm;Iq(FyX(6nS~hx&$}6%`L|j{8PFv$UWlqEgO3x%hh4R2?e_r3Xo$iD z{YtsyX_5>1;`Z@Ly3}Ya8ibIpbh$UMD0(Gy8{aZeYO$_l)$&mxcUUM7J@uSz$})_V zT_XOC`${21nJ7|=B~TmoE?c>}Y2MKzuLn~IFKYFV>kgCz4ZdwINGf>RmLX@R^ai|! z3Nk@t;nv!{(3+Ul7JD*0WJp^z`)eBY&{mDCEd2QJTRqdyK8h^3;C?V9d|__cc_DdU(m z#X7g`HM#ZqPYz+~bJtHk@AFMdTr{62eYn{C^f89WVTZAOFQr@$4XKi9oiG*^bLvgz9h2DInV%5ii$n;Z0jhzlR7x-x6vvu?2 zZLzH$K8|rVi38}d@Gju9cRSd{K~|KK9UCd~2FkeuP$BxV2eL z2cLVl_vvFD66=@YU?AjX0aK2K5G)m_%Ls2boNvonHOpeWbf zYew8l-w!T;Jg3vKR3O`-Es&t{h?`J<&~2Z{k9VD% zch(nVQZhY@EBI`3J!8v?MM>hHERU47->p*W0`i1=F$s>DPGbkij zKj2bURpVZkq?&ix+_7!>MFZ~8eVP%5%*zBhIF(0$SafGYXkpMmpgjMoj0)`;=2;7r zac!bSg^&=VI_O(ZOgDBsZe|MYa7Yk^$Xl%c*`-bcxlOh9#!`%HpDuOjXPR#PON-c! znom5?JSdGXmc1_XoQt zvonhRcDr`HYa;-26yYxa>_E^3OL0qQ{%v3H;}H^+5k=uhpKqMBT@Yj{uH$R%eEI@& zB*AH#hthbjfr{?o6~`7;`&Cu~D{Rztwck?dt%Fq9kySOIvM_4dFgzYKi_$r$=Ktx! z?Bg>mn&->EZ}S!MTGjdJe8*7KbAt~20oWAqo+(uqiV|3pDix&eX!dJ>xF;UoSo&7n zrRUvd(w`3JJXyp~S_K6V*(x^*X?{*)N8h{JPiSQ5M^{{W#BRFppRFAPs z589*k%XX!4F~)}kw#t(}74oQg;k~niw7GiIpGmV22{nrpZxp@Zd}+TR^BP27+Tr>q zN+=sS=)L@hCG8)O`UnuR%gSV<6OUzaFN%uY^*9*t@B*N*uVH< z1o_88F-`1?2eqSV@1trHU23(Q<;g(|i?k6C#ugn`nIm3%UyDFuMIH$1Y}DU#Z{>&X zCC8aHD(5L;+SnV%wT zQbXfeHKG#$=m{7P0EvQOJMq1${Y049*T|IPt^)4%-~M9FZkM4|V7PrNl+ zeCY0@Smkr*H0FBt6$9ZPZ;Pbv@S+r)kQaP{`I6$mPAqCDYtiBuiK`Ua0;W zV<#~Fj|+a>S?;MKu+ebP3$+>@=zgtx-fRFb*2z;_u#_=W$D4U+1tLPKVxK~1m7?Yv zV(SV=J!|Dqm!9#{13TYHk9Dbnfsy>d8F0n@ZGXB^0nQ9&CWVp5O%T(D_*ZX6?cPxD z69StSz)k{@>V*x@p!6|jw$mqZ&Lj?r<|gwMo6)}U2eN)U z^%(}Q6X%lq=C5`Cdp-U~NK&n$=TZTj61Rf_vNr|b`UlWtivAd8^&_Gcw!Cs`I`BB* zqLcFC!9)rZp5ezWG(3MZ59Hf%MK_W@BiDHKh>+fW6s!kyn41tzl*| zOR7auf5W@&*)vsLd_4C{cfl%aq+{0Q2loPO_)wcdCHS4}ouZeM3)9|;dfs>Uuu^A) zO42}-;L53|t-G;tj&i&WQ6*(e7|Qov>>Eq9{~WgG=2{_xY^wd)3kHXSWp1AWeUtRK$)u;`V=D!wQMxW|Mydfi}8dHo600OTf|ZYad@y{s~>(f;=TefW0nzkNRWJ`+buT7n}p}dq0UF4k^e9pH&E>$gS+=+yBUzh&P-8niu6T`Q@( z$R?gH)5AJ)ZPumWF0W=WK9zSxey1p#-LvE##-S|g#g@eqaJS~nqZ2Q@TMAG%3Eh;e zsd3G1Clw+-Y}r5jTs0P~e^?NWoXK5EQvTeG(N@qQSVq2MT&<1}uLdlitXo3E3hD5G zg2{o<(BmEeCjqnve@Og*CV-;h%j}*V231VMhQl0b8DwI(Ju6Pb%w0@Ay4l=06!~^T z-BOC<6B@7NUTycv0rkm}gXOr&cD&3@_f8SVaiDAEx7s8={<(_A#+Z=w{D^<#;9Xhb zuG1|UNH>dwAP`c{!iP)f6wmNl?Z}5rxE0M*BpYli3y4YG#qQbK*rH)lPfe@Lo$WF3 znrE_6AqQo-;$F1(6Tt!{#|v@ikLW&l7;=4uM85#|Qwuh3!e?*pf{QPK;`Lx)ux#XKHge{BV8Mmc&*lP&Q<<`da{84y%?A? zZ!xQ>cXOFkRy(2js&L_k=G{&9-!1Rkgq!)wk`d9)W&c}TQvp&2oa3vMk1f7qX_pQ033zbX+&tqPe)6Q}$7wK#D&`1iHw!Yf*>{tmT`!>653 zj#%bm9)Or4C$ph!1q737e&cT%bDm4yw6n8WFVyuO2qY-o*}#AE5xi|aY)P{fN@8-= z33zO_&koDj9c=x4)~+LP-RLl%NfF0OK52h;E!{60^2Fv7im#Pia_I5wPibLOndQ5Ng&em%&s#0}01j~&F}e56|Gr?4>Ni#Fq^3kHyM2VN$jf%QSc;Jpc& zohFBvOc%WnKD*GgFfF211xYRbKJ5wL7miSNYru!loYp2waQl;)@|~d zU1hob(}zzvKN^YnI=3Ybd&Mv*n}u9e-S*gucOyvELuc9u?#3uqm(6~*zng+;u>M9{ z-}SPp5*zYexzSp(GNd`=td6zVcX!Pm z;+C#6`E)1eQpY|M$NVQ7Z4n!>0_I`Y!`&+7FLtss66yiZ=N5iJ)HHUQ4Mu;xYX-C7 zc6Ka72mH#t68Xai_F0SVhy|y3;l4gf|z`=SC5k z%;r9q=R3cF?%Dhwk4ql+)LshZ|9VMjN%GtxU>72BDLd0%e<6yw2K`o7kaU5829USs z2{H5yz7jX-mc=43`@F>qjrp`Xo zik{&_K_>`*HoW+wIvfvBg|)P)qB3tOud7F#y2^*_o6N@u%%^)x8@Msyk&09gVrIBH z6iwgkDMm*8?3F~uWdTrcbpi;DOWEW9M(_lgJhB;l`aN^=xOB;gP5r?(>2kB9z8Z|` zU(`R7?&Dg&Iw^Q`AGM`*^}?uX<8+7r7NSQ0ux=pl!Vr|^#H-P5b(^j~+t{blkAAFA zgtf}S4u88P_i-i56GvG+JETvd1<8aRiKY=jG0j2VYH6$Lf8&PEz_z89EGe`6caM~^ z+ygLEg$QhO!UIX*_Hw@S`Wa{Le8~&a7Mq%`!M@K1QBSTIMYVwe6`UhP2^eC8c|t!W zc-p^yC&2K;0vwP4V~_z>(^bAVaq&g@S;#}WNo+J=Sdi-SCcanvt;8(Hyhhk8^b;U9 zGMK=ZfbY&H0HC)`+#k_ai*Kp} zoK(Ek)DDKYCEa{oKl|A9jF_AwH1`4r9orve@UhWAdegUkB>zJbN-!o3?{*(^v=CwX&13O9H2-e1O6K&JlLBhG$XsEIp`c+YM;ehKOHY{ z56l4z9xv0U6yD~ZgF|R(ixQNYy@su^Fv<|+h-vFWZ7laWLfe|nFnXUrh^Q8zIO$K0 z`Rmp`9_?shn9|*eY`%5^!=iN+<&(tv=1C|8QpK9`#*HFQYls<;HUJC;UmUz<8Yy}$ z;s+VlGdzKU@F-}LBiYA*{~wkz2{9+G1DQ6w`gQ+nl-|3nl@7XKL7MP^&7_EjFK`Vh=>nn@=msJ-JjC$vowF5_8<_wk7GujKsM8TkH)f4JUkEYFCi(7 zZi4yldU-sWad&Y6{(}`C4n`ATMcz+scJN$qF**13Q}JG(azn~VNuqr2j}Z6{0V-ut z)n~C}fJoz`S>8=(-U^$#?9(;GC-EBatW`*Y=abp?4U$?sa4#-_qGTHdba=4u%03gfo zWy_@<7Eo0?BvTZyF5$ss(JEu-^je67>tE&wJt{>`ywV-zOz(Jlz+(rzPvFf3tW2u^ zP=|{L`z4yO0QePc!w(qasT~mO8Y2mHuf8U;9k004e@HWPvHr?Oi!`)P1$WX-DbACg zqE&hu1RpN|U+MDa0Ct3XKuBL8vXUsVJW~J0hqP1_b5F*8!KOj?`p_X9vN7J%?Mc$kyPAQ$m5?b#tDmhVxCiSlyl4 zSrL_4w2Ud`*&6@}j;1-O@oh1hTYzCU51C4v`9N_%sJRi7BtJ~HPva`sUZL*DECFOF zfpY(Mb9N1jCk1H7N&6FI%UA!XJ=Z_6?oVL10ziX#=7fu_gby2lO_HhI)+^An0&g-H z^$=LXAMgrVdpXqG<`N7YK~@UF0NXamY%CV)wgE0}LC)G{;4-UWHm|)irEBo?ba_ZW za6;9Oj0D4c=;&-4B87WOfHeMGPZYOb9>l-uxIEj^pOP=ZdG)3iQ@f(RXL0Un%JBo% zy;TFXA!{rG12xRU&o)PMdZFhc(=fbg5ySEvRMLPAmGigr!I&*OqTdVWY>mJSZdFvG zM7J=`dYEjbmu2OtbGLE+n;&ovgl;>PXU!z3@c)^x)c7)CIDCMpK2)JmbzRtfyYR>s zv?hRoNCnby%Z3$1{2jw|2DQ<;{>g`n(@%Ugp4}d214Qi?xZd9qYx@)pI;lZU2%udG zFSiJ?MTM@WMPk9yVWlM{*R4JGtMlZrZRWKW+-P1pL+8}vrVM}2%~9~%evGj@@Osw$ zquF9NVjZ9Mf~A23gW*U$yb+Q!XI3p~@nTu$Sq>BeAoA9SwX}8Lj3}Pk+zohHfR!k3 zMqWw?c1nOHIV-CS2GkgUG%PZnIja8=Me$Va4C;XlZLe52OGQv%JoBh)R$^FbK$cak z-7v+Iff;Gm=lS6&J$7HaB%mVl|2mTi6?j9wcJtMjCWaW0v=*wz+bY1N{0+!`qmmsz-Mpa?s`s~uqwK>*iI~XI8*_o`|-Gg$*6d5E8=r$}|6$fl*k&5dJJ8qT_ zcsbQA7jXAc&CwBB_%Or#`Bmhj8t*bhOfpVlqtx z%6yL@L1VdLzfC`P>Q60_AyYtlBZ;!wr4s;9dIGZpokfempq{aEh(*Afu^O%F=+>2An|OgjG5L#?lO)sfq~Dc@IqB*;B=T;A=R zwte!zeXMqiVj=SfrfgLt5Z2$1`2l_0UH`v z#5bI5h*yyyF``#@fr!bad`A@hW;}?~OenS(26`D6 ztiCI}D_(cENS-xSPqCJ}0?|0%<&vf_r!9xpQk@b5-iE6QR+OW`X9N8+Ni|AnicAw%g~EghzKX@@RmQt`@=MOg+GU)xsLZ zm4fRc_o0d4UV)@NaHIqjs1HmC!xf8o>Nhp7OhW~3*m1gnJkVy|{9;bm-JGWRmM+U_ zy9&^dq{DuciISWJ>VARH!j6*4bmc0#538nG^C#P(z`seTdnv>B!_P z^GeO@43L874O7p#_7bdXD8tV!o;EX?(k6JdY4EYnBrVAeZuGIz_`CmTm!}EdV32~;e7!1LQO7tyQQwyK04`-w z^$1J3#UyZ)avn;GTKceSCT7nq;6H+}XqkgTB1frm8i*O_uzG1Nw+UQsuCIzD4TK0Xngcos1wm2!>ZFzsQ!-OdSL$Ih9904Z2_I za)V%xRyR0%D=E-$Sk))_BNEwCrE=YXwH_HE1dvzasnSm{YH5Z8FOqQG{Vo5hn2<);r#>(G zJEMn=thB(#EB?h9P6;9jfZsp^+jKH{6Xq&Bt?2$Q<4+tt{nC?Hgabv7a~)NWwIA5cm+C!Iw&j`NWH(Uhj*~Oh$r(X`e25+K=oM*j4?$O zxBQh`?5TEY&8eI-JLJBf>MpT}a3k-a5zZYgc=w?Kqvv&7F$L}}mMRZAyAFc-moE&G zLNhgpelKqx2y`px&?J{aArbITTUk!L|Ki^(an(1wr*rIFtl7o90Z^5JY~lr->M3*M zW0CH|gO{9sV*LZGafkP0UkqC_S1DJ<{@m_vZFJFR7AFYvdG|%&e0?z%L+2OZ<1XBC+Fxs6^RokEhDQDnT}?aO1W%XkRa zeHh)%z#(vt0m!exetO+wfI4W&c>kph*JHr)qSJT5_y@>9fcTpK6?7?mX#~%WzXnoc z%jm^vuu0OtxMg6?E&?CHau|HkW8(}mLCS-D34mAe1cR0q;gM7VmZ(Tde}yyqrYE?H z>)+1|3j`8b9m>ua1xpVde6eS7&CeX#w)5abRIY`HYbJq$ z1fLWgi<7{R#u#s9XT1G`)-OkO?_73O7oZH04j2QU=O@@BAUFNj9I>TG7Ca!W4=5iX z;@~Qv zOB`D2CNEW}u?aA|`|lB+a2bC592A?k8-lSCHBP3es^H#d^ z+p%AWrl#Mc1_%a!>(@{d zlzyLAf3+*I+;VBA1nD7!rcew^5 zDvs_WS@Q5D%*24PIj*Uld+6nM!yS!YM#jombGAlSPbRtsQG)P{^ge+XNiQ(*q=?N| zK#u@;e_fPw1+_q?4iILtr2yA%h)^H5_&M{5t;PZ?^ZM|JK8Qg4sj1#zc!MY+ATLw3 z0+)k_2ZbR};ylhc|2L*7BQko|#jJ;p(88<7U6+~A!N$&o{k3|_I1m?}w);UA%YGBj z%|0s&_C9uW1XP&wn@IL zVD7ST&+B~NCpf^kakO>j^@Ve>;E!=5cz&bkWq)OC(M2c|YcNV>%Py&^1!Op{4`&kq z+t1J^9ZNTf)aJqA*~e7O^A{Y+DLPDxC7QA`FKA)o-X)!k#L!6p7AVrUlvmsI#^t&I zsL}YZn*LWo0^sew^bueiUvuFys(RqGL8%Vr^ydw$Q5=AYXz5u~MznEVVzMENyC>l> zWn{Frb924D3<#5Q-mw8y=+VZ3Jb*p=}U(jMLdzoIh@2f4l{}4&9J+G zQmH@jrNdu@n>c86_v}4a-D*}+bvo8(?=jp~@si<-OND%itNo(qyGIE8%I%@NHof-Q zb~`8Cf$QW{J;5%J=ECdR<}=(Dj*2kQa~#E>o;E@H2?zU6^JJn=QuidbzY#crC%q+Z zNp2UuFmh>S&0*Z+WcAP>4@h3#lH!uH^FO%HyRPgUW6UKBX_mCM9)+0rV@x&zw}G>svJ1mY73BZ#1n^0-WbHb6=W z+T{D@Vzm|Q%4xz%$=rjwsy?gdE|t1=fB_R=|9~k&YZ@&mECf>qP~7sI88qPhi?=94 z4$>|`_0Z?o6?4EtXA9w;m@WjBZHs$2*Tdg&ZT&&!5Hx{hiFE*BD3R%RrvlI|$echQ z8vw`&-J;!&q4_VgWW|$lMJzxvpTV$nzR9G+Rl8>;`F*(yz5I*&o?P`25i{c8Q7WGR zd`-hJzF7P;+EzQENiimtWqa*5ty5$&(-4GBQI_C$YL)wUf%N>FPbs{vuC|)FDAr|| zC2iQrNT&D|rXuV6Ba-2&!LH1dpGn*ib8p+I(Z6Js>Y1rQ{SXE`p$Xho?WCj)J zbY!SYL_|5x{{b*KC_i8}gFmrN1NuA|1(~nh&Wlw|9j#sNxRcPO&KNi8md>NTk$~Ao zC>s#u%-PJzGXPu|F!YHit?o9L8D3qbDqzVHAkF;ci#P(@%3_0&4P;d{XE^!P&b&*^ zAh;_igg1oDZR1n);#XJ&C8!$xb+cr1Ew9SoHXd>VCP0!*{7KhVMGRKr)dzpk4^n6qYy~~BidT$L0d+Yb3b}LN^WIzV zy;8C$+pq=Z>M?r;E3N;ts$3wL>zu1^KSU8d|Na@PTpMD!`w5k7(DAmyY@W1gLG-rl zOi4NB;*a+{s0LxTTNIb;D<~-b*$Wm9ZBI-C%UqETLzuDpJr>L=QY~A-0Lofr?!rWr zfpcNERJUE;otAhJ!EEeas$*$u3@mFhtlRn%YzmW~${2Ep09+JIf-Ju3tiTL=@|yy77rvJEE#*>V;DLCc z_S>*4f&5?U%aQqjCs4WMo9;fwIf{#s2wL}C{-(FB=fUl-TN5EquPNc44kl6Ke9R_J zFz)Mm!O3p9`vFJgi9=Qk<~3cvI?af+#myu(r0iF;1$b0<;vwdgcMEPj*bcCmpAh>c z2c+jl*yo;J&}u?$`~|_8jrTXp%EHmu-KaOcdBO${cz-KWpXX$y1WjQKRL~(5ZG$C? z9;g8#-rn!pZcH*m%OP3|2gM@oXR+p_a55X6kFaXD=yJF}qjE-vifd?T%m63RN9!VU zzi%J27Z=z`CyR=OM*pwSOZ6xj)OyJIDzf{^v-{4%L(;?lXA}uZkEz`k-@qZA90A$Y zPPucxsq%a(9aWziZPD@G6VHY@S0^hU)-3SeNDt;(9?fBvPtq_Qo z2B4fi(sn?!9?9R=@kH^4W}I`BZ&Hd*E1J53I@eAGgFYHi3bInA-NdT_V5Bbe5kHS9 zFjbR)H!!IYENM@M7d{EK$men22Tv4SnRk^7m=gaZQ!;*~B)e7dVFUV&t7Sa11BQ!{Y2fO$p{HA5%`;1)C?`Yo%9`Q6sW0Yd@;Qpl5{o zC-t2z`HeObH3I*_mKMtHI9I&w!-p08=(Xb1g(VYBoI!Drk1Je$3xQjJ4Zl5-CfL9E zd2Bc}(le?RY{cRJ{B0Umuzpt)hL9HQaZfz;mSk@K4@V1a)$r-3~l(A9U3h-{Y%>h2wj62`rIh9?Mq zS|p2Le46eG6-`&nv)xVy`3y%{q&z}5OFCaQ8>!+JvQ}DBUFP7n}sgK7Hnw1Id z)C4Lz!dQF$_r-tz(+ave!0ZgY{f95ZXIzm|$%eSYYU!`a1IsRkGEL+QXanyU3fOmX!K1vuvUd!h;tzGdsAOB=r&F2R;Zt zwN@MlzOH{c&Q!H(x z^!PkgJZ(318hr;`CENLbSI>{LyV1P{ePw{%cwZCruWnsCG*}q)sJ{T!M4(L9%0>aZ zrtmp$At3%oYTWkxzR;PKuhd=lqM=@1I+i^RK0m6@=4_7W`MqqgwPnYN=xQk{-4U4v zWZ$<}bzS|!+_DIotvLs(K>?qGq8z^V#Y`Lfv-j^a>@d)PcNa~gW9hRsy}jVk1)6&{ ze??((p8WHJIlrsurs@xb&@?lzzRd9X%ARRKzyu`FukQWiz%U@Is^0x>!ae$!G9U0d z|2zO)#+a&=!6AgzpS2_Hx}U)h{2Bez$py!GYtf$S6c9}L-|;%x{k!5*Bk*r^4rnU@#TsUlz-*hPY)uD53fA|vp{Hv* zT%3;8>Uc%>h#oeO-D&mB8l&!%`lBcqQ*f?|<-BZVbEhbKx6T)X35V{>+YI7n{?}zP zxQ=T83n?v4iQEdI16e1BCX)LtuDHLGO71{i#@sjEGpiSMNE=@uf|RwcvOD}YlW@j7 zQ1u>>VEddi62J}MKU=fgxx@Zww7MgE_oiIhw>C{81#}Hd%y@tWDW$?U8>M$Brf|Nn z<-2~UW!&zq@#Xka{CAO{+BEmM0@Izchpd=f6_()Pbo_!o?pb%xL8?Kp6@f^%mcwb9~qx26lFC zt&&6cBD89I!Zeymn`t9c^U6>5>a=)Vpqq@J#}|O<-|3{5=`9P-{cPLF0x`FH=%OFD zqI7}w0wDIXz7ISf`1AVSw+cRia%)p1b_&Y%5CAO=IR2i@D(i=F_X_Mff>&jS#^GKf zgc}#l=aIuV+SMMYuv*POu3r!RP2v}hAa(2pop}VhKuP=$t+SV2Pv5+mGF9l3{`3aq zm1KeGDV0&+@(*O|J?PQ`jamajFJMA!j>5ECLM#+QG#NhHpjF+-N4d`35b{nI)Xjj_ zcTnpVW@@BM=%U=mnSPNSq*9|2OMcf!$FRz?5B2tI3BJ{jj+ zDW(qJR-s?9+3xE+JfsTk5@mq%xE}DcyNgz~9G^~vNR#t^;d;N(?~R}Kn%rH!IMpK( z5D!ZUeDrgE6 zF_QTGXLMa3EPS}+UreJ>APb5LEmHOg>^?g(eS-R{$}o{w@xa$`)`2%qKpfG2Qv^%W zhT$JSb(oOQ${Gp4&Q*i@ZKf`risdyaU7)b1T|D)iG^mOjp)7)iHd|ZCCs>F3rtp(W zeqDR1ZZ%t{gBNuW361|p*jon0)pSv#gS!mwPH-o|I(%2d5 z)ZRMQ%TQ3g>1p{>vG8KS^U42YXcY)wvSUPT`8u)JlmnHeH8b>nDtS|rl}t@|Vy!AK zxOKeJjFJ)IH!|E?{TVHk}j6(bQI5HnI*Ovh7l zYuYP@qBf<1Jvo?-)c{f8_3ME+8bFgeulqYg^vCG2HAX#X<@4dWzLRPy*94VgO;dR2 z4D)7zFTysYUBOIV4@D{yOa=&-=(QVP7g{(zd@diURIQ}=>cQ17F!NYjHQy=o(!B-D zhL&widgVv++{a@p$vML>V*X`zU)Z$n21z`V5>#UB;u)_yJqtpC9`iLFN$tSnk?hJ9 z_}A9v-y7;&Ie&&00;OENeGa`6^#F8IJ4k#N8c4c+d|o{O9Lt%g`+xQ$KI;*od`#+l zbkl&*pNUm9F!iwP7y^74fn6CZ)HYeZcdJJI9NHaQ=Rofc?%_*fJIaix)4pUEFvRs8 z@gWmwfB(e4Z*k87v!ZB!6Zf7?{BE%4Q0EuPsGJzT3YtFIX0?e{s=hUh zi)=>2?%+Ba*ICA|jR52SQ>@1CEw8N8lYT(tVB7>yE@jH<#~VMPEO1!u@Gjo-dgB9bVAUmpH&fB{=yMdFt;*Uo6TZk_tt&)xsi?4V4vvq4mns{x zi%;uqB2jMUA8KFBcUt}7+|`Q`>Ve(K%I>iN@+&8KWI&ci37X1|PbV>=K=s(sT=(Z!>exX{jnpC;*1C z`7|-A|HN6&yi9lWG&d`mNlIX*c@3NQ-D?EN&Tj8HZR8g>JeEYyA40zj7wDYdUE;U8 zFC#Aq`i7l+ZV9`wA}fpEuHL4%=kJ$82mCYvQR%qf1HegJAJ7CpJt8#K`lFNms{~Ra zEU{Nco)ery2H#iySV$c!8KA9XIA~tklz96@ZYZr^%i4F}p)1|^pLd)Bb@rldFvpuE z>3Eg7Wz{ls=vygloCkZ-*C%^TI6UHeqDRPZy&jOWBcAS3i6&ljZAF=pD>rG`UYj?x z-2cv2&UZ;kysNVN-qkn0mwA?g-Bm`0G~~amSd-tP6%Yv+(S8kjqom^es=88Wiao`) zD*E~Z&R@Dm$lH6d?PaKHr>Nt@1=~lYdDx1^6FVH_N-}oduidsojNxY^I=jKeU9ZiY zI@3$v+v&w1vrkc4rm~jh6p!7mj($h(irQeLrf15>0(5e(!L78(1xUHIP|f>+YDO1Lyu|5(r+KHj zB78uYIo070g9Qx}gBdXspN%04<1XNqY7koA30Se23UV=g0i2yIgw1sa0OOHiz+@a~ zzjG9M47Pjao%1dk{Uca~(rcVoqL0>bIEO(D> z+!=MHJAk8Rge!n+rysR(&fSy!=EhwTqrrR@{n1sGZb<|j)yA!3PYbxg_|dkMd=OyQ z0MfH^pfi05{#ZfD`^fhto5^NrRk!WyhfCFy8ZA`nQ3L}1d-`pdM@}9`!fq^ldars9fZ(AyxpI9R7vSXNNn**50MPS+_MiJI`yR6MFBN4qSsrI)skQJ& zT;GXWFoSSL&XE4qn*{6`2|zOja2yi_O{CSQv)h9_0?6TU=^|6>D#DfBVm&E@`E3A~a$ zX$722yQXvI%-!tc3WU*m)~GF`T02{k`=aN3-4i@qzbrgE(f(_s2WYilCAom9+U^ zCpBQ+Cw}$NI+bt+5NDIgR{)d8Ta>XBF0Q=%+?G!?_TQ?a{=5%({>5=Qs8V$Q*M}?V zV4fql46tbdm#J}Pfneby*)!XkoT|ZINm@Y23);P^ew1Ddu!%Y$xag^Qw1U0tvAwJT zBq)LQV`q|5%r6*olmccdOtbTW&rBWZs5L5VU|UmPp6Awo)IMK9WT0}^Wr42=dEJoG z18m|xWghgH0_WPAV>hzlKciBb)NK97YpAkwB?imp@0RKgI`$?A)ON3`((+bi0LgZ} zR7GoKz#MCa!3q%t@Xdth%)+rs>*e-ij{)Rp8prTZf%1PL&)NA=H=_X{8P4uqSg-t( zu6kk3Tg_L)YAH!a)+1h-l(1AQZ^cdmRC5Dl+j{iC0-@(w^8mpj9@tZ$fG6zhY(d`x z6p!Bz*xa-KH9kHHw@zp4O$zs|`QN~=qtxeo+yPEwB3z72A{W{#!jE~?R<0Wal#?n{ z_ZjDnl(nDZ#NdiEQW;2b_W|ZJV7>u#F93v^7bT9fx5uC8bag$~E8CsDl#{@N0Jsw?t>#^jVeZjtZ81mr&&9=H z?tHZ>OG8B6w~k6@cva|VjQ4=JcV==d6DH|ew`L7#Nv~{K{+?7=B;__>3^7y=wSJhn z-`~^tT%G4-^Pi1K6#wIZL6I>R=;5q{`|W56Y5`d>1tHkcJg}lJ^}3tXwv08flmo_7 zRvQp0Zhd8aisA9{DCLsV@k@q?+5#R!@(t4ofUSb565tgrLljiHDT{T3!_|h~<#d8m zRy8hM!Fp1W01#`RGSsRWn`CW{){)179h@UgU{l5|f2K(?@NxDR1)2MXloddFdKyh_ z_+GCmEFWOkrz&8_ zs}}iBg0!|p2kovdFa+$v`2F>4q@<(#2S7Vhu_N1+V^C%_ZXM?=CYy6UMsb2xkFyxOADRGN^#<5dZ|!r2#(F z0CO1dPe}VI!Ie{PVV4VM?D?=P#8sHZcrBz6=9IoyBappssDs51R6Gso+bcE& z-}386J#z^s{7Jc&78 zeN}(KkENOBB)`2$ngGV1=x=K7*YfaYs{_}9MknQ-1R|Qa4>4LqPfb&3FwnLJ`%_U7 z2ZcEq%3W!iSonW{_8UgT;s3-hfM9leezovv3~(vR68Vmm#B?!NraVtD{#aI{y$3KK zJ>C4(Ps)#|bCp`Ca|JPzTyel>kJ{?pJd+d0Yjr!%v1X(_coqCIyV@H9IVYbGDGZla zL05VwqEjr>ci#udGhgiW*$V>n*%xDq=8r#Xt=&Z`alW=x4K>~err#P>qjb9l#n;>r zi@iq3q4HMp`_?kT>Q$vAjGf3h-^e6mHUM50z?lKyY7H1M-x~T?9$@YRrfz@-lcpJO zE*4g{6mUM<#{c+Kmel+|k=IIBV__`ru&Q?$FFAjp;3^~rbcc~TLVSCwxOm@jh8r=a zedDBjThT6KtQzV$u59)Kn&`E}GkGh-=G4Sq?P1*A3hYh}IMb#2Gk449qwUucB+C4b zio7`MY#%@G>M;GY6R5skkMG}dwo7~!uZB-tByYGF1f21%HV2AwdK0H*WpX_aOEb(F zDRaIU4UxsVxQ%II0i`v-vk5EWjW8Dh+6I8ieJ}*!=}-4pEz$xtD^{ZHp1@qM%H82X zbJTLC(|;POay=#A4Hj*Y)Y$iFko^$2KiJAAmDUsZ%uee>Ng( z{4CF=OFiB1v(Gw7v$b2@^_oM!2b~2GmAJwI`|O(Ak_k+c!_MdS`K?fw6Gx{b+9ee& zmASiK9VrPVocl2p#()d(N1mU^=%c{)7^~Z_e03Ib!rQ5Pttb@88 zPAyt}wS(KTsa^}+syl~(sv|#1Y(>E$jptr25$Gi|;(G^_yZZ6*z`Danco7AGj5j@Ghz4q1WvpCvvPkw7PyVGAz zy*cq~O~(h3y?MnqoAov5u_6^_K;qN)J@i-ysmndHl;Gbi@=eCIma2;&=@akO>E|K2 znTgVjFPi>=S$fCB)+NavV`FRdB!KP&MCK%u+!}`{(i~bQ_#2y(;hQ1Cm8}+gPZ|3} z68~3C%>O#~y5@s6WLy^0<^Jfa5>+^_0>{cpRZHcrq&4$hwIxgMe9&am7Eu4MX;2WS zLnTXg2iDtpsBbi~iP0x=uV%q7OE0zG9bo$Kt#`@?NMP868j|13XHU;>(Z-eNrR1Tw6~D zHQDp03wGOF6uE5y@k7`o$IA0Kt+STst;Ti1Y=5J_D}!5lcf_Ix&MWpc>&B9158~Ho znKyTDmdy6lkhd>!?|2^oG4Cdw_0m591{-ueP&z<#jMD_0l7` zj00BekGX)2;-2F~J&9xFZoqe~vbPtg+L;6v&aSEpiR_j{izl^p5P()2lsR&~R5I42 zjp_(HHOrYbb#fyP&)MA$zrtJ_Ua7btT5N^~y1o_mK7ZoL=8d-bX>JX$;H;L-+r$yx z0~w>E;N-V9f_sUNLUUb7VD-YZ*8BOL#OBx|@c|vXIJ+2h4jQJLO0|sRtj7Q7X|_`` zVDSIjb{)(&sNsaM7v}`Emv}e8Kf$`q+okhtZ9Rc?_oF2zXQkm?4n%{Em^uv*!uiLv zIXVrLTO&r$^tR52zO;CsgQE6BBaeLBh!6Xp6BGxI4E%qN@}u(&YCL&KaCoZJ*uxvE0yhE{a}Ps+z_L4J znIy~?Fdd=Ow-vo6KKZAVTZP#Z2&uX`=27?=JZzJ7SOv~0RPa%L2mLI>SncqRs3QVC?xVdZ*&!S7zlru|KmQ@GWD(DUt}Mzy;m(1 zl{5!RF0OJTl&kMduk#s@ZtKUapg?b+r(xP(5mBb#)OnTX8I~nV^_mrl-OwHvz>6I>|EYCw027G9umGGPWiFOFcjegm*tt8t<{|-V)#OHkeO?`V}1@F3pnK?)b=g zx;M_dqw+YpYQT+?N(|1YpU(ae;@ZT$x|RaEAqR!JQf{f8ZK43LDrV~yn~>roP_P)pm)y0Xypxd(r2IKqkOM-T&Kjxj_8P{W zKgs$}9(BS^NATGwila5K6^v(>xJp&`Ii$<6_Xa)83_b}UMQIi#%{lBvGpJ!)geGR% zjJdxAHo*STmg36WH_TT0Ca!(#*Lj#!y3sd`F-;Igac6zl2?Y)tgqOD)0evCCtDxn=q zEV&3m^$s9WbozC^M@}-nCThg#l?tC-*YlQJF_OgWMW%QRSn>pA<<3f+XCANQrj<3F zG`lJU`ZnQQ1dhtu5j1pUIGs5#@q z-JWY_%pvC>9Y^^c;s3W|jkh@59cBLh%$FmNoo=G7o#;jJ;L8Ofm<2nwJmK*Nm-M<9 zRw5i=hY?j#xr8VBRZBpC8H=c!MfNzp`%FJ5bP^xCRAcRyb$EJ^iJ^5nXH(VNpG1*3 zI|=KQ8^3Qg`s90XPQ}QFZ*Z3ju;LFx5=fu|&&=D!((cfQkoC{yj^m26G)oU;n}(dK zGqRt|OQA=&YEvhXy$-4il4pUznQShxgZROZc8=u28_&fzNZscExnY>V!F{nU`*1)T>rvXkcko#VrJ~Cx7LBoQ)wjz6tny|@5u3b?E4(o55F%K^R_B?U%vdGx< zUc>$34vnS^eyN5bk(-o=%epigjP9Wxb>C-uJL?|-T&#^YQ0HS6mhGhm63$E)?=OqAE7dlUXJC`9Io?)Xyt*;IHEjHg3sw!Z`o2jPOdNk{&q2 z@d}ro3^mwq$w;;OzJ`dmhX{K7NZ*Z_5q+^DKM0V^rz z%gsbK7Ox#sZ-;ATsZQlHjX2AcekF^KZ#oWx&q(*c(@`q%*=lyD2`yYe0N%$=!iIOy zZCfWkHdYQnSwkH8io~2CFGXm|LeUWK+$Sbe_y*j4S$Oq@sONs$^ zy%!WHq`n_-euOd1dGlmWBYrz-Q?7K8jT^>>Oq;II|&c)biv72>I3ZTtIjq@>#u7vc^vP)QO92XfVDO5-u^L{B`q(? zH6(NOlaP*(wBV85a~f8bAxkk;L_4xeUr5wz~9aY!q=O z5UYfvAX+^n(rHs0u`F0;+>4Y{fNR&|H`4J0$MoLM{%SR#GAjbd9z?ep;`fMd*Wnb> z@7d4&iqD=)N5(e*ADeoM;wBL|kr^Udf4PRMbCpAzzdC8_y#|YoW;d}H4*J8>Wcy?at8Y_p~BduR#6j(U_cJtnM0QvY@y|Co~{Q`l#|KA|2c9s9Z?Jto1nI=16a z`En}_BE1{j2xnet!bA3-6L04A%)F{Sjf#ER{*Y5MNSzt<^v%7Iv z_BiEiVlMa-eW+(yK`Ay~;p3wcv8_6lI($i=l)&`%HI&)z! z8S+yvM@XnS4oWW6CLg)TWg*TA=@HvZ#9fs~4$QepB*xV83ZY zML=A!T(SpD7Y z@4ug3)$z?I@3RmhG32X-F3eI3WW@0V`F#pt)5vo>evHMO=YtZd9nih3=Nx-%;h}LR z*`DO_49U8hV%l)AsQPWvBBLhPtX`_9Ljk%364Og`eJXP|idfK?I_E2EyZrE>nY7#w zX_92>&t(tM{2Y1a1GN02@sFu5;y@-2r*YOl$+qiC*omzEmf3moBfMDOAmmL3tsf5)_%F*vvrSm(_)J&!WaDHWOVazK62rmIUSsVv zMC*=Qxz9@O+AaBaWGdj4n7K}KVd7COna$g)IVB2~T$-QK;E-!WTK^_Qnvby``)W-+nvx;}sZpoS()A@xb*B6C5=JwE-a`+$|OCS_7#|K7!x+@UdR zr&};^Y}U!J>ztY3Im>lhS4d0D7D74JaGGQ zWthjcuZZ9hvIa-N84X$Z!+fCXFxV)OF7qg$ZS#E#pOJi)Tw@lY*%Q^TC344-xiu5# z6;H7IDp~j#5lrrxF7$8?#<~ZVEUtGRDFX-7q@o%X)sHq=ia;fmS}<@!5ox9AWQ6a0 zD_8!~(zbiJES8|Tf$q3#`#8ATB(tMB@8Nd1m8k0K(b^JhAx3=AF7KBw)-tG$kPkBN z^IcUA>{a>6r6jC1N)oO#uUK+5$Kd6OZQ@90mv$*G9`0RYde{($aI{AbjZ(Eg@k^CikU=9?HE)wXIvG^Q4E@*1L- zbY?S0?!Q#m_RW)Y)6&cSmaDyni)LWw3Q0}mZB<5AHs38%>^LHAuw9g_&%$V8&WlB7!$q}O}3?| z{dSJav(OoDNltev%&>3(hI6ljtf6Tw|M0I@^6hC~5!O90sP|s|vavi8Z89Ja_@_$_ z=?Rre55FzO^lRTOzGWPGi>uem(Ovv=MELyrU1yX^&lM{VA}=A>0MqnRb0ZQ4LJn2- zRV99T(T)=Jk4>~V)0xtg(iq~IekEPvG_R-MvKB1z(9~-hGItd9uU+D0H35NHFZV~c zwH87(?wWv93lmGKu^$kdXMVwz`i}#hWqYy+T>k0=wae8Nz!GG`BoGxi*QXZ{sv;Z%Sw9 z<1sebc9Az)KtOOl6ymH_=lx4gRdWW_7qVf+RtRsR#sS@4O#L!c+!UL}}B zaa+3d8l)5sMU{VFEas!u!4Z;%2p$~RmZL;jvuDH~P|IjNWI=Pmw*{8zC+3FK^le7a ztCYTMcI&dNbt*Y5TxiR0*@a2q9UlPDQg(_}t#^^2^Q@PPR(wWtwu3rX=%eb4h$A=Z zB}oDWXi@giA*Z!vmmDfv(tz42@q7@OTR}QsR_f8eKn{fX314M*&Gkxh94SLX+H*c={Bs77_$6TD1EmsF>i~? zm~|%}GbO!aUE1Owc(y~I`d(jQ;J4iRsD^Q?*<}gPE~yzOsok8=f~Cwy!S?NF$^QVu z?fs*a6fb{DC^ARC= z#@CU3a)#>-4tM;rMa|_Fv29aFz2An>Okobz;yzWb`@E=%YR+T}t3L~_nSRmk^**Yb zCgWaLOnovzV5sX^(pqL>s-Y#+<W69|J z0r6@_@9t;fhcl>Nb(5wc@qLkSft)~@J{DZDRW!e3L6yfBRrU(i_*JC6AsPN8>S9`; zCLo!&BmN1>_b0YLaWY`RxxBD@wxEiQtZyKt^N~XNF?$r$W+MqtwRaCq=TrQuGHA~Z z5kDX$MZ(}AL%DhfHl)P9As>-CQ=g|V>8TpZc~;-GU--o`az_W3-TL)i&P%l$S0$Bn zcu#R~JH3Lg3hNnk??y6a!FwyRuIH`KcjMMT80=b^k955kPwXhJya(J** z_iEOkbu?B&>+BcZHS_|yLsR5_iDJ~x8IS%FfYFGZO{Xn7RP>)Z>@ zVy~iH4?$q(CX&dnI+$Qm?Ka}z%1fS_Q^%JG_lxDq3*WTdJa)UlLJR~?@1f_!Q!ae5 zJpV(fdo1*$5>+2|V#b zHJqe2z6vE&X?9zok#bM}-FLE$m#rC{IMC0?oo?N+QIT5k`@t>Ks#2~Y`N0oE?uv6L zE#l$_726dz&b|oqDzd>dI}%wv^$dm;43z=^x(GPx!#-@qul5Mst)_rkwofLo02C(-q!dPUG-vR)r_2_dq`et*?a0>xFQB zliv)RC(A?M8WVhYG}tyV6XSX!bbRXk8V>wE6yWna2;!je?Zb7z@1ofbJxuQU}qfe z!&lA($cWfW`TnrLaJ2k%uT!zY8lht#tpueX=c!*wl^$v@YG2xJAmPUdjmY1*hS3lO zk9_ZhIp1Heo|=X8+LgB9ubzuiL$HnT^T1z5hwFQ>4jgGTNjllN) zK~Eu*a0=Hmd0_Y)_`ct$<}|RmyKuTqJDm4vA2Qp0EvoMLmyU2#64vo8O0=s#q*A34 zOOlJ#cgDS!4^^QP>n(`<;Ej0$$5hWBNXaH1`8CQY_#y@W+d;jqf$Q-{tvt$tT#j14 z_y^%nsR~&?Cs)F%;(Uxz7Juz$Z!!PP zl|OmGe&zNvvy_r2E+U`>Rln$;)@VFP;Uy%7v3%;^K&tCWzyR^hD%3F&H47g+lLh zR_1l{bMF57Z&N79J3@H*Oo`f*y|OC#Srosi46$&k4o*6$eE6*?WmHEvB0pxMQ{{Yv z8#c$IV&g)>E2_d=IE4Ol{nWK%)DE}M3s)$D>#mDYa^wPR1H^@aMsXWtNansrKfwFE zAmhBEfX>-LD&La#bKoQg)Uox%Eno)e-Y-mmdz+CvA+TRN-@#b0@)~#R{$4+B%Ynl#9zVbSvA(PR?&n^M+ ztv}^$zu;C&0?^z$nfX+^rg3#kW28T^nsu{{U7s|v^W_hU@PSA+AHBd-9j_o4j7>;* zp?gB%{v1p-liy79WtfX`$oacITY(ti3+RQ!W8}$bm+GaUzjtNqlf%6>^+zblclg=% zFxaP*MAV%Fp=(IFmdx)&aNE`*5%ue$u~uU6ybz$E4SXX^FQ>#p3L-B9(62kirna1? zkVoGes8mW9eMT44bsUD*fipKpAKH&Ym%(2sZreg3>ov2HjhL2hrt5b{U>>Lp>B zPA%DVji3l|i)5aW?|&Bv6|j%zg&4v}kn4d9D=aqRj)u*%-?c+K1-@GN?oR2Qggjj= zbG}u&Nh=Bm=b-@Fq0Zj_;4orx?k?ClP67HOwezU;VId2O8UMrUzPX|mcpBB=pkgzN ze8&aahZlX@D|+{o!iT{dIY=NGpUdZ-+B782-vi0Q3O7CuEn6S+NZQMEgAAmc7@|zM zxuOnz4>03*UC*6Z_D&XN!Jnc0E=C3s&;4<6F4dFm+o*z+-ccI>)us!}bY{uNrZTo` z$T(<~g$vZiI~M1f7lB!m_)B&M>oH`?lWl<>`AR6d>m@Zauuc(S5ZNz;xEY-7PVaGF zaxUa;?(87u;Y5jwQR_S`2LBlr#GB>2br-%}nu;4C2(?mfW?VPi?!qj{T)i>y3-?0< zq>lGCAEr1uD$vvEk$Ak>_t?#(HLQUEUUDb#$5p6_V)(~ggeaHYdh}jwSa@OBB1EZ_ zMI*wKz6~#w(f5c`n{u8E*?b7dbL8uPbUvt}!-VMfyK_J1vGjL9d7_-JBVBFVCi8!6 zvf#pLv{7)43_y*|!q%3O-fTM=XmgbE_x zXT$U7g6dX~j(<;ks*M>4Uo7nsY#5DSaDdo1u9Qb*=AeXLuD%u`g!K_SnN&wXb%6XW z1a^iI{7upoHuOHgH$mOM?D1Wg_nXmpFz@kVA2(t8nQ<(zsceQ5TR6y)g#-9!=v>ETr@cL8S&#-#=eV zx$$F_uml#>hd~`cVUjS65NB}-LgAoV6jHQA?n&#>nW0}bOPJhu8?z-FAh--@aobt< zXYaa`Cb=f{>qKuq@%!YWJZim(z@6t`S3wOqBfVk_FT0rgRDTO9DPl5+xM@h23~;tz zzk?q4hw&EfbLagLriY9?NJhL04m(2a^9)z{9zT1$4gH0S6jDHO zEg8`QaXOh2uMJD32*H`MrZJ2;bz01>z*?x*zOs#E2J}=$`o{LMAq2a=#cr~lD*6uY z8BNJcgZO{C+KM-1Lc3ln+=7OkW9p6)0HJx0PL(eAxV>P3b59Y?bWb$OkX zp|F4H>xHkV_Ch{aV@H_j+3NMuAN>S1ex~8-vRgz)4^A2Eu~n~rTa2(Ng#Cp{oZ@dz zML5P&(cQcM#0Sjk+49Pm3kpV`lrD|YPd?s_Ib5>q@_%#GRpX4^YCGz z=Wd^!1y9V+-#7{lB%DqWUoT*(Lh|#CAa!+TD^GW4)>~U!e}5H;E0n42s@=7+qg~st z#}jh3SFg;J$rD=0li=@v(d3;%*6s9hEwC)fI{U@rE${8^&Eve@Y3A;Jg<0*rdG>w% zQrI&-O|DFU$M5<8rLV7#^vcuA%PLUE8lMW;)zh=<&%a->xOkUSQ*#3MSKF{%x;2AA zKpz;ANAht^@hDW^vhUxsW9rJw-)U)S4Y|3y>)P2d3cBqey1TgeBtXj3_U6mdcpR4p z8yXvRm6XuOe*QFFT3TX$|32f#;NZ7kzf@YB*4hhLSXjhkY0~GSSCzXv`oz|v+k5zYee%92|YG`QS%uGugFf%t_I-0Mlg3!m8+7otkO!4z^ zbEo6t;CzdXMfSSdQ`AyZ>#sHH8Z9m?*2~C(>|Z@+1c5SYJK3xQx~W8x5wNqiAqcG z&)q;L3G3?W24*H0b&Id)MOs){H5?t;X{o66a&mDkwK%R2fV;%|C=CoX0dmKt;ApNEe($JN!<@$cWi_Z;UH68enfj=QLUn5>oQL!4B z6Gnl(oUDG4LDb4OcS(~OJ^W>L|CeY*PMCVi zzb6&?m3`IB%<6v#*(7l(50N5oQ}W0f7V?~b94RjvYyw?k!Fka zRK66wAIhgxG7=n|IhW%FmYR*l<>k@J%F5pvOxnL=ahbZQi%DtLBps_QS?`XTPk{wm zT~niYoLvXZ41_)h@>#asdmR}$7v?d9kWiwD4*1!Eg$W-@2VzS7YbRoC+!Yj1<&~AK zvFVh?X{r2=I<-7{cm@hP7H^IhKgpHN+>)wqy4tTEH2Ylq5!Ke#_73Q-txY^xX{}3v z423wi=-5*qy$Q}Y6V10?#X=w^*;R24d3U6IE`>#fg<>$zKeYY*1*>XmERm3q6qJ?O zK0zE{+fKa)l&6=FvzfR-CQ1^@dpkQG4u6M+q%yOzhX4He^ZQ2}{!#)luYgb&u=X=k zQu=^d6@{fxP7QZlmkWGyR;WN&Y8o{*5hOh*^ZqVugV z2eM~-k$p`?MfF(SdvtX4yHc|%h@yB&VkdZK1iUaaGqY{Iyt1NeXh=FXK5l`6&-#pj z(?L5_&(6W2TE#)Zi&|M#rK_ffb#;CH908F+it6jS^oxOLtgo*-XJusE5Oig8TFP;V zIgo%8LJ+KlK!r3}HE7zk28Zb5Y?#xiRF`mw5C4AUJ}{fW_4+Tbu9koWDi0aK?QP9mX--Md};u8~(>FMhWTF?jz=7Lq3MFh#r zJwPLb$Wi*ip%0NAP*>U61X2>jk)B>u#b368QLE8!6|iWpsEAqn?iy}sVe#$rXA&(< z&3TS9U=+PB{zytm(4G4d6P&=m@Ec27Gnv$?yoI;rK*;b0vMenv9Y)g`$SLs2_D)U= zKWAkvZauu`iGR7aPkRKe)NM8H_!R zN2Q0}{Q&dJ(e(ai|FM#Ugaqphew<^Y~2e(8Q2&-m-UVm+)zfE=zc1zMuLYsm_?4l$?A_(3QpL1>$e z1HHYQazOTqjvo0y3*-;*bcqCxm_!xul(!QwGB7Z(C@CrVa<<(^Kt$dZb5r@nLn@1l zi**bQ4Wo;afuV44bTp;8kf28BYH8ug{PgK3FfifXkOM{fPm7QPO)5Ex;>M9+at^AV_)#c?<;Rx*Cy2D+Y(TjeA5eYHU z`-;RR%y&S{ArIE{UL82(6; zIMn4T4Rn(s!HuMv@Zkk@ubq{Z6<=OX?v!908w-m7T!y9ky{v4P4h{~^(1H*667X~! zd$AIxDl9lpuRGwOwU}gnVW9yI1@9S_Ef_vtW93zDg8o0$1dli_c~${Hn}??-ZI~S_ z7G`FroxMFT`Y2%8oWc!aPp7cxw>;A@{)vi$_u3o(WGt0L_VQ3`*by`_Ha2^n*`^IU zbx6?}fdCmvgM7wgGco`Ia8*%+ot>QyfV|>>^!5*FNL-`g_!J}VNqGF8nmSwQ@BfI# z4&-xlfMD3OMX;hTah;fwqDl+a6ssVmC`Lp4a=P5%?W_)j*enPPW6%a&F%H#eOMQLC zfKa}Ko*8Y(46d*302DK)epXISCC5-$7<7xp&s1fy;OC3>%1TDZqT5-CCgSxrI=5nY z7^FQnkX3v=5Lm6u&E3NxGyVPj*@!eZH#h&_PdvmZN;@b5a*H)h=1WvoQtHVF*_LkPyDw7W(Yn*RbCI`;7NWE&nH_6{%xW)--DV;S`(0DUwyaXWpL3N;2x zcpwhtu*EAi2JwV>01>B-?%g}PQsmg!Sm6208zNc+7CUhF3D`9J{QM4Q>s|4XR~ZR5 zQhqlH`-n;)6zS^g8;2LYKnK0c6A5gW3<%cOCq_X*F_*YzM`Z{u9b|qS5YzN%f!;$# zQ^*edd>}kOKVL6R9(XM+EZlV`BqYQr=^Pcl3}A1fB2=Xso%)Xhf;*bqySuxFIDj`R z6A;zS07&_o0x^O{BnKfrVx_F4GpLKyR9F99fMH-|wE{xVMlVcU_)H))vM2=Nb^q|7 zxx2H&&f%e>tNSyNO!$!)oPjxQ*%#+ew(sNp(G&q|I+Rqxb2Q!ekllQmo+$keDrgoFYgtLr75=Fls!d9K{>AH z1A|MZz|H&!6e3|cvA}au00A%zl@5SBv#jUm=Dy)FX+5KGdZI`D;X-U?lQR7j{;l=} zeh<-C6oGn=6Z|qgKi|v_44-DaoncQ<9vZpGbDhMsH{lCzl+|OId{)!tm!hIjT3T8T zfBz>es?lHb^AqSuNVX}&wecKy`1r$^56JI|;Tq=R6M=cjX7YFoebA|=>S}Jz_y?5# zVG1?1nXTrg*4DBlAz6ATF^x&rA5^ijwbez! z5H>=|oPHAbmN+w(uO>U`RvuEq@)mKJe8G|jsN(u zYd?Otw$|bO_O6_X5x^{iG1&H-6;8Cpw*3!Rp@_{@kdd98pJ|3Wg#bkPSMTVzI@y*Q z%gM`sYHYl+jOQS-CxK(%U{F4U2!m^ldnOafMJMCdCkywsF;P2rb+QO`R)95^|D3dn z7^$5f{yq@N^l{r~NCBr8jV#0_iglq6?zjPNXq?H_)s;x>AILz-!9#T`dib!I|0FB>-u^XIyKJIGHt}cc!2cEhQM|F#2EdAp-4AO2vtWfpIpy zZEI&|_VDoFaJ*2%g7~2uy6R>1{$jhzX}xoaj(uuu3_w|a&V5WuVR!B%zS9g6J0cFh zzqLB8elNOc1ENTa{bH>EP@Hmx*d!M2co$Ony~9Z)$GNkj8vTdcadB~phMoUqeISYi zhgrXHcNViqG$Bfg&YI%M*N6|w^`L`6k~!@;kj43%f0^bWiN(n!pf zX|a&Dmi|^CdRbXoX2i}7=yO?(-|O=h-Que}bCZK3LXn%R+6D7|tyNW4#?}~hwd0BT z8J*W+U``Je78a5Z(u40V$$d6M8G#(hN%e@*xr`Wb&}v5drPyZz!K5uS-7|g-#eE=Y_tv2O5)QX9T{k3aB-RuDaZIkq3ktH)DFx_>~5i z_aM@WXO~}B>>&z&2QQ{n={4rHdky~WKlHfoy+gntb4d3Wdj35H%!aOx4goQ@jS5Gs zwHX*Wp1ODzNK(dQ!iT_m{|7&Sa{K*d5l~vLR&_y1UO)>SzejBB(9_c^2eO@=P+e0~ zy05SAOCE%?uzEYvV9yWq;1i)%5@Umxevh6ZcQX@%O&5eSJPlNGz`x(i&Gz~xIDZGN zt$W3M;8VhOC7On3W;g*Xe4?Eq4aD8QKr!nu_f@s|e6*F4b2IJ_=U6DTtnU_a-RtDY zhzS6w{{pq-Kj8c`6r<=?`Be3*p`^snvJ&0DaGsf&$x5*STniZmMORF$S2-+zB;2~w z=H_U=`O9GfzrltrR79BLrxQNZpe+Z>I?GY21f#U1AioG zuC%O-qgn5zsJ7Ors8g*C2wOl^;}V$%D_IX~^0!p2f@;^u8h{qSmdMByaGR@KZ}AW} z1x3Z#m;=0!p9zqBpXZBVT?-2u6x9FI*m=iO{r>;|*n4FidzT_3JDY=sLL_9SP}w8L z-W+>WMmQpcvdKI+Hd%?RIA-=Z2iftv&inoOe1G5D@2_9~)J@Vkuj{&=Us{_Ct|pV=HyB` zfl5B@N%HP^u>;PkY|#1H<)wAQB*K_*^>SimVouT?krjp;0^!(fo2LVOc~9%pEPy10 zFAu|{4fub+x+TW0!#pd+;}d=FM#Xa~R7N5&Xk-wvKa`A{{hD=YaJ|MMPddkSOVrWb ziqNyJc#eMXD5&5!U3iNJ+mZHj1Ka|60i>j)JUzc!^AKxvus6A7WmbHun*Dpbl9H1B z{r#eP@+(`nV97u#vS3o$$+&KeWnp32@(g zcS^G7K|aVRC|J3-G|hS`c?YTN$IijdF1@=CdWzzj8snFBCi3kAv9n!jxJ+7NwQp3j z&MQLUQ&uRQ+*j>iUycV}IsCM@yF1a7EYQNK_{z}>9JJbC6|ePCGf1xn|Lz~qS?a1B zE-%{wt!a3eNG)G0mgR3SwvI}zCk8Q=rR-O;sQB2-%;d=vet|qX5+BvX{UJN}?@~lH z^{9a+Gtw#MtLx=FNznW4^wRtWNx8;u;9XEVy-I9A9g#u)BuqL0#N2!C$iqKB!Day0 zn|A06zYE=w*MRj|yZ!=wH2&#cN#`I1lA5S7GbqKS0s{U%2(LDb_=bZTy;s$Kpi}V^ z<|!#B_vkTBS4<;k4X6k-ot>Q)=yK4nfBf_bFDLQn$8X<(b-P^AMTFMTz@)c8cvpU< z`MTxWwQCdUlD5qehqdnz8sZiWo{ueQP^X+mf5k$s$kWGbArR(tTsJ$Gkj{8Hx;sr|)M_~SS%6fNhNp=L~t78?T_V+g; zqEw!q?62j-c+n{dLBd4YhAYBMx}Qr3Do3xHgM^g!b!Y1*1~Z6HuZf9z0=qaD{-18p ztN9i3E~Vj{EXw`^}q< zq2!i!n$U+|jGuFAE?^XtHmb1KP|?EXzkYKz1s{v?-*i(fF?sy>@v*_DvS{Hqh?>mI zOsnLT4L@J7Cvj543O!$4F719HGWet9(v!r;la1dR`RYKR>H}f4p`js2;}5P;0-Z8e zW_9tJ^A^L4ixp+cuN=BarDI#45JBqqH!M4zIXhc+5@a7X>FMe|1!^L*u$Z|HtO_KM zEU_AkEt-Bg=jkJXB~MCz`ee`%a6QjSO=Uq|p2r-CAj~)$qbwE3JZM*avHk-Go0B7j zTPXRHf)=t5w&Kh3+$5fw(LGL^6BR*?ptH`2{{{Z3F^~z2OU(Xo+|Fj6)yZA=AfF$K z%C#;Dt_S7WOo6qtt?gbzp`cspsS9~k6D>(M$A@B#5VjV7exvQ%i%0!BM`v2$E3Vn>bMGf@#JLC1F$jC_UroFK-V`ES|gAP93tfaJq6HGXU2s2e`aaXGnsKuL~@jrSr z{t~=%Q7Ng{Aj_XTf*b4*emB%#!73!a!}{3U+1&t(?Z^CL=ZP>S*IYBHbv}bZOnv?F zKz_a;UhFe2HW{W?^P%W;RE%~g3JFoa<05w!ZQX3s9_c%(DM}Byi>go3yO=6e+KHn{;8>k z2iR~Vf05LrJHKyn<0n?mB#@64ck>?CING%N%z1-%ja!_ovNy$_8Zpz1j0{m(+0^T% zl}oCyeYvHE**0h*!!U!P;mDW9S6e6EAew=b{^Q91)hpS%ckkMQD!_4fsW)D@&X)%{ z^E_N2je^ARug{>lkYd{soxrLd%!vAf$V2&0pn-Y7FCbuQX~~`AEp?kU&74$Ug%C;C z0gp!Pb8&H5wYV)tc1`i=np2|TLtvPIHp~dHM2M6aF zIR@QIe-S-*A3c&wW>pBKOD-hwq1~B96f!27td2CbdOPC#0TRcH{ZmJ6^4wokA}2Z4q&Z7ll-=FeooTp!k#!dM36b%@N2X02Lpdj$37->*-{SwzBf++I>(&bFEV>`aAM16 zN=#prhNfn%RmiPX*nH00Vf&)+q~M&PR)}8=;{1#8mkVN~Rp>Y}++27l^Hjqi^S}dR zo`bNQt$xl(ML}Uh#Ugst+tIOPi`^B#s&I4LK~ZSKr24&EEm)6b4#esL(DuK6>%tof zwY7(OV4HkwyBR==;Z&dSXL-Ty&-*%O-laf-)Y)h^RQJ?x>8*FII2n;X(4rMzd_57M zqf2y26So>ftXfH^ald7Ix-6lVWsNFsHMeSQ7VR9ap@iz?K+qSE#RH4tKGS)VIY%g& z>?qy!80KscY&3|7mQkl~L^PhOlNYJdX}J?BtQ~87lx=ZUr~76r|IVVA<;~)AxRMUT zr^gYW_Xgw>UJ>pn(9HRy-z;-kTIt|{shldQtttmQ+|L8L^)i^o^K@w0f#q+BZ4-2a;I1 z602H%weB&_ExHBIYRaFU)1LwB=q>badoUwfaGjOQZ125qdwn^RK!UI z>#+q?Ba8&I1yQvO?Z++VMYVG9%-_ntx-`U?GZUBhbHy6lM8N&Ab@g8R#cLaR?5%Oy zO%fM%mF)m{6Jw$=GR#7b}aLeTGXTFq%RV{|kxhuL$q9!3@J(Qf+) zT3Ac*M2_C?|NWdVrh@CGtg*b#Opdi!&DHD}LiNER2WWr}q*?^>qpyPHm*nzwlh`%L z!tM0&%a8zRh_Go={CET-G#P6t_rxL~iRw_t@=P7(5sGV~(;vs2w6LZ>ZtFqD;CKjj z2HPa4(y}8~tep|c%G4g&RDoQfC>_o7dZiZ8&8XLNtUFD-vg$WB=>q?w;F0!gsU2LB zJr@(Mw{T;@HI;HLDvx*SB`bvqp! zr>}Gf!BjCt_6WnZh=#3UWOp#sv-5YduishGx4*ze&*hQ@Pvztre|=nD+E^ib*V-TZ z7!yYd=^t=4av^MXxuUive8esYb!$!vDN3hG{Gr?CKRxGkp9RTGhz=yE#1Y0d3b&$v z-OrvmR>EdU9t}pA1YufcI2N~dUfy>ZcO7YmMuvIE^3F!_#de3k7CKXbI47;OCRL-6 zTvVENBycy#SeHo-y*CNVlNgs=O*tIXPIPvxq90Q64Uud74gz@lkG(q088rrd&{ zQn;{YsqMV!q(aJEwkC16(AvS1EKr7*1ZWQk3$hIwrMY&hQFL8vB0x%|g>C3@{ECMr zn#O<5J7Yut!u#RkO7eiKt^*W3K_q>trAjMdL>=`uC~YFiyaM7Ry9U93dVWtMI0Vktym5Q>e(BUTa~N zyQm?CAPx$WZAe%sD|Ui{SDNci5ChX7zp&(XJqcPK8dlLjX*n$~EE$9nhbRo+PR}Ik za*VB@Y130Y!w_Mnp86-Kw(|^eMeVSYo@a#e5D^eB3=1hk64<&Fp|dU#vuq)7#uOV9 zR_IS2*lwYeR_hn8W$sc)Gt&cW@&lF9t)MT1h zp_-D=g@7=ug?Wev{b;veKh{SF(tPF3q{-R-C5=ym&;sS=AxhPH`)>k-(|aD5l%#1{ zy4nt7J?4j8H<#I7!AZ&Vn+UKyjgRHHu*k$odeuL~JGwj`iyjs2QznbvUGT&PRpuI9 z**Ib%C;8xBEo@y$`MEX}%wg}%(>x@li2T68uWGAqd8C^7K%Sy2KLg7ZnXV|ueLXNr zW|L}19!kfu^quXDW4P~}iAJ@#pg5eo+ZAhH=XjA$<-h9v!RX((D`720*iZ_ou_I)o zLS`ngNbJy>P?H3YGB;~J>e-0?W~Ot%S?X9{U?)N^$5dA!lwc@mJL%sa5o6_M`C`(1 zv<(`M3&ic&!Ap}_FooL{KX#%=35B6HV%mhWKZ)e+48*931rowmc(FhAp|SVrJcif0 zT&t6NBfrv9++d|939!i?4dq-9+iyt5%~JJ0G+X+vJ2(GcaU#c@cFFGy*<1PVNuEPz zRYNjL)z*JaPk#>Nb>loSQ=3xz6zoSxcrKc}w6o;|K6rt;K~GIx2zvL>z29A89`f0n ztWqc_)l#l9S3LIqzMY`Mhf}Y=OMZrjvgk*dqJ=wO&HocsS^D4p!}PpFTg40-qs;-8 z^UoK6x|<(-d?9Dey$Kxn&e>Vj?*HN_DGBQn4!v}TOb@7%8B}L|0Sd##q3pXK0esPf z)OUk}gSvNDAD<;epP81HmJV%ARD?xDMO6XhWO;iV6WqqxP77 zE-v97FleVh`Cyor3v+O(mUh1@wBG`NQVg(0A`U$xi7UkW0!thV+EWu znncy}I#L%6P0fs^rT`+Z60+f=K!6KGCM6}Q>~WrU2P39url%)xi`|nAUK{L=j*bbh zM?2Q!;ZHm`o+Fb0fpF+UeK$?)nP9f6TwP}Uzg@mJ#qx`gP$<-hTfsd%TgfM-6SOw_`}@u-?*MxOq;ExM)J>CW?5&N=r)%k4spYxSPz4Yxr3C5gaK2?B~>7Oh>0`Y3V6ISAIGlTbY{|yG5M> z#{qhKrQ~|iUVeufXNe)OQYw#tUS_fV7x*2vg3MEpYk)~cBEz9@U|cWjb*dHPcPS?1%U?$X$^NJa#-2e zdaGwb`k}T!GA#xgEYMdfC>SsM>ploWBn-#{d5sEuY4g4nXinquKWK;veod{;8%!`7 z>rUj^dF2TF1H8)msHn;1+2smzLU9*$ zmy?yPJUjCbe2uvcLAQc$P)x0Q^M*k3=jY=~hZRy?CPqd~ z0&7_)SyP};zL;t7njQQ3b7uP-$GfJoTMSxYv7LILkcYKiQ%&hg9O-TK$F~$Y-L8L6 zygofBdV=T)_>q4*2QxnnN)5o|H4^V7ZEkK_$~gig0Kg!&z;w|qF>WFLXgxnS=ZbSi zD_y=EnLNtoM0uM=7%q3+mj5R5_3M!>dkzi`JO=e{PU|GeQ#)Nw8uy0C;QyQB$?v+s zqAzPc`6Vngv>DuSQwBEfmq%r#LPb}5pQa4T(0v#T+`I{#5)XR!Wj zV5Ql;zX8jm95|ucFcLwTV~TnX2|Yc%m2nKInz4D&-sP5a=}(?`9OUa3g$;(_hUrT7 z;;6^U;6O=fY4gnAs)+o{w^zPe9KOrW9w>AA6O#M;_r}IAH;?J+=Od*>M%TDgY6bE- z0sj!dt!ZP!hj$xT7zP0QHBi_7-&jMid=03ARN&ZMOvIAF$bO zr1&cB{Tk{bSRw`N&-SmWsVQewk?^UZU$u57q8`!y9I8x<9G zfmXf%hB#hVnx3AfoHLywas)F`bIxcKPz0T(>nalRjq^kp4)!~|vB=H8KGM%!w6(Qs z-*a$sPE+sv+QH7Zx44!+i>m-yK zC5=AM%HrbQ8lLB(j>H>LuePRwE+v;mL})!RGh+u#<~BSKn7Mtx!m{m(JC@>CCx9`z z$yw79EqkR*CGGa9WzF*)to)X3xb}9vXk)z0n@tmtH=5_ZO}b+PKHNbI9nn0%oAiuM zz&n&E6iRF@960?F!B{)~nHU z*5crulK&8e-w`AKROtio5l#QI2t>=U{rs9UAS-eJ+v*88n|PlEk05|&I0ockf_*}U zW1xwDoS{hv;?j*2v4*+YqLS0dfJab=u$#$&<*`aUO5KvrkPiPHD+R>2au&_QcP3aDPra6#B|TT zLxPWA&uE$BA(q+$S%wm@tqh$40-BUW{SpwNuQn%eACv|R04;g>e%4X_osZwHtYHrH z)O-YI6auL`qeLJbv2?%~rW*Q)#|?pHcQ9(G_x9=2rxKDn)BjpU896z#wS`gSq4Qqb z;B1SC#3p;rTy2?oN$X{)_;NZ2fO|HaqMhR)Q`W1ykyonFRH~%2(lpf7p@2c0hpXS+ zb;skUEx=##=U+U$0^7fmA{MWp3nSA*D)j=gLPo_3co^mu7A^dFO|a@$>!U@TN*`N) z6Bs1v$JyUEH#bk~F$e1u`}(yZGF8%F_s82pKG^>G{|fp%e|rQHB@8n527u3c7Mqs$ z5(1Wk^5-&NH0C&ji0u3>%%(5(x(M@IKW%MNvXc)l$BK*6`m}+lCnX^Pk3wJs*UToz zZ#9T0hU9;d)uX)QC;NkP2nd%&?L;mhSpZE}*PMr&EknV>PR0v!MK8rw5!1RO;MMhs1()NO9TPGn_eZ-YvJJ*Uxak#rA> z?YXjcb5^c!&v}^y&IMNaDu5RNujBb^?aPC8WRx@3{NpLopzWUWO`>(ht7_ zb&h8=Z5ANuSc_}n&qP~nkya5W%V4!W{;O3hq;H@_6aZNCg~EksiC29Uhg{Jwg7fApk=6q*FFkbxG$i9xA=nL2)IoX8B+FvY@mK!!E2{7 z;^KNA>Pi98;OENo+Vkt8UAT{Ow8I3-XHWWC;cw=HU4BJ3BskNKKwhN&w!_3UWzHl{ zqut8&#};$&6Ul#hYip|*@GaLZ8mi%cPyUeP&4(xLN5S?t0SNu_cTob~CK+ z-OGeB1P}@32nQdlha1`R5zen{Zl1Z>*yKiWlVOfpq_HbBHkCG@eXZmcG?8_`PU8I#t6xCOvkV@pd+=Y#{W9l;jH>))z*CaZ#RVQ+iN8ZHfc=xehg zRsl;mlL*4V?nm->cuXq#3i2ooxnErKU54x>B37rt%)#f*mR>7RPWFHMw$1^6?gm-7a;ss{_o|oW zL&Xq8Dj=m~`wXw(_X&80fO7p5g0Li=YmQsd(ilWWZ8qJ8?OYn>+1lKsybs(Z@nQ1o zfK~#oU=XmV-|k(wKwiV)XB?8U1q2X}9gyo^rPYeJp)~X#NiYl(1U}t-?xf|IS5XOa zsa?--pWsaUVB#ZE27}6){W~Bx8h-hi2E^X;Fca(X>FIu&>|4-PGK7P@iAlQghr6
JT6?sD~eanOY8(*Fy|2M*;g82*seZjlNWtM;ShB=BsXrNO$nhVO6#^6oc zY!kt7{nIji$HqCF?+{YC@qO9bR={!L!>LaA84#)2!o_?({uN$FJ#eROUJ(Stp7XQd z*&nQaNIZ}9IcFff#X_BGBs}-}=q!t1xButeRMF$uo^}ASf|GUv=(>+x4blKu2K;Kg zFgcS8H$&6r!ouz$m}hWKJjy*PBD~Ssw7Mnn?NghHn-D)8fFAZhHn&jA16Wbh!PLtZ z!a}PMC6oqCoUrhf!OF~JAMOm0Y73zLUe^k{4jLXdD0G@>X;YK`Bp88FcQ_&$)h*WQ zc;BMzA;XXXaNSo$hiZi_#H5{)Hq`CmuNmjvC6=`vKzWA;?C}NRy-d(Hxy~y?J&+w$lqN%~$VMr8DV4bOSdc7l{%_~6FQw4s)US6#f zwuerg&hh`2i5XIIFw8ebUbrKu*S`X>F=>jm>TY?0z^3y9F$e{@K|J_F(KiGP0;4n2QPd*A}|4CkhP5$0sK& zFBJDaZvl|78?=|0&^Eo$c~?&4In%s<9a)UGtZgYz?6+Fby5{3aL18$@k9(c zvBU(6p0f3O)w;}D3PoPvJ$!(vw7_wltU()FoKg>Hj$!+iB_&Sy+EDu35(ILvogdl* zgH;=5MJWGaE@KO_N=n|n;}|V`LsByNxd^YLiwkSZ-o5a|AtJ$py!AlYxG*xv=4rIB zKfn)LVj^#Wr!6HZSwxIzp|h1FNe-*(;n-<~HqEoWI}k_*ch+Snb+()6c)Y#Dce9*3 zH&ACCHF#K#lEuSdcsqC!gK3UKH1p?)m)mPdraio6e{^ZM9}pvATCNWtJ``0@IJN@6 zvuhJlj$k6(ToZKi@nzZ-o**!S;5QdS_L-WR`dfLLc)LIlFrZUB<<7EzLNTS7-uNG! z&fB^)aiMBp!u(70>US{MbRjrYFDosLwSAt$d*xfA>2>0g$niIxzrQiZ4}n_dM)>H+ zeC}mR%rqlb%ou?70fIxvGSbp`vK}z3Y%E+{17M4%b0*QhXt^3bWnbUeX!Y9fEpWW? z1}upEFO~4f6n75k0Pj1>ha0&(|IVq{r!t!$cMMZGgCj>K>DNL;> z0F$a&1jY*6fwxTKHjqeUsPjN8WcTFBZZeov8V8wCIZ}UK>u(0aQc_Avz< znqUtON*UvXouM#w*#ipOefrOnUMJwgg+R5@^0}yJI5kr&L`mtR(5QU`FRn$cP@`bb0^Hh);YW$CPt9M&rgx92B*g!sd^_<@C?8>?i3xT~66|cMsnqdL$xI(_X+V}EER@CW0`8sPa9%ET$ z)!33G?-TnmhUUM1J-+DYIvscrREvv?87MU|0f8`}Tb&W_oY@3#!&}=ugMaJ`zo+2A%)pk&Atz>t zi7zQHPs(`rE-;L#jiM(Yn7Ti$Zzx6%#NTnNpe8SX20nus#Z2#c0T4zPFkH+BDP&JQ z3nL;rMcj#sqrAklrPm4JUf~GYp>)Yb@m;2efVc-%_~apIHJ?fN?nMj#nwXG}M+BpQ)6UAs&x> z>Cxtar0+QJPUeF27Lp`sC)hokVraork89S~7cg9ObHgPvpwzx=$rk6a6~voI4PJ6g zaj_^3_^9xInO9Ie+1c5pMj_fwa!EciLjnXD;%7mzc<8QzmjNfIrZC}T%rqoy#9_~_ z1wR#J?@FgrBa^>4I)cYb^5wZRUt#p!AIx29={VZ^tuT!TC@d@n0I4s1tqb7LK0o*G z^t)I(I0(PydHcfA@o8^wFMa|b2#iK-L-s+R`3evE@9bO%#O3_aKN1tZRISD_Hh+ss zS;Qr71kg2&@gF}V;fU978fzMZivrps?uRu1MI;iG_AWh%>G-a=$gluI{60cJ`Y)$2 z=hZUi0H+E5QBj2Twi-6sovmVtF)yEAP)lP4sf| znaJPC%m6SNR9WL=&l_~MJ(#WdxN&cgVEJQ@lvQK)-V7v-23Cz38L7gH$9FTw;^L_7 z939WDGBiB_xd$&=;gDdFQZqCAB5Ao!K2rCS3DmxbVJA`q@Mcy`)xN}fX}g0`49?ZX zpV%zbtVe8lO;19OH_v{l5;Tz=U}a4}0HLCzvj^xLUNr>LVg(-hjFP;UD(ASi7V)H$ zHJs(^eOUDa%iwE4|Lmg4$%lN7K@=#;c@)5KeQV493b2FD1@sTj6eaFMnAYim@Yt;V zaOGSuB8wjqrMI(c@LbFJeO!XH1X~=XIn_5!#6sDziEzN;DZ8&Sk3tx*+`DOhHso0P z8ajq1Jgf~yNfd({!0Gjd`*B3vOp9JksjBjbR(c~$^>t_Dl`a|gdN=l#7^A^Dn3#Ll zvG{0Ok#%r+ki{JxmJ8R7c1WEjTITL=r&FD#v=~c$z z4*^>ys zG>?sqx%4${AiDtT(#2DeV}HqDpQ}H+prSbZO<3taq{*n9gm<=-J*|kC*tU!w@Cy3z zBbwllYRWh%#XPIgOs*3kUWc-=6)_9ySDcYBb#u>W$%t#*0JWv2W_xU+(k?k@gcfEG z3Em7g_SCm%!*(tU3VQnEhsE$`K;%*B(oRqo!V+Zb92#`B@t4z^+3}z{CJ^I1I z%#2IAR`v+6JeEqXb84~a{B!f>aerS1JEhhr91t$^N$e7~)~4Ylq8$*QWWiLAZ}4Ux zmfR4r`e9@Dvk6T;Onur@=+459rLSFefO#hH4O*v9l3)|c0 zfwyjvH+rsJ!edW85f)9pZ$IYemxHRf3aHCtmxc>^bebcz89Co56D*I|_owH&mH7b3 z=}Tdu^>~?;Jt(F=%F_ixQc-D;<;(hYDm@=t^kB1m`4_1Wv>Pb&!Tb__5XctKwu5RC zOskeL9b>74-``pGw${Q`{ygLRY9 zup6ZVnHaylz@TJoLW12FSs%mx3B?2q5rW7RPX%W-zT?W8E4WG~bx8(0E0y zCXS38{X5>)4!4*w<3+M`D#FJXGC47EMxJ5y!?2yjCrS~!5wKZsZ|*G*gGCGg0)G^h zgWA4!kjrgF@y3ii#_&Ze=xp~0brz|xj)?el#OBa;;r2CH18b4zZ(C8 zdjBC@eqn-6AScREvy@@g`4ZzMTdnV~+s4skj&{qRk!NpjouU`Z)DFalP2Y(_% zFa3%~y`oTh%Q~-s?DnH=9igTdi;@VfWQ#aPfg{Ml#`YT+ktKoPWGU_R8&XcsRcx=U zuOZR?oNty0u%c!T)Rl<{jjXJ!bTCnv<2sGKME&(JITW6ONV%+soHi)qeE>Eh5DGDP zy01mMb(%(+G={m^mI&>s+_s}L9Jo&sx55^DFycVv#}E|Tx^vLVn;xuR%y!uCmhYmv zv~Yvr_r&Dn-)BJh>&IY_wS&qDlGLz`F(i7rx3BNZ;=5sduJ{7-tHO~{%m`tGglL%> z^6=6yt)gP%GVn@El;|iapUBT%FdtbEtI>v0i$`RU+6)OY8l+}tTi_D76!C$|!`u6U z#!rbW(w&(4KBl851i_ywX7SmJI*OL-36L68Tj64@l3hdPr8?282>Cb6jTEOs=R-)Tp?=bBeI^%mQ%h3oX3B_DVzm2B)L<)NdSd9uCL;7n zimN)T`ulVQ_^9x`?=||uRk%$}NMr$SPeRRx1631H7?((@);&MljcxuzuC5Y}({AIP z+Y;gFKs{PG9a9_ zo#yU7;cUGKvvySu{}VvjMJ7j{+HUJHO1L}-DZ2+>HjSH?F*O)xf@cLZxL5HspfmVl z787?=Nza>URou99h;sBOw~WFFO38SGDkNYdHo67v@0VrhS8SM+sVzy+M>xi~1;eE7 zK9gE+Yg9JF&4pu|eq)K7I!|0w5z4q5Dij_vQ!EWfa6o5`vXaXv~UQxR2IOhzea|Roqm|eNE?ux#vjzY%a#ugd?{)r_Ix_!KlG5Ew?dJw0UO*Kbcz@ms?Owg?tYiCSQgIy8o7B zte>gxN!$r}LPL<`6wxhVnO;E9B@((U+gdI!B3v7Vb+qKMmPcDV2g|sIgj&*aZxNT5 zb^6=cn14ZM7DyaOjruT-t6&4DFdo$1(UzoWY~bHCYw`}Nu2JXUBTlG&hy<_fyw6KM z4?1g6Dgysj$e$?5Z8dBlIkgIy(Me*q>JQQ39pr6rzvG~^s6*s2<5(MS%R8?0%oD=x zDyk+!aJoUVDMPzVXPbTG%M}pgfa$=RX>5gG#hWze zS4h*c(9)OdXmQoe?C$bX)^d#hj1}txtK_z3Gpc4)#Ll+UHfMhtf3^%LoA73FlY}B! zz5%5AZD^Dy=X@jM(XpVc2%VL9_<}3L;3oSMM%pOva&lg8DCIen>6cwDA0kX2`y|d@ zfp3}x!kbPNq0095H}_GoIMXnxaG16K>kxTlDg>D(AHWegec^iO1^j$P9i=AY|l zZ9wCE)@@3|aDG8bE(I*&a4w`GWf3BT)I&KKnf-mvj+Ws%+T70C>4-#Fs$yHQ;=T^# z8eM4OT}Z=A0;tYBMHfVRXl|BYm}K!UYG4%(`Sle04M+$x6rP1OBJ{g4F zfK28M>grQ_>LpvLry|7e2jpY#IIafO=1!kibXw8$Njp>bQ~vDP}3 z&_j0tTwKy8c_FC923l1dI^vw}%^OFAJJq9%k4v@X+4H5>-0aRZ$%#mcr-vL+nH;iO zmusu*aE92Flg=ve_&xFCS!rh2kY|a^ykv*BiGK+POF@okLmvDgk{645Ft4yOpmFX& z@CFADS8$q(UJZ%EH74t0_HgwB?`7a!PfaUgk9gjKdRx&16IF5SOMg8H8c2D87njj%tlM)kEG4nS&! z5cIg$#0|6?dKO+Qk?jm$A$@k!bZ$}*!mjFWd(E?v{gwoSkAqNko)`V#p4pRaO^MkG zlf&qAvXw>hR$gpGD3UDEn<7vQy<^u3!7{KfQAf5qME+Ss)u4}#Zj)l-?B$yiIS6WQ zuo+M=kTdo~GIq%k%nm)K-m4ndBq=itphKIp+E%qrC3e@@wHfBb2kEgMbPyMZT%i`@ z_IXG8{;@FDk1uX~GN~#$z2F1y5Xu($degK@4b|IsYo4>EnMKo!Nkx%yww@f)MBmkI z4s8y+QSa8;5^y5#?QHU^=P>#o%&O2^B26Ta)ZBy{j^cpHXMj8m; z(?x2`S@M#RVFaJhi@H`&y*uJmR_X)jT0~Y6x5~?eoeE~utGoU!6g|2U)Q&jrdN*st zA?+ozTC<+zBB!`Wc!JFGx?um$+he!^>tOb`J*_YysW^Bmvcj>si|~R|Vl4Nl7C?(( zHgJVj2V8ivEQ@MW_-Ze?QoHtCng7gw#C@xVHu?D0pu0&va@kWxgsbV;Qr9FAXMcIk z?ahb;7b2%y(FWoHJ%iS9eI#dW5jg@8Zo8}Way4~08P3SmD3(CK1%QbUiDw!PjJEUUksP#r&ci}d6LU-xHm zC~2e_ra(lBw__|tIbM%5>^9Hx=LVf%4YMPml!i%cj&H6VhFsjdp@}xao|6H+AKHRZmdL*qTVW##eQm5^1mpaWftIr6Gi#;E+&&th zxnCdG`^=Ox>?8KComrevy@4}7)Kj+7&4el$;$cIp9V%%P$l)>mneN}tA%JLa8+DV5 zfcj_K&dCquyR`f-GE#3Okw%6UAT{cXNO^8L%#IKyA4eG*$8K?eVy zo~IVu+u?_!Itqptw5YVi+j`nlOPYc+zvjGMNM9#V&;5D&^5c4!@OZM8p)W_6S!@Md x(PO+}`Cq;ce`6N@t}KAs{rkuBi%%DF5R;8yMlH#=-yq=EZLRyTQVr|S{{ynSj{pDw literal 0 HcmV?d00001 diff --git a/python_games/star_title.png b/python_games/star_title.png new file mode 100644 index 0000000000000000000000000000000000000000..3824844f5a5494de5c96b8270fb05376a31635e2 GIT binary patch literal 93531 zcmYhi1yEdFv@|++aCZp|?iMU)aDuzLyL+%;gIjQS_u%gC!7X_3;0gLpzWd)>uL@=; z7-sg_dr7bEJ`qX^Qm9BoNFWdhRYqD|1q6aR1HSR!!2`c>4Df6Ro)Dd+wOv6Vw1I!$ zP$Q0IW*`ufqP3Wql9H99o1?3hqZ7G|m>9W}i=&0LojC~PwU(`Fsiu02C-|^+D=G^K z{3h$Dg8PnKMKmf9CxM260ukdggd%?xSGf;ULIRd}G!Ft38ygsntIUKFiL`>SPf-vX zTnLFAf7^Gk9chcxRtQBnXMh z354;k(Tu|Ng%S$%$6r8z5!{Q=4TADoKz;}6mCx*DBME;)KM_sWg9;3R>UB%tm3r_rc_@?b$m6Q(A6ASGsy5pBTX0w^&1Pr5G@NcS5BE>vCuh#cD- zA`Y_R2UX2zL`s0P*g!ZIvV(k}6=o2djHZP&sICRnJB@+d0D6Z4VpE2M(t}`qK}MsL zlwP2abP$f@wWh!oV-3a;1F%!+4FYXcd=f#r@0gttG&Nbs=%!`x8F9Fcp^Y;{So*!w z2|0p3p#Qv?1cCAraDl76dGVS?tC^nWj%`LWWIpMEe*>GC?7be$R62=(Ks#>!bFWOS zjYNU`@PYQP1=JU?RtCscwE!( z)w18PSM$a0ufM?a!`;vBU8*1s{U9mWKR^2?Z{>6PA?o=zv)yf`Cm5k^E>N9~5R`8MbD6#=%)KlvhL&6J z?gI#P-Qn2xgYF$npjGhBjOW{>@QYL)H7L+RCeaxLG7zU?Q5$a*9(e}>iRT3|)O{kp z?IU37g(vBQ+vr1nHsTHur5fxP#Sld@3nXzdqObZYN*6X&N6KKt`a^{DL$9(`SdtSO zOTT(6nxGTCCPcZP7MxTj`<^~GD~2ybY>;1P%=9bqN`0)Zu=CqZqRTnXVq6yb;(8xQ+w+EF@sx}&-l zLo>q{+=OwYNn~WYH{TTs(v++>YS>3<%mC0D%C5pl}=TO zRV~Z;%fc%x%N*5&i~O};BH*=KLqiO#$(Ut~B+=KXMD_l75$-xa5Oe z8@sulZAD6IidLm`rE;azX%~0Rd1-b@mqds5QxMvxkUTL|k8R^Zob zn(dqYj4e&@En9|a1}>7ilKk5JVqOFhP{UWzDoJ%n{awGi;C$5hxRo)Tbs_9GbenR_ zYN<7YF|)$C*NigBqYV$X^P<4b&@dm)$HJ)u1To-K|oZNo{P-j>mp3B>`&9K+CUu>i_9vp1i& zIZ$aJHIyYxM9`-oUFfGjK3^z$Vue4ho8LFAo_~tYYx{)zDei0a*Mq)l3ainx_-cxW zqqOOSX=}7lCI4Sbvk1nA#!&b6)ZLaYdq~A+J%Q%EVL&VwX(Hj>|{y!SQu)!9qhWdpU-c?ce8hq_k8iw zSV#4pyz{5~Z$nG*%2}|OKBkDsK@@nu{r-f(P=*&xeU0r&9gF1MPugz@W}V}ngRF?@ zF_0--OEbv(B%UR7a(Pn?aTYTjw1v=?$9Kx1%57$T%)!g>Ah+ib{Mf}FoR|>rELuS! zpVVx5VtHucF;Qh6+VDE$5Y@s;mW(iF+ZbO3r_GGiEL!qQO^0ro0inUtT+^awDq@^3 zr80+c>U^?sd_A5g>oWK49IGE|C$YIWOjeVbRO_&-%7(8&z}b5pX%82UF-!x#N}x5e znZbThvGQCqwZ^}T#z)>Z$e?fhYhM$T?J2T4(m|-->BjQ8zM>YZ_I8u;V^}t^5NBwhg-DWjlu3&b-81)DeFt|Fqt9tJ`(M`T@3Pt7b;+M??D)w-bTa zqy@#1j;xN1nl?S#whN!GCSQw(W8xg1>CM|N?<>5wrNtaR!OgB4AIFEGhr4aOO@9~K zm+6U)RZrTB>Q2Q@!&{N_Ppe{^;fun$uNy0u8v!=Go_RNO8&VJOp}{k+33qYmVsLTk zaT8&vVW&B~LVSF?!Y(hz&!u8BW-~N7_^$=86E*mFtp0x%PnW0X(&qA0uTztH?7tMh zob;X&)~*lt50iC|d2zBE+-f|X_jzu3l3o^Wqbu%zArGK?v-(?qr#f5ulth@6^acx) zcJpk?$-EBWO>$Fd6?qWIhZ+P53556>I>|l)JV4z)+!m|~3EXy8sZ&T)B+qqk zPmwl+CN*Rtm#`dNIrT{5CwB70TRPE}$bQ<5FtXGaTJ9vWFDiTOz5`4E9} zDdBR7us;j374cwyD#NR1U~%=AOIdd-P|c>vpfiRdX;dHCcdJ-KPBIqlD3-~S<}Fo6 zX=exDNOqjtl1le^XGWcK5Cw)8#-zMm4oC&AX3qugca6yoK>N z%&=)!dYzYCqnkFynDJvf+jdXa4Rky%e%1^bUS#t;B%NCq2B?xSfgLc}neyUH3!^Qn zQB0FjOv-OfgNoQ?vC^r|37Hdcq$%O0^&5)dyNZd*ccmI&9D)4|JWqo;yL?~Ati?km zwZ`%Jkxg^BQAWe1C`XJ)Lc6T@rf?~!Hh{$F8|Bf{8gs+KDP1g|u~EE9wW z@14#Z)2c%>4d)QtjbRS7#*knG#zRolB3^y2#F-_3eS;psTT9`0^u|aW^!uM9p1^Z!<`M6B63M=?hqG{ITPCnu zpB*d_5z=Q24(p-_?JOB|(Wgg;lb55EOGuW^8_tIpcTi>-sa zOd9cHuZUCF5{x6c(3c1!kC~7WPUiD8cBM?)aimKb9wtqR!q=sJVlt;=B$#H9tPf+a zGG!tr7#UUx%mr4j-+H%Dz`DG}^_*P{2i|1`tAFXbbhD84ERhDnG!Yt+av3p||1b^4 zZiK{WyR-M6QoAC7;gi{C-CQ& z8$EuOpC@(tzh&z6)_ihAq||KZkdbtXVmgRF+x6$`-*d^byx`6EJ^{iGS1PR^?^;U~ zy#z~)VrPFLp5!E6LVo_L6klDYFV5^)dRS~m#lo)}iC&E|88lxe58roNOu_eoI!+qN zN{S+zP!UV@c*^dvK2R@m%#v_GYe-syGm;CZBIfxqr3L=YQ`vcAx@s7#GR0$;GpKf4 zcH)A(;Ssm4Elmm(pk`CFI!9?E-7R-EzhctR!~t;n6wB%$B46)-3xZ;mz<82Dtq+th z;V?sD+Gm^rYiYEm(LADZHD!^f{x$)NpbfOEM>A|mmINFOF$zRE^7Lafwvp2ybYnia zDl^{7PVPUAyGdOEd@M5J&>xP@QPXwJjZ+#r(X_FCLKgm2!2cFtX0%MDpTRDjn9d?m zm5RGTv)-n8pPcoXZ?f=g?-RH4SM4)1@*%e(2%AfJbzZlIbO3fQGixV&SGgD->KH}V zmjXf=l09h?hT{`I^dca{sB_IxjQRdDQ9exW=H7YRk4s~gTi>*IwOtS(QGcbFk0+_+ zoq}os>T$0JP=!(9&MJze+5D)(L3!HlAtC(~0TqQAzr5D}T{MZ2uDPE4XcAS)xYg3Q3EHSn>=>Rx&BnOQk~6LA>J)hj zmMkXfFGY~`HbYqt;#SHL={N{Xpu%A1(ANQ^moX+EQ-R^wbBpR5yKxBwHU-Xsw&y$z zI8aj8K)(Sfeu$j))Vt$}FF>Kt9;eX0AA8M1C3!PLmC_y+l5EJRkpqIi*78Na|Ix+R zHNZzX3gu)ju4Er`$myes+GqEi;$k!H$wI}ktd@?Ka;InrY%<)%yK5l!u%zFYD`f21 z|8JBB@buP5RsiMBIXdY}${0%XgbLaiLu{4a5GI~$Afg>Odlkqka=$X4;J(Mq&I=&f z5~0^PGg#z+a#_S4g>o3*M>3x-U&~tZR&X;RcFl6+%(G~4aL>VJ+2{Vhm2)YOR3zhr zY5c8OMzmQIa7e!}Vgr~DK?|$XMk#X<^&#KWi@rYD2rpK;IC{x^lJ%_-!{&^FPw6Hy-(N5m6PW9J>^d=x zr_1{P7VK@JI^sl1L^+^NnKKcKi|Z}0*uCtTH7ku00i~B%5<@ySlW0kkn4zV2Gn?Mc z5@|C{?&tyeeU&gvMU#BmA!-sos^P|u6}SahFOX7# z>5`oAn;7PL%h($p&N|V}qUYmOSc_QQIlr}UXIy9^r6G!G8`NNy?e6_)le7P~vHIn` zvE+t8b_Z+I6lyaT&Q!^ePQU{lfCLY7#)~M?Rg7_fQC8g`$?fa0EJ53M6M}O>dCTFX zURbO&5rMtq-#rO4%goWycnR%m7e6X#YHO!7vW&t1d-cg^XDK++44h^dvgTBk=4xZi zEn0=_oas_1p+BfkeUJ1F%VRsZ2}9!LIpOCrFb7q{N%nqCdhHTOh1ZUJ!Mjq)9Rtsc z@RuZCH)o?+|Nq`~DLP)wVpJqjLR=5du-40rpmMZ0P0eC9(wL|EV<*S;y2jCWD@h zo+TIxLQq97vl5{!suC3DX%F%E*%`2q~kKqEbRkcro{}brNs9 zdux6PU|Lswb_wu>Y`FGmr~OY4n3iajG-@#paWicIAeQ)`Y165k#m9Oa%<;g>>Yr5t zKkspiCE^uf#jGYpY!ZS>ix4hG)~hiR4s}}e8N@G`rvKYBsAgBp8pIW4lvG$6Y4nmv zh*x5|f?~;BvdnjL9162-r(humSV#U4yGw}j%<)C*TSDNICMi3&)CL%wp!2G(s=kl* zo%Bg#D$cB2G*XRH9RS2!znGgw<3%2&G14{7gKiVn%%tV#0k~2wS<$jAVqWa?KM?f* z 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 P0xo@R6RlcJ$LRk7usc!> literal 0 HcmV?d00001 diff --git a/python_games/starpusher.py b/python_games/starpusher.py new file mode 100644 index 0000000..21cac59 --- /dev/null +++ b/python_games/starpusher.py @@ -0,0 +1,598 @@ +# Star Pusher (a Sokoban clone) +# By Al Sweigart al@inventwithpython.com +# http://inventwithpython.com/pygame +# Released under a "Simplified BSD" license + +import random, sys, copy, os, pygame +from pygame.locals import * + +FPS = 30 # frames per second to update the screen +WINWIDTH = 800 # width of the program's window, in pixels +WINHEIGHT = 600 # height in pixels +HALF_WINWIDTH = int(WINWIDTH / 2) +HALF_WINHEIGHT = int(WINHEIGHT / 2) + +# The total width and height of each tile in pixels. +TILEWIDTH = 50 +TILEHEIGHT = 85 +TILEFLOORHEIGHT = 40 + +CAM_MOVE_SPEED = 5 # how many pixels per frame the camera moves + +# The percentage of outdoor tiles that have additional +# decoration on them, such as a tree or rock. +OUTSIDE_DECORATION_PCT = 20 + +BRIGHTBLUE = ( 0, 170, 255) +WHITE = (255, 255, 255) +BGCOLOR = BRIGHTBLUE +TEXTCOLOR = WHITE + +UP = 'up' +DOWN = 'down' +LEFT = 'left' +RIGHT = 'right' + + +def main(): + global FPSCLOCK, DISPLAYSURF, IMAGESDICT, TILEMAPPING, OUTSIDEDECOMAPPING, BASICFONT, PLAYERIMAGES, currentImage + + # Pygame initialization and basic set up of the global variables. + pygame.init() + FPSCLOCK = pygame.time.Clock() + + # Because the Surface object stored in DISPLAYSURF was returned + # from the pygame.display.set_mode() function, this is the + # Surface object that is drawn to the actual computer screen + # when pygame.display.update() is called. + DISPLAYSURF = pygame.display.set_mode((WINWIDTH, WINHEIGHT)) + + pygame.display.set_caption('Star Pusher') + BASICFONT = pygame.font.Font('freesansbold.ttf', 18) + + # A global dict value that will contain all the Pygame + # Surface objects returned by pygame.image.load(). + IMAGESDICT = {'uncovered goal': pygame.image.load('RedSelector.png'), + 'covered goal': pygame.image.load('Selector.png'), + 'star': pygame.image.load('Star.png'), + 'corner': pygame.image.load('Wall_Block_Tall.png'), + 'wall': pygame.image.load('Wood_Block_Tall.png'), + 'inside floor': pygame.image.load('Plain_Block.png'), + 'outside floor': pygame.image.load('Grass_Block.png'), + 'title': pygame.image.load('star_title.png'), + 'solved': pygame.image.load('star_solved.png'), + 'princess': pygame.image.load('princess.png'), + 'boy': pygame.image.load('boy.png'), + 'catgirl': pygame.image.load('catgirl.png'), + 'horngirl': pygame.image.load('horngirl.png'), + 'pinkgirl': pygame.image.load('pinkgirl.png'), + 'rock': pygame.image.load('Rock.png'), + 'short tree': pygame.image.load('Tree_Short.png'), + 'tall tree': pygame.image.load('Tree_Tall.png'), + 'ugly tree': pygame.image.load('Tree_Ugly.png')} + + # These dict values are global, and map the character that appears + # in the level file to the Surface object it represents. + TILEMAPPING = {'x': IMAGESDICT['corner'], + '#': IMAGESDICT['wall'], + 'o': IMAGESDICT['inside floor'], + ' ': IMAGESDICT['outside floor']} + OUTSIDEDECOMAPPING = {'1': IMAGESDICT['rock'], + '2': IMAGESDICT['short tree'], + '3': IMAGESDICT['tall tree'], + '4': IMAGESDICT['ugly tree']} + + # PLAYERIMAGES is a list of all possible characters the player can be. + # currentImage is the index of the player's current player image. + currentImage = 0 + PLAYERIMAGES = [IMAGESDICT['princess'], + IMAGESDICT['boy'], + IMAGESDICT['catgirl'], + IMAGESDICT['horngirl'], + IMAGESDICT['pinkgirl']] + + startScreen() # show the title screen until the user presses a key + + # Read in the levels from the text file. See the readLevelsFile() for + # details on the format of this file and how to make your own levels. + levels = readLevelsFile('starPusherLevels.txt') + currentLevelIndex = 0 + + # The main game loop. This loop runs a single level, when the user + # finishes that level, the next/previous level is loaded. + while True: # main game loop + # Run the level to actually start playing the game: + result = runLevel(levels, currentLevelIndex) + + if result in ('solved', 'next'): + # Go to the next level. + currentLevelIndex += 1 + if currentLevelIndex >= len(levels): + # If there are no more levels, go back to the first one. + currentLevelIndex = 0 + elif result == 'back': + # Go to the previous level. + currentLevelIndex -= 1 + if currentLevelIndex < 0: + # If there are no previous levels, go to the last one. + currentLevelIndex = len(levels)-1 + elif result == 'reset': + pass # Do nothing. Loop re-calls runLevel() to reset the level + + +def runLevel(levels, levelNum): + global currentImage + levelObj = levels[levelNum] + mapObj = decorateMap(levelObj['mapObj'], levelObj['startState']['player']) + gameStateObj = copy.deepcopy(levelObj['startState']) + mapNeedsRedraw = True # set to True to call drawMap() + levelSurf = BASICFONT.render('Level %s of %s' % (levelNum + 1, len(levels)), 1, TEXTCOLOR) + levelRect = levelSurf.get_rect() + levelRect.bottomleft = (20, WINHEIGHT - 35) + mapWidth = len(mapObj) * TILEWIDTH + mapHeight = (len(mapObj[0]) - 1) * TILEFLOORHEIGHT + TILEHEIGHT + MAX_CAM_X_PAN = abs(HALF_WINHEIGHT - int(mapHeight / 2)) + TILEWIDTH + MAX_CAM_Y_PAN = abs(HALF_WINWIDTH - int(mapWidth / 2)) + TILEHEIGHT + + levelIsComplete = False + # Track how much the camera has moved: + cameraOffsetX = 0 + cameraOffsetY = 0 + # Track if the keys to move the camera are being held down: + cameraUp = False + cameraDown = False + cameraLeft = False + cameraRight = False + + while True: # main game loop + # Reset these variables: + playerMoveTo = None + keyPressed = False + + for event in pygame.event.get(): # event handling loop + if event.type == QUIT: + # Player clicked the "X" at the corner of the window. + terminate() + + elif event.type == KEYDOWN: + # Handle key presses + keyPressed = True + if event.key == K_LEFT: + playerMoveTo = LEFT + elif event.key == K_RIGHT: + playerMoveTo = RIGHT + elif event.key == K_UP: + playerMoveTo = UP + elif event.key == K_DOWN: + playerMoveTo = DOWN + + # Set the camera move mode. + elif event.key == K_a: + cameraLeft = True + elif event.key == K_d: + cameraRight = True + elif event.key == K_w: + cameraUp = True + elif event.key == K_s: + cameraDown = True + + elif event.key == K_n: + return 'next' + elif event.key == K_b: + return 'back' + + elif event.key == K_ESCAPE: + terminate() # Esc key quits. + elif event.key == K_BACKSPACE: + return 'reset' # Reset the level. + elif event.key == K_p: + # Change the player image to the next one. + currentImage += 1 + if currentImage >= len(PLAYERIMAGES): + # After the last player image, use the first one. + currentImage = 0 + mapNeedsRedraw = True + + elif event.type == KEYUP: + # Unset the camera move mode. + if event.key == K_a: + cameraLeft = False + elif event.key == K_d: + cameraRight = False + elif event.key == K_w: + cameraUp = False + elif event.key == K_s: + cameraDown = False + + if playerMoveTo != None and not levelIsComplete: + # If the player pushed a key to move, make the move + # (if possible) and push any stars that are pushable. + moved = makeMove(mapObj, gameStateObj, playerMoveTo) + + if moved: + # increment the step counter. + gameStateObj['stepCounter'] += 1 + mapNeedsRedraw = True + + if isLevelFinished(levelObj, gameStateObj): + # level is solved, we should show the "Solved!" image. + levelIsComplete = True + keyPressed = False + + DISPLAYSURF.fill(BGCOLOR) + + if mapNeedsRedraw: + mapSurf = drawMap(mapObj, gameStateObj, levelObj['goals']) + mapNeedsRedraw = False + + if cameraUp and cameraOffsetY < MAX_CAM_X_PAN: + cameraOffsetY += CAM_MOVE_SPEED + elif cameraDown and cameraOffsetY > -MAX_CAM_X_PAN: + cameraOffsetY -= CAM_MOVE_SPEED + if cameraLeft and cameraOffsetX < MAX_CAM_Y_PAN: + cameraOffsetX += CAM_MOVE_SPEED + elif cameraRight and cameraOffsetX > -MAX_CAM_Y_PAN: + cameraOffsetX -= CAM_MOVE_SPEED + + # Adjust mapSurf's Rect object based on the camera offset. + mapSurfRect = mapSurf.get_rect() + mapSurfRect.center = (HALF_WINWIDTH + cameraOffsetX, HALF_WINHEIGHT + cameraOffsetY) + + # Draw mapSurf to the DISPLAYSURF Surface object. + DISPLAYSURF.blit(mapSurf, mapSurfRect) + + DISPLAYSURF.blit(levelSurf, levelRect) + stepSurf = BASICFONT.render('Steps: %s' % (gameStateObj['stepCounter']), 1, TEXTCOLOR) + stepRect = stepSurf.get_rect() + stepRect.bottomleft = (20, WINHEIGHT - 10) + DISPLAYSURF.blit(stepSurf, stepRect) + + if levelIsComplete: + # is solved, show the "Solved!" image until the player + # has pressed a key. + solvedRect = IMAGESDICT['solved'].get_rect() + solvedRect.center = (HALF_WINWIDTH, HALF_WINHEIGHT) + DISPLAYSURF.blit(IMAGESDICT['solved'], solvedRect) + + if keyPressed: + return 'solved' + + pygame.display.update() # draw DISPLAYSURF to the screen. + FPSCLOCK.tick() + + +def isWall(mapObj, x, y): + """Returns True if the (x, y) position on + the map is a wall, otherwise return False.""" + if x < 0 or x >= len(mapObj) or y < 0 or y >= len(mapObj[x]): + return False # x and y aren't actually on the map. + elif mapObj[x][y] in ('#', 'x'): + return True # wall is blocking + return False + + +def decorateMap(mapObj, startxy): + """Makes a copy of the given map object and modifies it. + Here is what is done to it: + * Walls that are corners are turned into corner pieces. + * The outside/inside floor tile distinction is made. + * Tree/rock decorations are randomly added to the outside tiles. + + Returns the decorated map object.""" + + startx, starty = startxy # Syntactic sugar + + # Copy the map object so we don't modify the original passed + mapObjCopy = copy.deepcopy(mapObj) + + # Remove the non-wall characters from the map data + for x in range(len(mapObjCopy)): + for y in range(len(mapObjCopy[0])): + if mapObjCopy[x][y] in ('$', '.', '@', '+', '*'): + mapObjCopy[x][y] = ' ' + + # Flood fill to determine inside/outside floor tiles. + floodFill(mapObjCopy, startx, starty, ' ', 'o') + + # Convert the adjoined walls into corner tiles. + for x in range(len(mapObjCopy)): + for y in range(len(mapObjCopy[0])): + + if mapObjCopy[x][y] == '#': + if (isWall(mapObjCopy, x, y-1) and isWall(mapObjCopy, x+1, y)) or \ + (isWall(mapObjCopy, x+1, y) and isWall(mapObjCopy, x, y+1)) or \ + (isWall(mapObjCopy, x, y+1) and isWall(mapObjCopy, x-1, y)) or \ + (isWall(mapObjCopy, x-1, y) and isWall(mapObjCopy, x, y-1)): + mapObjCopy[x][y] = 'x' + + elif mapObjCopy[x][y] == ' ' and random.randint(0, 99) < OUTSIDE_DECORATION_PCT: + mapObjCopy[x][y] = random.choice(list(OUTSIDEDECOMAPPING.keys())) + + return mapObjCopy + + +def isBlocked(mapObj, gameStateObj, x, y): + """Returns True if the (x, y) position on the map is + blocked by a wall or star, otherwise return False.""" + + if isWall(mapObj, x, y): + return True + + elif x < 0 or x >= len(mapObj) or y < 0 or y >= len(mapObj[x]): + return True # x and y aren't actually on the map. + + elif (x, y) in gameStateObj['stars']: + return True # a star is blocking + + return False + + +def makeMove(mapObj, gameStateObj, playerMoveTo): + """Given a map and game state object, see if it is possible for the + player to make the given move. If it is, then change the player's + position (and the position of any pushed star). If not, do nothing. + + Returns True if the player moved, otherwise False.""" + + # Make sure the player can move in the direction they want. + playerx, playery = gameStateObj['player'] + + # This variable is "syntactic sugar". Typing "stars" is more + # readable than typing "gameStateObj['stars']" in our code. + stars = gameStateObj['stars'] + + # The code for handling each of the directions is so similar aside + # from adding or subtracting 1 to the x/y coordinates. We can + # simplify it by using the xOffset and yOffset variables. + if playerMoveTo == UP: + xOffset = 0 + yOffset = -1 + elif playerMoveTo == RIGHT: + xOffset = 1 + yOffset = 0 + elif playerMoveTo == DOWN: + xOffset = 0 + yOffset = 1 + elif playerMoveTo == LEFT: + xOffset = -1 + yOffset = 0 + + # See if the player can move in that direction. + if isWall(mapObj, playerx + xOffset, playery + yOffset): + return False + else: + if (playerx + xOffset, playery + yOffset) in stars: + # There is a star in the way, see if the player can push it. + if not isBlocked(mapObj, gameStateObj, playerx + (xOffset*2), playery + (yOffset*2)): + # Move the star. + ind = stars.index((playerx + xOffset, playery + yOffset)) + stars[ind] = (stars[ind][0] + xOffset, stars[ind][1] + yOffset) + else: + return False + # Move the player upwards. + gameStateObj['player'] = (playerx + xOffset, playery + yOffset) + return True + + +def startScreen(): + """Display the start screen (which has the title and instructions) + until the player presses a key. Returns None.""" + + # Position the title image. + titleRect = IMAGESDICT['title'].get_rect() + topCoord = 50 # topCoord tracks where to position the top of the text + titleRect.top = topCoord + titleRect.centerx = HALF_WINWIDTH + topCoord += titleRect.height + + # Unfortunately, Pygame's font & text system only shows one line at + # a time, so we can't use strings with \n newline characters in them. + # So we will use a list with each line in it. + instructionText = ['Push the stars over the marks.', + 'Arrow keys to move, WASD for camera control, P to change character.', + 'Backspace to reset level, Esc to quit.', + 'N for next level, B to go back a level.'] + + # Start with drawing a blank color to the entire window: + DISPLAYSURF.fill(BGCOLOR) + + # Draw the title image to the window: + DISPLAYSURF.blit(IMAGESDICT['title'], titleRect) + + # Position and draw the text. + for i in range(len(instructionText)): + instSurf = BASICFONT.render(instructionText[i], 1, TEXTCOLOR) + instRect = instSurf.get_rect() + topCoord += 10 # 10 pixels will go in between each line of text. + instRect.top = topCoord + instRect.centerx = HALF_WINWIDTH + topCoord += instRect.height # Adjust for the height of the line. + DISPLAYSURF.blit(instSurf, instRect) + + while True: # Main loop for the start screen. + for event in pygame.event.get(): + if event.type == QUIT: + terminate() + elif event.type == KEYDOWN: + if event.key == K_ESCAPE: + terminate() + return # user has pressed a key, so return. + + # Display the DISPLAYSURF contents to the actual screen. + pygame.display.update() + FPSCLOCK.tick() + + +def readLevelsFile(filename): + assert os.path.exists(filename), 'Cannot find the level file: %s' % (filename) + mapFile = open(filename, 'r') + # Each level must end with a blank line + content = mapFile.readlines() + ['\r\n'] + mapFile.close() + + levels = [] # Will contain a list of level objects. + levelNum = 0 + mapTextLines = [] # contains the lines for a single level's map. + mapObj = [] # the map object made from the data in mapTextLines + for lineNum in range(len(content)): + # Process each line that was in the level file. + line = content[lineNum].rstrip('\r\n') + + if ';' in line: + # Ignore the ; lines, they're comments in the level file. + line = line[:line.find(';')] + + if line != '': + # This line is part of the map. + mapTextLines.append(line) + elif line == '' and len(mapTextLines) > 0: + # A blank line indicates the end of a level's map in the file. + # Convert the text in mapTextLines into a level object. + + # Find the longest row in the map. + maxWidth = -1 + for i in range(len(mapTextLines)): + if len(mapTextLines[i]) > maxWidth: + maxWidth = len(mapTextLines[i]) + # Add spaces to the ends of the shorter rows. This + # ensures the map will be rectangular. + for i in range(len(mapTextLines)): + mapTextLines[i] += ' ' * (maxWidth - len(mapTextLines[i])) + + # Convert mapTextLines to a map object. + for x in range(len(mapTextLines[0])): + mapObj.append([]) + for y in range(len(mapTextLines)): + for x in range(maxWidth): + mapObj[x].append(mapTextLines[y][x]) + + # Loop through the spaces in the map and find the @, ., and $ + # characters for the starting game state. + startx = None # The x and y for the player's starting position + starty = None + goals = [] # list of (x, y) tuples for each goal. + stars = [] # list of (x, y) for each star's starting position. + for x in range(maxWidth): + for y in range(len(mapObj[x])): + if mapObj[x][y] in ('@', '+'): + # '@' is player, '+' is player & goal + startx = x + starty = y + if mapObj[x][y] in ('.', '+', '*'): + # '.' is goal, '*' is star & goal + goals.append((x, y)) + if mapObj[x][y] in ('$', '*'): + # '$' is star + stars.append((x, y)) + + # Basic level design sanity checks: + assert startx != None and starty != None, 'Level %s (around line %s) in %s is missing a "@" or "+" to mark the start point.' % (levelNum+1, lineNum, filename) + assert len(goals) > 0, 'Level %s (around line %s) in %s must have at least one goal.' % (levelNum+1, lineNum, filename) + assert len(stars) >= len(goals), 'Level %s (around line %s) in %s is impossible to solve. It has %s goals but only %s stars.' % (levelNum+1, lineNum, filename, len(goals), len(stars)) + + # Create level object and starting game state object. + gameStateObj = {'player': (startx, starty), + 'stepCounter': 0, + 'stars': stars} + levelObj = {'width': maxWidth, + 'height': len(mapObj), + 'mapObj': mapObj, + 'goals': goals, + 'startState': gameStateObj} + + levels.append(levelObj) + + # Reset the variables for reading the next map. + mapTextLines = [] + mapObj = [] + gameStateObj = {} + levelNum += 1 + return levels + + +def floodFill(mapObj, x, y, oldCharacter, newCharacter): + """Changes any values matching oldCharacter on the map object to + newCharacter at the (x, y) position, and does the same for the + positions to the left, right, down, and up of (x, y), recursively.""" + + # In this game, the flood fill algorithm creates the inside/outside + # floor distinction. This is a "recursive" function. + # For more info on the Flood Fill algorithm, see: + # http://en.wikipedia.org/wiki/Flood_fill + if mapObj[x][y] == oldCharacter: + mapObj[x][y] = newCharacter + + if x < len(mapObj) - 1 and mapObj[x+1][y] == oldCharacter: + floodFill(mapObj, x+1, y, oldCharacter, newCharacter) # call right + if x > 0 and mapObj[x-1][y] == oldCharacter: + floodFill(mapObj, x-1, y, oldCharacter, newCharacter) # call left + if y < len(mapObj[x]) - 1 and mapObj[x][y+1] == oldCharacter: + floodFill(mapObj, x, y+1, oldCharacter, newCharacter) # call down + if y > 0 and mapObj[x][y-1] == oldCharacter: + floodFill(mapObj, x, y-1, oldCharacter, newCharacter) # call up + + +def drawMap(mapObj, gameStateObj, goals): + """Draws the map to a Surface object, including the player and + stars. This function does not call pygame.display.update(), nor + does it draw the "Level" and "Steps" text in the corner.""" + + # mapSurf will be the single Surface object that the tiles are drawn + # on, so that it is easy to position the entire map on the DISPLAYSURF + # Surface object. First, the width and height must be calculated. + mapSurfWidth = len(mapObj) * TILEWIDTH + mapSurfHeight = (len(mapObj[0]) - 1) * TILEFLOORHEIGHT + TILEHEIGHT + mapSurf = pygame.Surface((mapSurfWidth, mapSurfHeight)) + mapSurf.fill(BGCOLOR) # start with a blank color on the surface. + + # Draw the tile sprites onto this surface. + for x in range(len(mapObj)): + for y in range(len(mapObj[x])): + spaceRect = pygame.Rect((x * TILEWIDTH, y * TILEFLOORHEIGHT, TILEWIDTH, TILEHEIGHT)) + if mapObj[x][y] in TILEMAPPING: + baseTile = TILEMAPPING[mapObj[x][y]] + elif mapObj[x][y] in OUTSIDEDECOMAPPING: + baseTile = TILEMAPPING[' '] + + # First draw the base ground/wall tile. + mapSurf.blit(baseTile, spaceRect) + + if mapObj[x][y] in OUTSIDEDECOMAPPING: + # Draw any tree/rock decorations that are on this tile. + mapSurf.blit(OUTSIDEDECOMAPPING[mapObj[x][y]], spaceRect) + elif (x, y) in gameStateObj['stars']: + if (x, y) in goals: + # A goal AND star are on this space, draw goal first. + mapSurf.blit(IMAGESDICT['covered goal'], spaceRect) + # Then draw the star sprite. + mapSurf.blit(IMAGESDICT['star'], spaceRect) + elif (x, y) in goals: + # Draw a goal without a star on it. + mapSurf.blit(IMAGESDICT['uncovered goal'], spaceRect) + + # Last draw the player on the board. + if (x, y) == gameStateObj['player']: + # Note: The value "currentImage" refers + # to a key in "PLAYERIMAGES" which has the + # specific player image we want to show. + mapSurf.blit(PLAYERIMAGES[currentImage], spaceRect) + + return mapSurf + + +def isLevelFinished(levelObj, gameStateObj): + """Returns True if all the goals have stars in them.""" + for goal in levelObj['goals']: + if goal not in gameStateObj['stars']: + # Found a space with a goal but no star on it. + return False + return True + + +def terminate(): + pygame.quit() + sys.exit() + + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/python_games/tetrisb.mid b/python_games/tetrisb.mid new file mode 100644 index 0000000000000000000000000000000000000000..04a78d9327aee2a008dd2fdebd965228f86f3359 GIT binary patch literal 8612 zcmeHMJ!?~87=3JOqv#K?xO6C`pR|@%5>iS^5)w;7DRj_T1wrgkE4Zb%WQgLB3t8O! z2`Vmb3NCK`qj*l5o_muwns{l!mUlaOzTfBbLaO`Eo|xIBU9;;GR^2~*ZZ`JV+7Blt z#_rs(_MPA9fBQzO6}xSW`}?j$w;e6J4LXH)FP0KT*#nUrP@2k zDeRm&?FLq+WyTY8(WHwyL+nad>9q=>JyP}nc1hU<5UWCGe5&04H8R*?I`l$m$*I%_ zg$VVcHGGnz4jWYd^GR|uS3^hSP_0dZO@J+eEr2XRHqOeBk^v=6knYGJjx4G*q9I7r zM~=NluSFVS&ld;^*7S3AwlFY+eGB89O0MA>G@xCtesT3JbmV^MZiNgNSNrUEr1o(< zZbipq&Aw0BC)|#(g#HiUAuM3m1_b~v{{Vv!u|$y!rzXJEggFWmNQQefz^aEjShOrw zOuefmiewaz?C@lC;)ywJ(rMkoZSuC`KDgmK?#sAyy}%79k82X-p{{4-sZL6f>dZo( zfRt^r=u5(i-lfFe1FfF?DnhACSaxDh?IgP4i-kg5nqq}KVFAud$U7C_PK7*S0Zv%R zgB9RlMXYsF)KD=pCOou zEJ05;#apD%B80jCLW&?uUY7nM)U6R{%8uTt`VFEqSeu5gxN@T|RlZf7D^>Am9QoZ= z$6ZKBQNzhjGKvx}JIN@+y*HCS)eUI4v)DxHVXl^IIT^*Z+)u&dN7<62$hb3;jNpCWgG`F%9BD}0Ln+Z6HN Fj^7;}nK1wW literal 0 HcmV?d00001 diff --git a/python_games/tetrisc.mid b/python_games/tetrisc.mid new file mode 100644 index 0000000000000000000000000000000000000000..24a57bd86414d1df94b0cdb33fd85ec552285788 GIT binary patch literal 14661 zcmeHMJx^3o5FHRjV`C|?u_6RQAV45|Zy^^%U()~^v z4|{sL@7|QgqwcOQX*{@ge>MlTC+T!{kEBG`o!DcPNEEs8!9pJH$KuAS)GFF1PN`YGS~3d#Ata|@D*a4+}`0tl%rGj+ZB!QGVE()XCy* ziKf7x5{)qpG+jjW5|NjR>^f*Y9GU#8E42$pBfJm%x|$JVMO#IxCAeG2C^v*{%N_(5F$&i9sTp)2NKVsA1Q~ z))5Z8*{O`)>`ottNC$6rxJ^sA=Iu4nREwi6)kxZl8-1DE5Pjb4@+~xKcDX_C&TIL8 zUq1Kl$>D^ixH_RJZlW9*fo}vpBIi>mszT)YTpfKzQU9Z;|6!nEpjP=E2WuRx_UfT* zeD0zjEA?ZgA)p~3%sJI5F_RpUH3r`pSk7-sP+lMEkLkEN4Lu``&167X?dc!o<`Tv) zd*1Wr4pr_~)%pC*u!7>p^IZ;i5XJ$Y%&lPr2e_=O=3QW{^eX zd|qa%Li8``Q}&Jb8RBZsC_Y0Z<{~p0&^LxNQzzfBDApyM3ChkW(V0v}0~e}itNlbX z1pob{ze@ZN`O^DT-hlNIlSUK8fW8!Reo7VETpwzYLat9r71~@MYLP;&Pf8WqTpwzY zLat9r71~_rwMd~(>Vsb; FegVSqO40xT literal 0 HcmV?d00001 diff --git a/python_games/tetromino.py b/python_games/tetromino.py new file mode 100644 index 0000000..775ee08 --- /dev/null +++ b/python_games/tetromino.py @@ -0,0 +1,523 @@ +# Tetromino (a Tetris clone) +# By Al Sweigart al@inventwithpython.com +# http://inventwithpython.com/pygame +# Released under a "Simplified BSD" license + +# KRT 17/06/2012 rewrite event detection to deal with mouse use + +import random, time, pygame, sys +from pygame.locals import * + +FPS = 25 +WINDOWWIDTH = 640 +WINDOWHEIGHT = 480 +BOXSIZE = 20 +BOARDWIDTH = 10 +BOARDHEIGHT = 20 +BLANK = '.' + +MOVESIDEWAYSFREQ = 0.15 +MOVEDOWNFREQ = 0.1 + +XMARGIN = int((WINDOWWIDTH - BOARDWIDTH * BOXSIZE) / 2) +TOPMARGIN = WINDOWHEIGHT - (BOARDHEIGHT * BOXSIZE) - 5 + +# R G B +WHITE = (255, 255, 255) +GRAY = (185, 185, 185) +BLACK = ( 0, 0, 0) +RED = (155, 0, 0) +LIGHTRED = (175, 20, 20) +GREEN = ( 0, 155, 0) +LIGHTGREEN = ( 20, 175, 20) +BLUE = ( 0, 0, 155) +LIGHTBLUE = ( 20, 20, 175) +YELLOW = (155, 155, 0) +LIGHTYELLOW = (175, 175, 20) + +BORDERCOLOR = BLUE +BGCOLOR = BLACK +TEXTCOLOR = WHITE +TEXTSHADOWCOLOR = GRAY +COLORS = ( BLUE, GREEN, RED, YELLOW) +LIGHTCOLORS = (LIGHTBLUE, LIGHTGREEN, LIGHTRED, LIGHTYELLOW) +assert len(COLORS) == len(LIGHTCOLORS) # each color must have light color + +TEMPLATEWIDTH = 5 +TEMPLATEHEIGHT = 5 + +S_SHAPE_TEMPLATE = [['.....', + '.....', + '..OO.', + '.OO..', + '.....'], + ['.....', + '..O..', + '..OO.', + '...O.', + '.....']] + +Z_SHAPE_TEMPLATE = [['.....', + '.....', + '.OO..', + '..OO.', + '.....'], + ['.....', + '..O..', + '.OO..', + '.O...', + '.....']] + +I_SHAPE_TEMPLATE = [['..O..', + '..O..', + '..O..', + '..O..', + '.....'], + ['.....', + '.....', + 'OOOO.', + '.....', + '.....']] + +O_SHAPE_TEMPLATE = [['.....', + '.....', + '.OO..', + '.OO..', + '.....']] + +J_SHAPE_TEMPLATE = [['.....', + '.O...', + '.OOO.', + '.....', + '.....'], + ['.....', + '..OO.', + '..O..', + '..O..', + '.....'], + ['.....', + '.....', + '.OOO.', + '...O.', + '.....'], + ['.....', + '..O..', + '..O..', + '.OO..', + '.....']] + +L_SHAPE_TEMPLATE = [['.....', + '...O.', + '.OOO.', + '.....', + '.....'], + ['.....', + '..O..', + '..O..', + '..OO.', + '.....'], + ['.....', + '.....', + '.OOO.', + '.O...', + '.....'], + ['.....', + '.OO..', + '..O..', + '..O..', + '.....']] + +T_SHAPE_TEMPLATE = [['.....', + '..O..', + '.OOO.', + '.....', + '.....'], + ['.....', + '..O..', + '..OO.', + '..O..', + '.....'], + ['.....', + '.....', + '.OOO.', + '..O..', + '.....'], + ['.....', + '..O..', + '.OO..', + '..O..', + '.....']] + +PIECES = {'S': S_SHAPE_TEMPLATE, + 'Z': Z_SHAPE_TEMPLATE, + 'J': J_SHAPE_TEMPLATE, + 'L': L_SHAPE_TEMPLATE, + 'I': I_SHAPE_TEMPLATE, + 'O': O_SHAPE_TEMPLATE, + 'T': T_SHAPE_TEMPLATE} + + +def main(): + global FPSCLOCK, DISPLAYSURF, BASICFONT, BIGFONT + pygame.init() + FPSCLOCK = pygame.time.Clock() + DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT)) + BASICFONT = pygame.font.Font('freesansbold.ttf', 18) + BIGFONT = pygame.font.Font('freesansbold.ttf', 100) + pygame.display.set_caption('Tetromino') + + showTextScreen('Tetromino') + while True: # game loop + if random.randint(0, 1) == 0: + pygame.mixer.music.load('tetrisb.mid') + else: + pygame.mixer.music.load('tetrisc.mid') + pygame.mixer.music.play(-1, 0.0) + runGame() + pygame.mixer.music.stop() + showTextScreen('Game Over') + + +def runGame(): + # setup variables for the start of the game + board = getBlankBoard() + lastMoveDownTime = time.time() + lastMoveSidewaysTime = time.time() + lastFallTime = time.time() + movingDown = False # note: there is no movingUp variable + movingLeft = False + movingRight = False + score = 0 + level, fallFreq = calculateLevelAndFallFreq(score) + + fallingPiece = getNewPiece() + nextPiece = getNewPiece() + + while True: # game loop + if fallingPiece == None: + # No falling piece in play, so start a new piece at the top + fallingPiece = nextPiece + nextPiece = getNewPiece() + lastFallTime = time.time() # reset lastFallTime + + if not isValidPosition(board, fallingPiece): + return # can't fit a new piece on the board, so game over + + checkForQuit() + for event in pygame.event.get(): # event handling loop + if event.type == KEYUP: + if (event.key == K_p): + # Pausing the game + DISPLAYSURF.fill(BGCOLOR) + pygame.mixer.music.stop() + showTextScreen('Paused') # pause until a key press + pygame.mixer.music.play(-1, 0.0) + lastFallTime = time.time() + lastMoveDownTime = time.time() + lastMoveSidewaysTime = time.time() + elif (event.key == K_LEFT or event.key == K_a): + movingLeft = False + elif (event.key == K_RIGHT or event.key == K_d): + movingRight = False + elif (event.key == K_DOWN or event.key == K_s): + movingDown = False + + elif event.type == KEYDOWN: + # moving the piece sideways + if (event.key == K_LEFT or event.key == K_a) and isValidPosition(board, fallingPiece, adjX=-1): + fallingPiece['x'] -= 1 + movingLeft = True + movingRight = False + lastMoveSidewaysTime = time.time() + + elif (event.key == K_RIGHT or event.key == K_d) and isValidPosition(board, fallingPiece, adjX=1): + fallingPiece['x'] += 1 + movingRight = True + movingLeft = False + lastMoveSidewaysTime = time.time() + + # rotating the piece (if there is room to rotate) + elif (event.key == K_UP or event.key == K_w): + fallingPiece['rotation'] = (fallingPiece['rotation'] + 1) % len(PIECES[fallingPiece['shape']]) + if not isValidPosition(board, fallingPiece): + fallingPiece['rotation'] = (fallingPiece['rotation'] - 1) % len(PIECES[fallingPiece['shape']]) + elif (event.key == K_q): # rotate the other direction + fallingPiece['rotation'] = (fallingPiece['rotation'] - 1) % len(PIECES[fallingPiece['shape']]) + if not isValidPosition(board, fallingPiece): + fallingPiece['rotation'] = (fallingPiece['rotation'] + 1) % len(PIECES[fallingPiece['shape']]) + + # making the piece fall faster with the down key + elif (event.key == K_DOWN or event.key == K_s): + movingDown = True + if isValidPosition(board, fallingPiece, adjY=1): + fallingPiece['y'] += 1 + lastMoveDownTime = time.time() + + # move the current piece all the way down + elif event.key == K_SPACE: + movingDown = False + movingLeft = False + movingRight = False + for i in range(1, BOARDHEIGHT): + if not isValidPosition(board, fallingPiece, adjY=i): + break + fallingPiece['y'] += i - 1 + + # handle moving the piece because of user input + if (movingLeft or movingRight) and time.time() - lastMoveSidewaysTime > MOVESIDEWAYSFREQ: + if movingLeft and isValidPosition(board, fallingPiece, adjX=-1): + fallingPiece['x'] -= 1 + elif movingRight and isValidPosition(board, fallingPiece, adjX=1): + fallingPiece['x'] += 1 + lastMoveSidewaysTime = time.time() + + if movingDown and time.time() - lastMoveDownTime > MOVEDOWNFREQ and isValidPosition(board, fallingPiece, adjY=1): + fallingPiece['y'] += 1 + lastMoveDownTime = time.time() + + # let the piece fall if it is time to fall + if time.time() - lastFallTime > fallFreq: + # see if the piece has landed + if not isValidPosition(board, fallingPiece, adjY=1): + # falling piece has landed, set it on the board + addToBoard(board, fallingPiece) + score += removeCompleteLines(board) + level, fallFreq = calculateLevelAndFallFreq(score) + fallingPiece = None + else: + # piece did not land, just move the piece down + fallingPiece['y'] += 1 + lastFallTime = time.time() + + # drawing everything on the screen + DISPLAYSURF.fill(BGCOLOR) + drawBoard(board) + drawStatus(score, level) + drawNextPiece(nextPiece) + if fallingPiece != None: + drawPiece(fallingPiece) + + pygame.display.update() + FPSCLOCK.tick(FPS) + + +def makeTextObjs(text, font, color): + surf = font.render(text, True, color) + return surf, surf.get_rect() + + +def terminate(): + pygame.quit() + sys.exit() + + +# KRT 17/06/2012 rewrite event detection to deal with mouse use +def checkForKeyPress(): + for event in pygame.event.get(): + if event.type == QUIT: #event is quit + terminate() + elif event.type == KEYDOWN: + if event.key == K_ESCAPE: #event is escape key + terminate() + else: + return event.key #key found return with it + # no quit or key events in queue so return None + return None + + + +##def checkForKeyPress(): +## # Go through event queue looking for a KEYUP event. +## # Grab KEYDOWN events to remove them from the event queue. +## checkForQuit() +## +## for event in pygame.event.get([KEYDOWN, KEYUP]): +## if event.type == KEYDOWN: +## continue +## return event.key +## return None + + +def showTextScreen(text): + # This function displays large text in the + # center of the screen until a key is pressed. + # Draw the text drop shadow + titleSurf, titleRect = makeTextObjs(text, BIGFONT, TEXTSHADOWCOLOR) + titleRect.center = (int(WINDOWWIDTH / 2), int(WINDOWHEIGHT / 2)) + DISPLAYSURF.blit(titleSurf, titleRect) + + # Draw the text + titleSurf, titleRect = makeTextObjs(text, BIGFONT, TEXTCOLOR) + titleRect.center = (int(WINDOWWIDTH / 2) - 3, int(WINDOWHEIGHT / 2) - 3) + DISPLAYSURF.blit(titleSurf, titleRect) + + # Draw the additional "Press a key to play." text. + pressKeySurf, pressKeyRect = makeTextObjs('Press a key to play.', BASICFONT, TEXTCOLOR) + pressKeyRect.center = (int(WINDOWWIDTH / 2), int(WINDOWHEIGHT / 2) + 100) + DISPLAYSURF.blit(pressKeySurf, pressKeyRect) + + while checkForKeyPress() == None: + pygame.display.update() + FPSCLOCK.tick() + + +def checkForQuit(): + for event in pygame.event.get(QUIT): # get all the QUIT events + terminate() # terminate if any QUIT events are present + for event in pygame.event.get(KEYUP): # get all the KEYUP events + if event.key == K_ESCAPE: + terminate() # terminate if the KEYUP event was for the Esc key + pygame.event.post(event) # put the other KEYUP event objects back + + +def calculateLevelAndFallFreq(score): + # Based on the score, return the level the player is on and + # how many seconds pass until a falling piece falls one space. + level = int(score / 10) + 1 + fallFreq = 0.27 - (level * 0.02) + return level, fallFreq + +def getNewPiece(): + # return a random new piece in a random rotation and color + shape = random.choice(list(PIECES.keys())) + newPiece = {'shape': shape, + 'rotation': random.randint(0, len(PIECES[shape]) - 1), + 'x': int(BOARDWIDTH / 2) - int(TEMPLATEWIDTH / 2), + 'y': -2, # start it above the board (i.e. less than 0) + 'color': random.randint(0, len(COLORS)-1)} + return newPiece + + +def addToBoard(board, piece): + # fill in the board based on piece's location, shape, and rotation + for x in range(TEMPLATEWIDTH): + for y in range(TEMPLATEHEIGHT): + if PIECES[piece['shape']][piece['rotation']][y][x] != BLANK: + board[x + piece['x']][y + piece['y']] = piece['color'] + + +def getBlankBoard(): + # create and return a new blank board data structure + board = [] + for i in range(BOARDWIDTH): + board.append([BLANK] * BOARDHEIGHT) + return board + + +def isOnBoard(x, y): + return x >= 0 and x < BOARDWIDTH and y < BOARDHEIGHT + + +def isValidPosition(board, piece, adjX=0, adjY=0): + # Return True if the piece is within the board and not colliding + for x in range(TEMPLATEWIDTH): + for y in range(TEMPLATEHEIGHT): + isAboveBoard = y + piece['y'] + adjY < 0 + if isAboveBoard or PIECES[piece['shape']][piece['rotation']][y][x] == BLANK: + continue + if not isOnBoard(x + piece['x'] + adjX, y + piece['y'] + adjY): + return False + if board[x + piece['x'] + adjX][y + piece['y'] + adjY] != BLANK: + return False + return True + +def isCompleteLine(board, y): + # Return True if the line filled with boxes with no gaps. + for x in range(BOARDWIDTH): + if board[x][y] == BLANK: + return False + return True + + +def removeCompleteLines(board): + # Remove any completed lines on the board, move everything above them down, and return the number of complete lines. + numLinesRemoved = 0 + y = BOARDHEIGHT - 1 # start y at the bottom of the board + while y >= 0: + if isCompleteLine(board, y): + # Remove the line and pull boxes down by one line. + for pullDownY in range(y, 0, -1): + for x in range(BOARDWIDTH): + board[x][pullDownY] = board[x][pullDownY-1] + # Set very top line to blank. + for x in range(BOARDWIDTH): + board[x][0] = BLANK + numLinesRemoved += 1 + # Note on the next iteration of the loop, y is the same. + # This is so that if the line that was pulled down is also + # complete, it will be removed. + else: + y -= 1 # move on to check next row up + return numLinesRemoved + + +def convertToPixelCoords(boxx, boxy): + # Convert the given xy coordinates of the board to xy + # coordinates of the location on the screen. + return (XMARGIN + (boxx * BOXSIZE)), (TOPMARGIN + (boxy * BOXSIZE)) + + +def drawBox(boxx, boxy, color, pixelx=None, pixely=None): + # draw a single box (each tetromino piece has four boxes) + # at xy coordinates on the board. Or, if pixelx & pixely + # are specified, draw to the pixel coordinates stored in + # pixelx & pixely (this is used for the "Next" piece). + if color == BLANK: + return + if pixelx == None and pixely == None: + pixelx, pixely = convertToPixelCoords(boxx, boxy) + pygame.draw.rect(DISPLAYSURF, COLORS[color], (pixelx + 1, pixely + 1, BOXSIZE - 1, BOXSIZE - 1)) + pygame.draw.rect(DISPLAYSURF, LIGHTCOLORS[color], (pixelx + 1, pixely + 1, BOXSIZE - 4, BOXSIZE - 4)) + + +def drawBoard(board): + # draw the border around the board + pygame.draw.rect(DISPLAYSURF, BORDERCOLOR, (XMARGIN - 3, TOPMARGIN - 7, (BOARDWIDTH * BOXSIZE) + 8, (BOARDHEIGHT * BOXSIZE) + 8), 5) + + # fill the background of the board + pygame.draw.rect(DISPLAYSURF, BGCOLOR, (XMARGIN, TOPMARGIN, BOXSIZE * BOARDWIDTH, BOXSIZE * BOARDHEIGHT)) + # draw the individual boxes on the board + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + drawBox(x, y, board[x][y]) + + +def drawStatus(score, level): + # draw the score text + scoreSurf = BASICFONT.render('Score: %s' % score, True, TEXTCOLOR) + scoreRect = scoreSurf.get_rect() + scoreRect.topleft = (WINDOWWIDTH - 150, 20) + DISPLAYSURF.blit(scoreSurf, scoreRect) + + # draw the level text + levelSurf = BASICFONT.render('Level: %s' % level, True, TEXTCOLOR) + levelRect = levelSurf.get_rect() + levelRect.topleft = (WINDOWWIDTH - 150, 50) + DISPLAYSURF.blit(levelSurf, levelRect) + + +def drawPiece(piece, pixelx=None, pixely=None): + shapeToDraw = PIECES[piece['shape']][piece['rotation']] + if pixelx == None and pixely == None: + # if pixelx & pixely hasn't been specified, use the location stored in the piece data structure + pixelx, pixely = convertToPixelCoords(piece['x'], piece['y']) + + # draw each of the boxes that make up the piece + for x in range(TEMPLATEWIDTH): + for y in range(TEMPLATEHEIGHT): + if shapeToDraw[y][x] != BLANK: + drawBox(None, None, piece['color'], pixelx + (x * BOXSIZE), pixely + (y * BOXSIZE)) + + +def drawNextPiece(piece): + # draw the "next" text + nextSurf = BASICFONT.render('Next:', True, TEXTCOLOR) + nextRect = nextSurf.get_rect() + nextRect.topleft = (WINDOWWIDTH - 120, 80) + DISPLAYSURF.blit(nextSurf, nextRect) + # draw the "next" piece + drawPiece(piece, pixelx=WINDOWWIDTH-120, pixely=100) + + +if __name__ == '__main__': + main() diff --git a/python_games/tetrominoforidiots.py b/python_games/tetrominoforidiots.py new file mode 100644 index 0000000..da62660 --- /dev/null +++ b/python_games/tetrominoforidiots.py @@ -0,0 +1,420 @@ +# Tetromino for Idiots +# By Al Sweigart al@inventwithpython.com +# http://inventwithpython.com/pygame +# Released under a "Simplified BSD" license + +# KRT 17/06/2012 rewrite event detection to deal with mouse use + +import random, time, pygame, sys +from pygame.locals import * + +FPS = 25 +WINDOWWIDTH = 640 +WINDOWHEIGHT = 480 +BOXSIZE = 20 +BOARDWIDTH = 10 +BOARDHEIGHT = 20 +BLANK = '.' + +MOVESIDEWAYSFREQ = 0.15 +MOVEDOWNFREQ = 0.1 + +XMARGIN = int((WINDOWWIDTH - BOARDWIDTH * BOXSIZE) / 2) +TOPMARGIN = WINDOWHEIGHT - (BOARDHEIGHT * BOXSIZE) - 5 + +# R G B +WHITE = (255, 255, 255) +GRAY = (185, 185, 185) +BLACK = ( 0, 0, 0) +RED = (155, 0, 0) +LIGHTRED = (175, 20, 20) +GREEN = ( 0, 155, 0) +LIGHTGREEN = ( 20, 175, 20) +BLUE = ( 0, 0, 155) +LIGHTBLUE = ( 20, 20, 175) +YELLOW = (155, 155, 0) +LIGHTYELLOW = (175, 175, 20) + +BORDERCOLOR = BLUE +BGCOLOR = BLACK +TEXTCOLOR = WHITE +TEXTSHADOWCOLOR = GRAY +COLORS = ( BLUE, GREEN, RED, YELLOW) +LIGHTCOLORS = (LIGHTBLUE, LIGHTGREEN, LIGHTRED, LIGHTYELLOW) +assert len(COLORS) == len(LIGHTCOLORS) # each color must have light color + +TEMPLATEWIDTH = 5 +TEMPLATEHEIGHT = 5 + +SHAPE_TEMPLATE = [['.....', + '.....', + '..O..', + '.....', + '.....']] + +PIECES = {'A': SHAPE_TEMPLATE} + + +def main(): + global FPSCLOCK, DISPLAYSURF, BASICFONT, BIGFONT + pygame.init() + FPSCLOCK = pygame.time.Clock() + DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT)) + BASICFONT = pygame.font.Font('freesansbold.ttf', 18) + BIGFONT = pygame.font.Font('freesansbold.ttf', 60) + pygame.display.set_caption('Tetromino for Idiots') + + showTextScreen('Tetromino for Idiots') + while True: # game loop + if random.randint(0, 1) == 0: + pygame.mixer.music.load('tetrisb.mid') + else: + pygame.mixer.music.load('tetrisc.mid') + pygame.mixer.music.play(-1, 0.0) + runGame() + pygame.mixer.music.stop() + showTextScreen('Game Over') + + +def runGame(): + # setup variables for the start of the game + board = getBlankBoard() + lastMoveDownTime = time.time() + lastMoveSidewaysTime = time.time() + lastFallTime = time.time() + movingDown = False # note: there is no movingUp variable + movingLeft = False + movingRight = False + score = 0 + level, fallFreq = calculateLevelAndFallFreq(score) + + fallingPiece = getNewPiece() + nextPiece = getNewPiece() + + while True: # game loop + if fallingPiece == None: + # No falling piece in play, so start a new piece at the top + fallingPiece = nextPiece + nextPiece = getNewPiece() + lastFallTime = time.time() # reset lastFallTime + + if not isValidPosition(board, fallingPiece): + return # can't fit a new piece on the board, so game over + + checkForQuit() + for event in pygame.event.get(): # event handling loop + if event.type == KEYUP: + if (event.key == K_p): + # Pausing the game + DISPLAYSURF.fill(BGCOLOR) + pygame.mixer.music.stop() + showTextScreen('Paused') # pause until a key press + pygame.mixer.music.play(-1, 0.0) + lastFallTime = time.time() + lastMoveDownTime = time.time() + lastMoveSidewaysTime = time.time() + elif (event.key == K_LEFT or event.key == K_a): + movingLeft = False + elif (event.key == K_RIGHT or event.key == K_d): + movingRight = False + elif (event.key == K_DOWN or event.key == K_s): + movingDown = False + + elif event.type == KEYDOWN: + # moving the piece sideways + if (event.key == K_LEFT or event.key == K_a) and isValidPosition(board, fallingPiece, adjX=-1): + fallingPiece['x'] -= 1 + movingLeft = True + movingRight = False + lastMoveSidewaysTime = time.time() + + elif (event.key == K_RIGHT or event.key == K_d) and isValidPosition(board, fallingPiece, adjX=1): + fallingPiece['x'] += 1 + movingRight = True + movingLeft = False + lastMoveSidewaysTime = time.time() + + # rotating the piece (if there is room to rotate) + elif (event.key == K_UP or event.key == K_w): + fallingPiece['rotation'] = (fallingPiece['rotation'] + 1) % len(PIECES[fallingPiece['shape']]) + if not isValidPosition(board, fallingPiece): + fallingPiece['rotation'] = (fallingPiece['rotation'] - 1) % len(PIECES[fallingPiece['shape']]) + elif (event.key == K_q): # rotate the other direction + fallingPiece['rotation'] = (fallingPiece['rotation'] - 1) % len(PIECES[fallingPiece['shape']]) + if not isValidPosition(board, fallingPiece): + fallingPiece['rotation'] = (fallingPiece['rotation'] + 1) % len(PIECES[fallingPiece['shape']]) + + # making the piece fall faster with the down key + elif (event.key == K_DOWN or event.key == K_s): + movingDown = True + if isValidPosition(board, fallingPiece, adjY=1): + fallingPiece['y'] += 1 + lastMoveDownTime = time.time() + + # move the current piece all the way down + elif event.key == K_SPACE: + movingDown = False + movingLeft = False + movingRight = False + for i in range(1, BOARDHEIGHT): + if not isValidPosition(board, fallingPiece, adjY=i): + break + fallingPiece['y'] += i - 1 + + # handle moving the piece because of user input + if (movingLeft or movingRight) and time.time() - lastMoveSidewaysTime > MOVESIDEWAYSFREQ: + if movingLeft and isValidPosition(board, fallingPiece, adjX=-1): + fallingPiece['x'] -= 1 + elif movingRight and isValidPosition(board, fallingPiece, adjX=1): + fallingPiece['x'] += 1 + lastMoveSidewaysTime = time.time() + + if movingDown and time.time() - lastMoveDownTime > MOVEDOWNFREQ and isValidPosition(board, fallingPiece, adjY=1): + fallingPiece['y'] += 1 + lastMoveDownTime = time.time() + + # let the piece fall if it is time to fall + if time.time() - lastFallTime > fallFreq: + # see if the piece has landed + if not isValidPosition(board, fallingPiece, adjY=1): + # falling piece has landed, set it on the board + addToBoard(board, fallingPiece) + score += removeCompleteLines(board) + level, fallFreq = calculateLevelAndFallFreq(score) + fallingPiece = None + else: + # piece did not land, just move the piece down + fallingPiece['y'] += 1 + lastFallTime = time.time() + + # drawing everything on the screen + DISPLAYSURF.fill(BGCOLOR) + drawBoard(board) + drawStatus(score, level) + drawNextPiece(nextPiece) + if fallingPiece != None: + drawPiece(fallingPiece) + + pygame.display.update() + FPSCLOCK.tick(FPS) + + +def makeTextObjs(text, font, color): + surf = font.render(text, True, color) + return surf, surf.get_rect() + + +def terminate(): + pygame.quit() + sys.exit() + + +# KRT 17/06/2012 rewrite event detection to deal with mouse use +def checkForKeyPress(): + for event in pygame.event.get(): + if event.type == QUIT: #event is quit + terminate() + elif event.type == KEYDOWN: + if event.key == K_ESCAPE: #event is escape key + terminate() + else: + return event.key #key found return with it + # no quit or key events in queue so return None + return None + + +##def checkForKeyPress(): +## # Go through event queue looking for a KEYUP event. +## # Grab KEYDOWN events to remove them from the event queue. +## checkForQuit() +## +## for event in pygame.event.get([KEYDOWN, KEYUP]): +## if event.type == KEYDOWN: +## continue +## return event.key +## return None + + +def showTextScreen(text): + # This function displays large text in the + # center of the screen until a key is pressed. + # Draw the text drop shadow + titleSurf, titleRect = makeTextObjs(text, BIGFONT, TEXTSHADOWCOLOR) + titleRect.center = (int(WINDOWWIDTH / 2), int(WINDOWHEIGHT / 2)) + DISPLAYSURF.blit(titleSurf, titleRect) + + # Draw the text + titleSurf, titleRect = makeTextObjs(text, BIGFONT, TEXTCOLOR) + titleRect.center = (int(WINDOWWIDTH / 2) - 2, int(WINDOWHEIGHT / 2) - 2) + DISPLAYSURF.blit(titleSurf, titleRect) + + # Draw the additional "Press a key to play." text. + pressKeySurf, pressKeyRect = makeTextObjs('Press a key to play.', BASICFONT, TEXTCOLOR) + pressKeyRect.center = (int(WINDOWWIDTH / 2), int(WINDOWHEIGHT / 2) + 100) + DISPLAYSURF.blit(pressKeySurf, pressKeyRect) + + while checkForKeyPress() == None: + pygame.display.update() + FPSCLOCK.tick() + + +def checkForQuit(): + for event in pygame.event.get(QUIT): # get all the QUIT events + terminate() # terminate if any QUIT events are present + for event in pygame.event.get(KEYUP): # get all the KEYUP events + if event.key == K_ESCAPE: + terminate() # terminate if the KEYUP event was for the Esc key + pygame.event.post(event) # put the other KEYUP event objects back + + +def calculateLevelAndFallFreq(score): + # Based on the score, return the level the player is on and + # how many seconds pass until a falling piece falls one space. + level = int(score / 10) + 1 + fallFreq = 0.27 - (level * 0.02) + return level, fallFreq + +def getNewPiece(): + # return a random new piece in a random rotation and color + shape = random.choice(list(PIECES.keys())) + newPiece = {'shape': shape, + 'rotation': random.randint(0, len(PIECES[shape]) - 1), + 'x': int(BOARDWIDTH / 2) - int(TEMPLATEWIDTH / 2), + 'y': -2, # start it above the board (i.e. less than 0) + 'color': random.randint(0, len(COLORS)-1)} + return newPiece + + +def addToBoard(board, piece): + # fill in the board based on piece's location, shape, and rotation + for x in range(TEMPLATEWIDTH): + for y in range(TEMPLATEHEIGHT): + if PIECES[piece['shape']][piece['rotation']][y][x] != BLANK: + board[x + piece['x']][y + piece['y']] = piece['color'] + + +def getBlankBoard(): + # create and return a new blank board data structure + board = [] + for i in range(BOARDWIDTH): + board.append([BLANK] * BOARDHEIGHT) + return board + + +def isOnBoard(x, y): + return x >= 0 and x < BOARDWIDTH and y < BOARDHEIGHT + + +def isValidPosition(board, piece, adjX=0, adjY=0): + # Return True if the piece is within the board and not colliding + for x in range(TEMPLATEWIDTH): + for y in range(TEMPLATEHEIGHT): + isAboveBoard = y + piece['y'] + adjY < 0 + if isAboveBoard or PIECES[piece['shape']][piece['rotation']][y][x] == BLANK: + continue + if not isOnBoard(x + piece['x'] + adjX, y + piece['y'] + adjY): + return False + if board[x + piece['x'] + adjX][y + piece['y'] + adjY] != BLANK: + return False + return True + +def isCompleteLine(board, y): + # Return True if the line filled with boxes with no gaps. + for x in range(BOARDWIDTH): + if board[x][y] == BLANK: + return False + return True + + +def removeCompleteLines(board): + # Remove any completed lines on the board, move everything above them down, and return the number of complete lines. + numLinesRemoved = 0 + y = BOARDHEIGHT - 1 # start y at the bottom of the board + while y >= 0: + if isCompleteLine(board, y): + # Remove the line and pull boxes down by one line. + for pullDownY in range(y, 0, -1): + for x in range(BOARDWIDTH): + board[x][pullDownY] = board[x][pullDownY-1] + # Set very top line to blank. + for x in range(BOARDWIDTH): + board[x][0] = BLANK + numLinesRemoved += 1 + # Note on the next iteration of the loop, y is the same. + # This is so that if the line that was pulled down is also + # complete, it will be removed. + else: + y -= 1 # move on to check next row up + return numLinesRemoved + + +def convertToPixelCoords(boxx, boxy): + # Convert the given xy coordinates of the board to xy + # coordinates of the location on the screen. + return (XMARGIN + (boxx * BOXSIZE)), (TOPMARGIN + (boxy * BOXSIZE)) + + +def drawBox(boxx, boxy, color, pixelx=None, pixely=None): + # draw a single box (each tetromino piece has four boxes) + # at xy coordinates on the board. Or, if pixelx & pixely + # are specified, draw to the pixel coordinates stored in + # pixelx & pixely (this is used for the "Next" piece). + if color == BLANK: + return + if pixelx == None and pixely == None: + pixelx, pixely = convertToPixelCoords(boxx, boxy) + pygame.draw.rect(DISPLAYSURF, COLORS[color], (pixelx + 1, pixely + 1, BOXSIZE - 1, BOXSIZE - 1)) + pygame.draw.rect(DISPLAYSURF, LIGHTCOLORS[color], (pixelx + 1, pixely + 1, BOXSIZE - 4, BOXSIZE - 4)) + + +def drawBoard(board): + # draw the border around the board + pygame.draw.rect(DISPLAYSURF, BORDERCOLOR, (XMARGIN - 3, TOPMARGIN - 7, (BOARDWIDTH * BOXSIZE) + 8, (BOARDHEIGHT * BOXSIZE) + 8), 5) + + # fill the background of the board + pygame.draw.rect(DISPLAYSURF, BGCOLOR, (XMARGIN, TOPMARGIN, BOXSIZE * BOARDWIDTH, BOXSIZE * BOARDHEIGHT)) + # draw the individual boxes on the board + for x in range(BOARDWIDTH): + for y in range(BOARDHEIGHT): + drawBox(x, y, board[x][y]) + + +def drawStatus(score, level): + # draw the score text + scoreSurf = BASICFONT.render('Score: %s' % score, True, TEXTCOLOR) + scoreRect = scoreSurf.get_rect() + scoreRect.topleft = (WINDOWWIDTH - 150, 20) + DISPLAYSURF.blit(scoreSurf, scoreRect) + + # draw the level text + levelSurf = BASICFONT.render('Level: %s' % level, True, TEXTCOLOR) + levelRect = levelSurf.get_rect() + levelRect.topleft = (WINDOWWIDTH - 150, 50) + DISPLAYSURF.blit(levelSurf, levelRect) + + +def drawPiece(piece, pixelx=None, pixely=None): + shapeToDraw = PIECES[piece['shape']][piece['rotation']] + if pixelx == None and pixely == None: + # if pixelx & pixely hasn't been specified, use the location stored in the piece data structure + pixelx, pixely = convertToPixelCoords(piece['x'], piece['y']) + + # draw each of the boxes that make up the piece + for x in range(TEMPLATEWIDTH): + for y in range(TEMPLATEHEIGHT): + if shapeToDraw[y][x] != BLANK: + drawBox(None, None, piece['color'], pixelx + (x * BOXSIZE), pixely + (y * BOXSIZE)) + + +def drawNextPiece(piece): + # draw the "next" text + nextSurf = BASICFONT.render('Next:', True, TEXTCOLOR) + nextRect = nextSurf.get_rect() + nextRect.topleft = (WINDOWWIDTH - 120, 80) + DISPLAYSURF.blit(nextSurf, nextRect) + # draw the "next" piece + drawPiece(piece, pixelx=WINDOWWIDTH-120, pixely=100) + + +if __name__ == '__main__': + main() diff --git a/python_games/wormy.py b/python_games/wormy.py new file mode 100644 index 0000000..b8ee209 --- /dev/null +++ b/python_games/wormy.py @@ -0,0 +1,229 @@ +# Wormy (a Nibbles clone) +# By Al Sweigart al@inventwithpython.com +# http://inventwithpython.com/pygame +# Released under a "Simplified BSD" license + +#KRT 14/06/2012 modified Start Screen and Game Over screen to cope with mouse events +#KRT 14/06/2012 Added a non-busy wait to Game Over screen to reduce processor loading from near 100% +import random, pygame, sys +from pygame.locals import * + +FPS = 15 +WINDOWWIDTH = 640 +WINDOWHEIGHT = 480 +CELLSIZE = 20 +assert WINDOWWIDTH % CELLSIZE == 0, "Window width must be a multiple of cell size." +assert WINDOWHEIGHT % CELLSIZE == 0, "Window height must be a multiple of cell size." +CELLWIDTH = int(WINDOWWIDTH / CELLSIZE) +CELLHEIGHT = int(WINDOWHEIGHT / CELLSIZE) + +# R G B +WHITE = (255, 255, 255) +BLACK = ( 0, 0, 0) +RED = (255, 0, 0) +GREEN = ( 0, 255, 0) +DARKGREEN = ( 0, 155, 0) +DARKGRAY = ( 40, 40, 40) +BGCOLOR = BLACK + +UP = 'up' +DOWN = 'down' +LEFT = 'left' +RIGHT = 'right' + +HEAD = 0 # syntactic sugar: index of the worm's head + +def main(): + global FPSCLOCK, DISPLAYSURF, BASICFONT + + pygame.init() + FPSCLOCK = pygame.time.Clock() + DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT)) + BASICFONT = pygame.font.Font('freesansbold.ttf', 18) + pygame.display.set_caption('Wormy') + + showStartScreen() + while True: + runGame() + showGameOverScreen() + + +def runGame(): + # Set a random start point. + startx = random.randint(5, CELLWIDTH - 6) + starty = random.randint(5, CELLHEIGHT - 6) + wormCoords = [{'x': startx, 'y': starty}, + {'x': startx - 1, 'y': starty}, + {'x': startx - 2, 'y': starty}] + direction = RIGHT + + # Start the apple in a random place. + apple = getRandomLocation() + + while True: # main game loop + for event in pygame.event.get(): # event handling loop + if event.type == QUIT: + terminate() + elif event.type == KEYDOWN: + if (event.key == K_LEFT or event.key == K_a) and direction != RIGHT: + direction = LEFT + elif (event.key == K_RIGHT or event.key == K_d) and direction != LEFT: + direction = RIGHT + elif (event.key == K_UP or event.key == K_w) and direction != DOWN: + direction = UP + elif (event.key == K_DOWN or event.key == K_s) and direction != UP: + direction = DOWN + elif event.key == K_ESCAPE: + terminate() + + # check if the worm has hit itself or the edge + if wormCoords[HEAD]['x'] == -1 or wormCoords[HEAD]['x'] == CELLWIDTH or wormCoords[HEAD]['y'] == -1 or wormCoords[HEAD]['y'] == CELLHEIGHT: + return # game over + for wormBody in wormCoords[1:]: + if wormBody['x'] == wormCoords[HEAD]['x'] and wormBody['y'] == wormCoords[HEAD]['y']: + return # game over + + # check if worm has eaten an apply + if wormCoords[HEAD]['x'] == apple['x'] and wormCoords[HEAD]['y'] == apple['y']: + # don't remove worm's tail segment + apple = getRandomLocation() # set a new apple somewhere + else: + del wormCoords[-1] # remove worm's tail segment + + # move the worm by adding a segment in the direction it is moving + if direction == UP: + newHead = {'x': wormCoords[HEAD]['x'], 'y': wormCoords[HEAD]['y'] - 1} + elif direction == DOWN: + newHead = {'x': wormCoords[HEAD]['x'], 'y': wormCoords[HEAD]['y'] + 1} + elif direction == LEFT: + newHead = {'x': wormCoords[HEAD]['x'] - 1, 'y': wormCoords[HEAD]['y']} + elif direction == RIGHT: + newHead = {'x': wormCoords[HEAD]['x'] + 1, 'y': wormCoords[HEAD]['y']} + wormCoords.insert(0, newHead) + DISPLAYSURF.fill(BGCOLOR) + drawGrid() + drawWorm(wormCoords) + drawApple(apple) + drawScore(len(wormCoords) - 3) + pygame.display.update() + FPSCLOCK.tick(FPS) + +def drawPressKeyMsg(): + pressKeySurf = BASICFONT.render('Press a key to play.', True, DARKGRAY) + pressKeyRect = pressKeySurf.get_rect() + pressKeyRect.topleft = (WINDOWWIDTH - 200, WINDOWHEIGHT - 30) + DISPLAYSURF.blit(pressKeySurf, pressKeyRect) + + + +# KRT 14/06/2012 rewrite event detection to deal with mouse use +def checkForKeyPress(): + for event in pygame.event.get(): + if event.type == QUIT: #event is quit + terminate() + elif event.type == KEYDOWN: + if event.key == K_ESCAPE: #event is escape key + terminate() + else: + return event.key #key found return with it + # no quit or key events in queue so return None + return None + + +def showStartScreen(): + titleFont = pygame.font.Font('freesansbold.ttf', 100) + titleSurf1 = titleFont.render('Wormy!', True, WHITE, DARKGREEN) + titleSurf2 = titleFont.render('Wormy!', True, GREEN) + + degrees1 = 0 + degrees2 = 0 + +#KRT 14/06/2012 rewrite event detection to deal with mouse use + pygame.event.get() #clear out event queue + + while True: + DISPLAYSURF.fill(BGCOLOR) + rotatedSurf1 = pygame.transform.rotate(titleSurf1, degrees1) + rotatedRect1 = rotatedSurf1.get_rect() + rotatedRect1.center = (WINDOWWIDTH / 2, WINDOWHEIGHT / 2) + DISPLAYSURF.blit(rotatedSurf1, rotatedRect1) + + rotatedSurf2 = pygame.transform.rotate(titleSurf2, degrees2) + rotatedRect2 = rotatedSurf2.get_rect() + rotatedRect2.center = (WINDOWWIDTH / 2, WINDOWHEIGHT / 2) + DISPLAYSURF.blit(rotatedSurf2, rotatedRect2) + + drawPressKeyMsg() +#KRT 14/06/2012 rewrite event detection to deal with mouse use + if checkForKeyPress(): + return + pygame.display.update() + FPSCLOCK.tick(FPS) + degrees1 += 3 # rotate by 3 degrees each frame + degrees2 += 7 # rotate by 7 degrees each frame + + +def terminate(): + pygame.quit() + sys.exit() + + +def getRandomLocation(): + return {'x': random.randint(0, CELLWIDTH - 1), 'y': random.randint(0, CELLHEIGHT - 1)} + + +def showGameOverScreen(): + gameOverFont = pygame.font.Font('freesansbold.ttf', 150) + gameSurf = gameOverFont.render('Game', True, WHITE) + overSurf = gameOverFont.render('Over', True, WHITE) + gameRect = gameSurf.get_rect() + overRect = overSurf.get_rect() + gameRect.midtop = (WINDOWWIDTH / 2, 10) + overRect.midtop = (WINDOWWIDTH / 2, gameRect.height + 10 + 25) + + DISPLAYSURF.blit(gameSurf, gameRect) + DISPLAYSURF.blit(overSurf, overRect) + drawPressKeyMsg() + pygame.display.update() + pygame.time.wait(500) +#KRT 14/06/2012 rewrite event detection to deal with mouse use + pygame.event.get() #clear out event queue + while True: + if checkForKeyPress(): + return +#KRT 12/06/2012 reduce processor loading in gameover screen. + pygame.time.wait(100) + +def drawScore(score): + scoreSurf = BASICFONT.render('Score: %s' % (score), True, WHITE) + scoreRect = scoreSurf.get_rect() + scoreRect.topleft = (WINDOWWIDTH - 120, 10) + DISPLAYSURF.blit(scoreSurf, scoreRect) + + +def drawWorm(wormCoords): + for coord in wormCoords: + x = coord['x'] * CELLSIZE + y = coord['y'] * CELLSIZE + wormSegmentRect = pygame.Rect(x, y, CELLSIZE, CELLSIZE) + pygame.draw.rect(DISPLAYSURF, DARKGREEN, wormSegmentRect) + wormInnerSegmentRect = pygame.Rect(x + 4, y + 4, CELLSIZE - 8, CELLSIZE - 8) + pygame.draw.rect(DISPLAYSURF, GREEN, wormInnerSegmentRect) + + +def drawApple(coord): + x = coord['x'] * CELLSIZE + y = coord['y'] * CELLSIZE + appleRect = pygame.Rect(x, y, CELLSIZE, CELLSIZE) + pygame.draw.rect(DISPLAYSURF, RED, appleRect) + + +def drawGrid(): + for x in range(0, WINDOWWIDTH, CELLSIZE): # draw vertical lines + pygame.draw.line(DISPLAYSURF, DARKGRAY, (x, 0), (x, WINDOWHEIGHT)) + for y in range(0, WINDOWHEIGHT, CELLSIZE): # draw horizontal lines + pygame.draw.line(DISPLAYSURF, DARKGRAY, (0, y), (WINDOWWIDTH, y)) + + +if __name__ == '__main__': + main()