From 9800dcfb8d348a32b95d08e826e27e616f902415 Mon Sep 17 00:00:00 2001 From: Jessica Guarato Date: Sat, 10 Dec 2022 02:03:46 +0000 Subject: [PATCH] Add files via upload --- README.md | 10 ++ src/flappy.js | 267 +++++++++++++++++++++++++++++++++++++++++++++ src/imgs/bird0.png | Bin 0 -> 93090 bytes src/imgs/bird1.png | Bin 0 -> 93160 bytes src/imgs/bird2.png | Bin 0 -> 93189 bytes src/index.html | 31 ++++++ src/style.css | 149 +++++++++++++++++++++++++ 7 files changed, 457 insertions(+) create mode 100644 README.md create mode 100644 src/flappy.js create mode 100644 src/imgs/bird0.png create mode 100644 src/imgs/bird1.png create mode 100644 src/imgs/bird2.png create mode 100644 src/index.html create mode 100644 src/style.css diff --git a/README.md b/README.md new file mode 100644 index 0000000..6cb23f4 --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +## 🐦 Flappy game + +* A game developed with JavaScript and CSS; +* This is a replica of the original flappy bird game developed for the sole purpose of learning. +* Instructions: + * Click on the screen, or use your spacebar to get started. + * Fly the bird as far as you can without hitting a pipe. + * As the score increases, the difficulty also increases. +* There is also a version in my CodePen page: [https://codepen.io/jguarato/full/mdKoaYR](https://codepen.io/jguarato/full/mdKoaYR). +​ diff --git a/src/flappy.js b/src/flappy.js new file mode 100644 index 0000000..07d7593 --- /dev/null +++ b/src/flappy.js @@ -0,0 +1,267 @@ +function newElement(tagName, className) { + const element = document.createElement(tagName); + element.className = className; + + return element; +} + +function ScoreBoard() { + + this.HTMLElement = newElement('div', 'score'); + + this.updateScore = score => this.HTMLElement.innerHTML = score; + + this.updateScore(0); + +} + +function Bird() { + + let isFlying = false; + + this.HTMLElement = newElement('img', 'bird'); + + this.getSource = () => parseInt(this.HTMLElement.src.split('bird')[1].split('.png')[0]); + this.setSource = number => this.HTMLElement.src = `./imgs/bird${number}.png`; + + this.getAltitude = () => parseFloat(this.HTMLElement.style.bottom.split('%')[0]); + this.setAltitude = altitude => this.HTMLElement.style.bottom = `${altitude}%`; + + const flying = () => isFlying = true; + const falling = () => isFlying = false; + + this.resetEvents = () => { + + window.onmousedown = () => flying(); + window.onmouseup = () => falling(); + + window.onkeydown = () => flying(); + window.onkeyup = () => falling(); + + window.ontouchstart = () => flying(); + window.ontouchend = () => falling(); + } + + this.fly = () => { + + let y = this.getAltitude(); + let src = this.getSource(); + + y += isFlying ? 1 : -0.6; + src = isFlying ? + (src === 0 ? 2 : 0) : 1; + + this.setAltitude(y); + this.setSource(src); + } + + this.resetEvents(); + this.setSource(1); + this.setAltitude(50); + +} + +function Barrier(reverse = false) { + + this.HTMLElement = newElement('div', 'barrier'); + + const pipe = newElement('div', 'pipe'); + this.HTMLElement.appendChild(pipe); + + const border = newElement('div', 'border'); + this.HTMLElement.appendChild(border); + + this.HTMLElement.style.flexDirection = reverse ? 'column-reverse' : 'column'; + + this.setHeight = height => this.HTMLElement.style.height = `${height}%`; + +} + +function BarrierPair(initPosition) { + + this.HTMLElement = newElement('div', 'barrier-pair'); + + this.crossedMiddle = false; + + this.top = new Barrier(); + this.HTMLElement.appendChild(this.top.HTMLElement); + + this.bottom = new Barrier(true); + this.HTMLElement.appendChild(this.bottom.HTMLElement); + + this.sortOpening = () => { + + const minOpening = 25; + const maxOpening = 40; + const minHeight = 10; + + const opening = Math.random() * (maxOpening - minOpening) + minOpening; + + const maxHeight = 100 - (2 * minHeight + opening); + const heightTop = Math.random() * (maxHeight - minHeight) + minHeight; + const heightBottom = 100 - opening - heightTop; + + this.top.setHeight(heightTop); + this.bottom.setHeight(heightBottom); + } + + this.getPosition = () => parseFloat(this.HTMLElement.style.right.split('%')[0]); + this.setPosition = position => this.HTMLElement.style.right = `${position}%`; + + this.move = displacement => this.setPosition(this.getPosition() + displacement); + + this.sortOpening(); + this.setPosition(initPosition); + +} + +function Obstacles(addScore) { + + this.displacement = 1; + + this.pairs = [ + new BarrierPair(-25), + new BarrierPair(-100) + ]; + + this.animation = () => { + this.pairs.forEach(pair => { + + const position = pair.getPosition(); + pair.move(this.displacement); + + if (position >= 100) { + pair.setPosition(-50); + pair.sortOpening(); + pair.crossedMiddle = false; + } + + const crossedMiddle = position >= 50 && + position < 50 + this.displacement; + + if (crossedMiddle && !pair.crossedMiddle) { + addScore(); + pair.crossedMiddle = true; + } + }); + }; + +} + +function checkOverlappingElements(elem1, elem2) { + + const e1 = elem1.getBoundingClientRect(); + const e2 = elem2.getBoundingClientRect(); + + const horizontal = e1.right >= e2.left + && e1.left <= e2.right; + + const vertical = e1.top <= e2.bottom + && e1.bottom >= e2.top; + + return horizontal && vertical; +} + +function checkCollision(bird, barriers) { + + let collisionHappened = false; + + barriers.forEach(pair => { + + if (!collisionHappened) { + + const birdElem = bird.HTMLElement; + const topBarrier = pair.top.HTMLElement; + const bottomBarrier = pair.bottom.HTMLElement; + + collisionHappened = checkOverlappingElements(birdElem, topBarrier) + || checkOverlappingElements(birdElem, bottomBarrier); + } + + }); + + return collisionHappened; +} + +function resetEventFunctions(clear = true, callBackFunc) { + + if (clear) { + window.onclick = () => {}; + window.onkeydown = () => {}; + window.ontouchstart = () => {}; + } else { + window.onclick = callBackFunc; + window.onkeydown = callBackFunc; + window.ontouchstart = callBackFunc; + } + +} + +function FlappyGame() { + + let loop; + let score = 0; + + const gameScene = document.querySelector('[flappy-game]'); + + const scoreBoard = new ScoreBoard(); + gameScene.appendChild(scoreBoard.HTMLElement); + + const bird = new Bird(); + gameScene.appendChild(bird.HTMLElement); + + const obstacles = new Obstacles(() => { + + scoreBoard.updateScore(++score); + if (score % 10 === 0 && score > 0) obstacles.displacement += 0.2; + + }); + + obstacles.pairs.forEach(pair => gameScene.appendChild(pair.HTMLElement)); + + this.start = () => { + + resetEventFunctions(); + bird.resetEvents(); + + loop = setInterval(() => { + + bird.fly(); + + obstacles.animation(); + + if (checkCollision(bird, obstacles.pairs)) this.finish(); + + }, 20); + + } + + this.startWithDelay = (miliseconds = 3000) => { + + setTimeout(() => this.start(), miliseconds); + } + + this.stop = () => clearInterval(loop); + + this.finish = () => { + + this.stop(); + + const userResponse = confirm('GAME OVER! \n\nRestart game?'); + + if (userResponse) { + window.location.reload(); + } else { + const message = () => { + alert('GAME OVER! \n\nReload page to restart (F5).'); + resetEventFunctions(); + } + resetEventFunctions(false, message); + } + } + +} + +const newGame = new FlappyGame(); +// newGame.startWithDelay(); +resetEventFunctions(false, newGame.start); \ No newline at end of file diff --git a/src/imgs/bird0.png b/src/imgs/bird0.png new file mode 100644 index 0000000000000000000000000000000000000000..75d1fd755f2d9a577b677181b656314517b6452d GIT binary patch literal 93090 zcmeF42Y^*I*2nYe%$v&4M4BKdDC*i!L{XZ8=%Qf5x^{8xh*$sxK~dJWmR0PoV#QVL zqNv!{w%D*E*ywHQ>+k#ja$klA(q;sO-7jz__vPj$C&@o2CnqPlS0CKJPjNx>0%J_^ z{(XB7ls{S5$o#PWE(%<(2Mw;jCv zzMeSY$RX_~7x&IAXuP+7vvc<>>FY0hW%Tt+#tl59&7N`1XOI5t2Y>sW8+~?C zCjQVqnOTROcF^_D?39?_ZP|@mJ=XD@Q{$JsmH04Ie(@GtR8^+lJALZ+-+%FR#r5yM zI&#OwbB4rH@tXfkx~!=EJzrI%Q)8AaI3>N)!Lj&&ll(JJixoZdN{2^}Nx%QW$PfSi z)0`#oi>L1s*llsMryqFeA159b{r;qXG|wFH`R(5?Ngm#C$!1Hwsi|t#?aJe4lpTzwidG)ndpSJVjzmNO4{WqCR zRr2{3-ySr!W1qIWk6bX}f?N6?aOQ4-POrSQPltg+_UUo$^q;rbBU!Q4l3~BJnAv2) zDGl#FyYpq{$Y`6(_CButGwB28myYPuuj>gNuWqy1j6U5j+3Lv`Bg@V%ANu;M<&Pe) z<-3nR7vAdUWBb3d)qe(VbI;+!TRndLZZAH$;PE$~duFHhkAL#s!-qY3%|o{wH>Gm7 z`G4K>vhAz)J@=AbD(~6-_L8_|!2i&MZVg)X9zOHX5vOz-a?7J{6t_BlPWS4@ zn?GOuSWWjIc0c{-yT@1F{mu5Le7^OR=NEN8^o6r-KJVHIxBsj7)6;f3_LRFO+!KoS z7<}u5TQ__Alb;7xZ}ar{1$!NS=Fh{LwLbNZ;8%a$>6^pmG~ezor?%@oX7p<o>J79R12M&n|qn&yov{n(^L^N6#2|;^Z@C41a#_qu#7|VXN4dP4BTbZ7dGm1+fh>o6iwP|L9c@^teSlN_K)@d^G`*OJihaf zXCL|Ln@9X5vD;^3Py6zmn?79d%%X{h?0ibm(;xS}?D6M+{wV$OS&tlj!LS8Q|NY&9 z!QVeyHUG_#b4T2I_;ye1{ZXr~*Zt!;Q$4x*&YMmi6S%y~pc7v?_KYtc+&eYt@e8`Y z@L{B6a%?^+4ch$JD;iYHX{q!Sq+xPyo=G+_d zw@#R=cYE~Od5xlfe)IOr29_MXXWpqDzkPAWYqOf&(e8Nv52qZq^z5BVd-v+S`5Av| z`t6b}JD>d6{3$y>F?q`;UyZyzpr6_L!plE=`k{xfI;8Nu^UrwytE11lXT&8Z-8}V~ zG1U*=+Hm4$?SlD>fO^$U2^)3-OENT9@YP&*NSE}J$b;fXP*+=#XPXZf`#vV*73nl9-cq?f;Mdr zZn?uPE$;Z>+A7~em-hea@w=}cKkd9d$KSr!SBDgDIdl5g^9C1gduh!v!$$X7(CE>Q zPX`swi%U}`tIKE-}heUhqr3`r|0&1=A>SG zOnj;J2S*$gY})&THfz(h=b+QdJ3r=G*QZ?kZ2t1B8m_2e-vPUwB&?CT#L-temMJ%2g- z*zHDN{ON@M+&upJ$4>}FcAa@&c+opgl~qoA`_u4t9}jOc|NYTtEIn_V9;1(rA5}AO z+sF3#?6|>4l~zqTIK9>G_YZ!gP4A@#zSRDT!oi32^-X&6kw1Ugx?-~z8y$MjKc>C3 zPwzo(e_q<8Z)pCNPfVRvX0GeH<2k1Vw*KX;r>`0DWRt6QopQ>w(+?OB*lox+7vJ!~ z0hiue{%QEs(SsU>4sHG81z-K?t@)3?Rq>}x+jFi8y!ytGy*`fl4!gVEoEL}p`RV*~ z_j~hzuUhu?|9QbRXGLE9^WQ(861%WyvxA1bcF={ljoYftv>_kQscts&q^=XUJF#=w z9dBG%;5+W+zRk}+@Zf%}-rBX#pk4c)dE^rp-uLJ@f6v>`?sibOnrq6A+~emT4!QM& zxs}b&obgEF>IXmXI{mPLo!@x&%gNVv{A^HhvzC5dC_2P@V-rVEfs|qjZZVsIB#l`0zc+l3f|JrNhu=%|k?LB5f$6L<`Jb6Q- ztIjxQ%kz4Td#%&`Eep0idDIIvL$`gZ%MLa3-WcEc-7SXCz5j&FkfZy3kw52|^M{}R z_M+&!C(dhn#p#b+b$aVpPPzY;L8V7O(y-l_rSX1?ruRL#vRPTT$9t4Kb;T!rI(^mi z?WRp`Yn|xZ?ybuY^yOb(GVbE8ji2v!(GESTE-5MBX}eahjXdK1S>qm_Jlof`dtk?d z#$Pe^>{d-D?lmp6<-mLUO`B2Kw9~A%*X%MnJm#BayZ-Hj)7!n$%r|N4mS1e$diaga z@4WqiMprEMFWmj`Sv@LtyJhr!O^1x>b#!!S%RV1$-ukR7?!4sOzFWWiQ|rrn-LO;X zp)(F{->GO$b>8qEpZ6bs_|~l&Z{6YVjjG3P-gVIh{xM4{hL^Tm@ciiTX}eCy`(XB` z-3PXg?|9~k+aLJh;}3M`a&Vvf@*2GV?flC7uV^^&q~a}l&;Ie^L)#7<^VaL_Ml~E! zcITg4-g@WX%8u!D!1wd6YjOB4hkW|+w6;%{bh-D#(HFlq^M*n1jZ5{YY|(F@g(LTA z`^%&qJ8jc%*1uoBdSKCQ_x|o7yM9!< z`|JOh*XE*MZak~!%Om_9hi=y4rsC>1N{@SI!14V*-QtV8U+6o$_f}(u&FI~J&sTe# z^~JF7+xlmXedVzmUhFqz+7nGrKK{o}Cy%Rnu+LG8PMF+q!06&v4t(O%OD~x9{WYI| z=L@ubWA?f#b!Z2!~g!P(9B?fu1p2Q_-A@vYD8yW^;i?V=yu z{KD*Q2lqRnu<){qyZ0Ng=Y{)jyXda?eYf2G<+g1$zj(_zU3S>6*)z#|9#IQI0Hhkm;2guBuUpSyIgDR-B( zYS?euh*o>`8hU%DF5Q195BzQDfQGm2`0O>^nw-;SVy}UN55MWe&BA-le)-7<-}PU9 z&It#++u%Qwr|!}H;7cFaBQdUV{H=N49gw;0f;T68Tkvq3rB4oh`~BC$tui~#x?||U zSC8q^f5diOMip&4qWAs1`tHzu+%{Vu^26R8pBO%NyNTl`Uq7tHKVRH@;FSX+jf=1R zxX1oOn|FEO*@dS!JL|o|(bu=W`N}rqq7U4C=H+c}yX^k!?wepP{Uo%@j!nz{`tb1= ze6+90KYZ>{z1pZu=^A9~Qj={L=8wxH~S0ViZaz516Ib)WR!d4C>s^xs}tI=%N@ z*M2v$K4PyE|26xYHm5Wl|LT>GeY)S31CD7}GGXs0cbIrx zw?8$zaZu3?TYS7#hnEJm?08+5qEo)9xHr7jp^tsCZ?Bz~_BwIDhwq5LxZ_WkTpxO^ zbMeii3SaAY)Zkm@_3E(rw1yLWpMUbejH}+*_Pk^K59c-eCa-k=@7fOzZhvEw(~8fz zX1~j~XnDrin&FSPKJ&}N-`?}?rHwlDKdI?s=X|!$mLHXTd|}tZu6;+9y)&kA&XZdf zgucG_jD2^Vcix~6?)~(kr}|GB+U4pq1`Yh;hV2jQ9qWGX(9!b$ZZT?wy{GM;^ ze&^Zmo>aN8`OFD}W^LB-xod{T@+V*ZuVDJy5B|}5{`K9qyR-3~`@i$m!x!DyZ}X2j z9(QP~ukM@O>tAgjY<_L0VQsG)^7@nA|Mkhdhx&}{-}0aLzByp;aio1o5WKWz5LeecijKRphg4l8h&x< z2TON)rewPo-<^BDe#n=hcTbq!tH<-Dm$rv_@S z(yMp<=Z$mw9Z=k`MbT?L+fT{({(0nGd+)X18E;p&-}SbC+;L>*55{yKHsIsRon|z; zYrEGABMnb%9w_hG;``IbbqIAoVP2zgKhF&hzPI^S{ZIa7RQDfmJ9xz4%Xj?b_4HFc z`*i4Z*03huj=Zz!#Y5Y^F!_b0$srTZx_)HulHJd4F}}*TP4|h@FT1EZ&|&7_?cexu z`u<}dd+^a6JD>hZkLyNl(dCvdkA{Ak&}{ncosW9$hZ~yztK}1mr|+=ssKSY_K5(rW zdv$u^*lyGQJflOpL11ptNykhcbMMGm$DB8;!&PINzjRTLc+1n@9eT$HV_(hx`=j^& z_{_5H_ZoA{MN|4b^58c^?!0BxnDGO8H`w#8lUv?a8A_M_tI@vM? zEckHfLk|ypXwS zmutSzAo$9C*PZvnh;!fG{fgMFpPo5=&o-BhyXU@VdYtiP%Srd_cm0UwXWw_l+uL*- zklf>>W4rn;YJ1R)@NKOP-!ymsor zU(FiOcc%q!+*N$cjEuyN82}iyHR=D<_BGO)4unP5B50jyoS+F-Wq=I z=Es(NUi!m%Z+`M{_0n^v&1~}JAv-^_|4Tnl$s6&&?AzvEdiK0YFCRRAv$p=~z@bNxxUj5)MzW*FC_vf9rxuo#I0eyGf zqw&f2-c-6{AnzYH4nF?J{}g;Nrt53F52;Ka8TfighvD;LyI=eO{U=I85j?-= z{)gtvjmSUwDr4H1{d@N~^dg_>bopl^_4xnY|JT5#T?4*NoBX;{f0?<=AG;_vy`Z3= zbs~|-D20@+bVhD9sbzdVpPy$$Nu^R5E`?EdKKGt{TbJ4J)g<-n;Jm!N0HH3Om1B6> zc%iztG!i!_A7471CW0><4hNSmU0S0wgZiCOIBD}dw%1;J#SS{?pw>kEZ*vs(f6axj zy6UR!g2A9KnM|&=?0&!BWIvV2VxrfzqmbDi(_%(_-Y?+;t&2OLG0RWZ8Lut@4vxU$3>O+U+Mnm zKrB6Rz8ds@uG~Uz-hU;6Rj5ru#U|iEC%{9qU^V;lt0 zK8L#WXfxW8of~bVzIW}g(GvN^=QFrm-LJQ)awf+?Ts zTrl>h^R+Z(qP~nj>C5>1X@4@D@n?diWep5^(|9~?N(=K%ta7or^74yKK_G6bt1C@9 zoTt|XLzuHoYu$aH`cpuow5`Mpi(_fy_r>IEfg}?WSc8ye;^~yhFUmLb7A!NLd^T6% zys56Ig_O)OQ})mv2G15Cy?pT{6bjWYV)W_LN3>QO>9^O|PHU6(5ud1wE?v5q?%lf^ z7IL)0XIivqVdl@DZz7S1%~LCX_L&w>s(bY4QMkrTH?oHtJy*WNyQUunQK>*CV^0!rVG2^n}jFa^*eDH9P50TT!ZOjW$bn1J6*dF^d; z?zvZ(xr?h6!^ax2jq6qjS;PQT0PpFipEiJcZ6ICSbJE6LcG+d7fB*g~tmpw;Iy(8e zbb9venLoiy2%Tn5^Ogkd+Z*?vjUL1e%F4pYv!LV$!5S_M*eAOx%cgK!VT z061xa`4N+h#Y}!)fl0(F1uJ6;B1I;dDK^y$7a7?c2=ZC**2A~lT<>{EPKhgff&<-1 zC{=y}b~$>Gwcc+fC9iV(G7iTa=g1HN1CL~ z#Y!Z=<-Vq-=2rkF9f3Oii}_{EiLNQbKj7I$58|auD{5$na46q$)kFfVkw6genUscX zi)|aCKSCpewvZugB?TyBl5j!!(O9(!(KN!=(q)THqXzjVk**NujhjH0Bf5cmU46ee zxOlsAmoNE2E}mp`gUhLYg@iyb zB#}Y@#VHsOL(-r3TYqbHOIQyG*I^+Vg;QF|G;CaA7SH|46ox%6NP6{gh%SBs((5=% zK_FHxq6a#4sUy`aTWZ3QkYr@><`m)vGiwdwX^9;IPB7pZ^8g|TFgPaiu&nOZO4iyq zu@g~9i*%iM0Vl?}_W?6@7|NH5-lW_{58@yKt#w&gTEO{DT!65cUPX0VjR4^eoQfJx zYFL$DB3zU&TcXLLI8Wm;W0ovlMGEU0#5_MCGO~=ziZpsxfbiS1F~S)Mp^jW}K` zYGd+-H8PR_o>1p>Lp`~|Apw{Ju#LB_ImO?eF@|Mh{|X)O>1Z z$!g+SS$WPwiRw885Iio3oXH)4lCnz;B@ieeD0NzNnI}i{jA>FxvTRrlnx}s$t7enh z%fnQie8dQi3AVvBWwL!Hjp~j|v>|MWa4RO{M@q$Ai)`GK=z#Mf)2ET^MJsl}fXkUy zIyu$8@EiV+9%(yy+a*N@;c}gaaDIyuFX&`CxnAj_Z`A%q58{&I{5;wji~;6+4bN3o zno4OX)-+0?XxflVEo7|E69ASHD3ap9g00kRVR6DL#Y&rmhU;)cfv8e?*!*HW&mvfN zD?1u?bGfjkjM%aW0F5i%92DzE>E zJOJ&$3wLyRI&QhT{MRKM@RAPcJCOn4(n*}-IgWfa+AY>1$m$F2UfPKKKNQ5Qrm9g96p+FShZ7e@^n1xH6DU-#NPAqm7E$&s(%@}|UC(#FSMUW;lP6eKB~5JEGEq@v z0(lY9T4)y#mQ^k_B}EYvkXj^}mVR5pIw{AMr!S;M5s5;YxSCjv$IbP~0uC?%xOGvn z@y?o@>ky=eD1qbN$;F5m#Brdms;X)tnV5Nqr|`CKY}|kT5D;s|Tr+3RoXX8N->h+; zXm4AIJ}njmgJCl=I7*G~DlKNN9y>xZtT8nLuqOEyycTzg5)lTaGPZnFlHUsa6y5@m zlbTEw3%M!bBq08hrw6InS0>Ovv-2pscL1r}>I7n*uTD_rS*k#CZHdVbM#O9znPoLe zQ&ADM@@HOQnSNK8pua?uHJ>ReZK|#&{V!t(nk>;0i^gjwbA^S48fCE9+D z`&RjsYuKkBi{tA33@dJR@Dsj>sWxTimOEcGcikVetjn@5bvBeI&{HH8UtBwgC{dT) zb}%oz`o4w->4QUz7D+)`le~D+%B-l^9G7%M{PN1F-yLZJSbVOcB2O;Q6)AETR-S$K zS##il2Qnfg6kelu3e}k^)u|$SCqNkYq6QwZ=9QTGkzD7u)(oJIK|;WcKe%a@sAt$vwgg=#TrCrpWCxd{iP$dEdM zNuK^>9r80U^-C0~Fd^w~BZV5)s}~x7VYykh_*2uWnchn+6wqUeC2fPaaz>f1>>~@T zD%^`#su4p%O~_NYvCsk;QifPs_+2hAQ{g-+C~U-PhKVJlcC%VUa?V)5IdK9&;{YE( z`>ntR%uc+>1v6o!@1D64ph=S^Hh*#Hkko#5e3Xb&Y6JC0U@juA!fI>VJ^Q2l^#kZS zQm=|*J3K42Ir=GY0;G-dN=-9){pHFeYs7IA()DVR6kVnju%I||p{XffEMP{2G06;) zQ~kClc!V(C@e@UcG##pNsoKI?Y10z4saaqesY#-hKWkM@=~>$cMRrZHlJ7Jat9lLu zjcKGjGU`?Wo_@x-q3M+l+7eCwBz6=?XI*7x{WMqM*mZc|)%1_)r!~%L(4c_@6!ij- z5ee3pqay%j=NxdIPxvy)_Yy0tNaNx;-|4ZT3E-pC7L9QyQ@eP7lrMhu`#V)e2zksp zD6qis#$vxJoFI3FLz?VJ#th5Mr?5b>Wz{m1iB)JpL7IlBWJ!*chzssf)eg_7XZQ4lu zNFpp1nO3d0)F`mX+IQ%w!Ze0x;iI^?*vhPc1OOu=|5jZw>En=p9oX<)Cm|nKE zv8fS&i<>pokS}hHic4J9FMCZcwZ4$gg?b4S!+cGy5k}u7HxUrGX^Ti7mTL7oC zR&rkEb^q%Vt>FL@HcvAW4i{)?TpSNo78*7N73-lTPMI35;gmLNB2h$KV;j<-$2#F=7jx7C<`(9sCB+INqUC z0cHTsC2_(-y?f~o^#2eLs}k}Ycc=w$E$>}knbZqIUbSY|#TsrSvQA6L)>z0}N!wOy_Qz|<=~fW*1>V1(qE13R67c)6f=@8qWWN8bNYAP&&8u}ZVf z;ik4GmXj6AlQtrmF_p{8HFP6SqB}#BRvaxs`vhz|m|Km7P@^Q%Rn-Dk+~i4qlm0^g z0D>}s+c1GsIvMn*Sx#A-Z5?mm#9UBo;bry9`ayXJz!z|}{9O&@-_y z`FcYO9e$}Mf>LQARs@uX54#K4rC&aa6@D%K0)3UfcH*`gI@T7vLItj-IDpNT2dg>( zmI-HC9T;&QSVM>UsTZy|g!w5CokDR}aEeEs?pop5Dt-W3rxymi4$wq(;(~k4$;eFd z05LK!my@M=-mqaq8(rzL?72}mrXTfoQjSxXE4WcvrML?eAEfc%O@F!k3P~Fn#OUYB0MXO>x?fd))~Ys2N#*5P^GC1jYy1G;)WZy+T=>H#4K^Q z)}NP{SF0{^Ll_)@%3-&L1@NyL2o)4fY)s>3Eo8`!^vE)<0 z!E~jGG!a_j^QA@;XeD=gtEdX&D25d0mx&vvm&&hD>Kfc7j|Sk*^+kx@T%!ZPa!4}j zcXkh6rR+NVm}<(!C1!**@$^dSftyz_viEBQ3S<{$Y~-9j#K|U|6T13a>Kn5lPn z4=4dJ6FI_MI4J>Ox1#4({RjuZaCgN;cid9Az^)a}p)s<6ekc~At&eut)8MF#3mdXT3+GEq5fvAgj#%;|W{ttXQqyVclsWzQUZzpL z417{j!TIyVaW%PHQYG648J|nvEaN!oh0y?1Sn(Lmg~to!Z77#5R6?{?sdLR;IA0n+ zaWxq_$E03MOO^mkX-!g@+###82Gn7THnN{inL+^>QNF$oW&?Qdz4u--Y0@OCzRLwQ zz$Jg$hPYd9xuuypb!u&Pyh|J$@!Z4@Ml^c#=#TZz0);cwA!kIyu|xXJ3qjrcB#y)< zpFeq#j+5h=nAR zZ{-|mEA*Rbp=ED+Ki7GzVa2R+pSydQ2-lB4{%EF6n`XHvZGi)z&N-mMnS1u^X+cdq z+Sj$Q^PM=d-+ucQDa>2bb_uQID~EL781Q1xm~W?h!SOV27mC>-0Gpsz*?BfprU{J1qB zGI4ei>tRGgs81RTB1-sVXQF3iYbjG(uspr9w;~8!v+24HBA@#3S|K;Xu_ry-#+cRF0?=;MJK_MG7YFxs z?a4C$@7mZg9l{;(d58BAD|pYfC(m;`1@TsPS*(ci4d-0vUTqGVwD}|h+qz>?Kp`CA zt|C_Z@+uy<4zTKXX*jQ$_?vs7h2l4}d@!Omm%J=sz&Z4rHqT_DrX-@p4zcazGL3dv zoMC5NC4eiIw%SQwtcq8IX#0mc0iBUl>+fo}NUbRe%LK)F!(speEx@i;XG`c_T5o%$ zbe~X%$O!ndzOiK#{Ib;LHj~PO?s**@V8l6*!2QmB-2oUdJAJU@(!>Mw*@>O)5QOpE z;eg+3a*DS>SNd{mXSH;w7h2ZqmPV-%+`1NGwF$5C0S)9DDNEkUIJ52I@vNBGwxk3j z(_SlEvbf;a!bq@K0LGS+kFUxoIZ>t2M5V|Gz^s(XC<7z2mGmg9BKv{?*IT-|39S{xsL#|3L%G&a3@y0a z;U+iHy4^#!eo~V|sg>>>MO`g-@#$1}% zA&LY5t$b~_(+|DHi`jH^S8um6Hx^S}ZL$`mdg{QN3tHQKMNck>EqU2aup)uEoqfe8 z8`CcsojCah1@T(tV|2b#%~ZQ$<0^+?2fCP~ty(N_G1u;6*Sp+lI9&l$9=Ek1Um;v? zh~rwD;4Ff8oF6IF+DAw>68aI()*Apo9z|QBoyf8+@&LwOKH*#IC-ru@0Cb70Kqh(D z1}rZp?|Ib0d9zw|#brcMh3XaWrR8rB?sC|)eDEP|Yz3+fMfqAm%p~un)JryhbcZO= z-Gt3e0@fdKYT6YVi>7u>iJt{#t?$XlRy(Z0p-S6-(wQ0)(Sa$(CmpfUvKywwrStNG zCMxsJkc@Rwn&1Q^JBI?Ac(QEv8{Mi>U=oScVrQVMiohdbb!G7uAOm4{xzdwVu3Jr# zxluNXdl;VPQon&!ti2d(1+m15K<9X8n^G=-nE=3ze=8@J-YKUgX*vf~M?7I_N;tOV zT5xN46)GxCFzlDGEL>!|S!RmEEi`HR#cp#dD$LXBv`jhG@dBnqK$fMJ425D+#|5-A zTJtPp)y6KX_22_8D8}J?U~^EU9PX)&V*jA_qdYvZBa`HjU&mS=-`%+`zAkayJHNLN zMkIFrKAaeiO92I1A966hHg*QI8dso|oTRvL&@FO66T~@9!*8n?vUR|fpKTH3O3wjM zE)NLkfnDR_W9|qi*1k=%U{TyOXx`NBL=J`;%2udAfY$t9Xs<-Uq8VLHywWsi)ZC;i zf3otiM!WUmR)Njs>5_*oD=rXfJ0#nzpeZLj`v&nS?V7;pYApN8M(zD(Mz@yI1&0kA z_N_80y3lta_6-5u`-YieD0t)Fns4E>>54BZ%sJOo>WX~wVfG6XHiW&S1W4*x}t3qPBQTZB{MjF{P=cjD{1%c-Oa17 zzG|b)bG-1P$(-Yby6!J}qdggn0C|8U@A7yVG7b`*lCuLIPMg4KS)KUSS6` zioqg1Jo4zxWl^?BaFdB5X^|9>h-~2@KU?iSKqV_U79|L)1r-Y@8Ut9yCM;J&VUx0* zk9U1{{{d)UYvKw5*VZ8S6&2p3>b2l-{n1W7G)*yd*ef!%C8RS`LaP@J1zdHR#g zG}Hu8b{IM|+hWY6iT|rM_VTG^**S5txCURI1AV-2T63;rzo%JrK$McMMa2$LKN*B@nwr>&1 zqeXFi;{1#dS%Q~`+xN5aNslY*=$Mq6L%dLR|G)DDwT-ME`b>I6yOCCB3$S`(ftbX4 z3kqz)xaBXRfIQpa0BgmT_em`9Gd0vwunxYmk69SeR~-dtPhdv=_Q0HjF5Qx@ml`>d zj|bdb?&@_4W$T=i@p<6l>zS3U-Lq_5FYWBovm@L2ic>oRxU@F`U*b$oC2jzMJ6-MM-Bf;tj|_b^yR! z$StJ8Y6=-~Z=IKk_t1rHy#7iRynYFFHN1XP{XJ8oRqciN2q(@0)wQ-AvpqS%k|ivp z0@?$mi#1=}2pbBtV?Ahe_j(3yl#a!iZ3Y0W69oDGfebXPb&q5kOzu1~;FVdupnciq zXy4E1owNjUj~gpty#tt&V&S|&R*-`+HR?oWbtuFgH@3y0EIfo3E}Ub}-mi`FuQ;)z zc7xEj>4P|1Egm?qJ$C_FUxvj(i^4r&*)t*2sotEFB?Dv~S)qtP2oZyK+&%E|W`Ts_ zI33Y)R>ec0wp>%ut*TB>w8?~Mdd5BA#PQ(_NKgm!^GPQe67$eXhBA zm)!NpI0|)eJ;*-a$URrw4MOHxL5w_;tN3$@V;0Fb1_$?orhF}B{JN$@Bb?UC z0~+QPflaGP(^&iS+M1e}tiFYuR4OJ@w-O!2DIhB@YKwpjEfO*9m=rs-z#?&702#iS z@pGJ@fEtV%o&IBOnbBNew#t#S7;#X!?t5SW9TCPa1Lvrg6`6~2*fHwo6dT}3l{`eC zja^txzI4&+0_0Fi6 zc)!JoE=sn++*(1r!E#wN=&a_d)xD);E;edoY%lCo?l^FwPD1S=h&AbgV6UN>GO`2*kU0Zmi!+v^NSPW>}vtK%ND3 z5XEzBq3O`dn4Y^CGfyA*ls&DLm5C~Q6TAH+CR$|QY?^MKF#n$Vw8<-JqfLT3YCgtR zZf^%?Sn3i61D)1k$}1{N$M)^?X(+o}({gAgjtDb!C~tD;aqbcshj0Wa0A1O+Fo3zm z7F(E}J$qX7L_kcP;j@tr@H?aN-FDl}ZV6dm0A87<4e^_jud$a<5#73VvzxadfC9sX z9Y@{}MAaotZRfYf!xUs$`65$XqVt;cuPT<%wvH0p=u0uO&?Y?OP2(#!Ep;xe-LNOX zRSP(P-cagO`d?x5}ZkCA{P*U3`(ZP=^WTZjn1UfcU|;7 zB^@KLctLG7QKv`?pf#0oQ(U^44hSkWuY6Ep1`q#O>*H+g_Ril*=!w+;QxMS|kOdgh z{nU5fkxpFOl(Rw!S`<%i7YRZ#miA$FjLvPgGNqXN%el76yDr94e_XuWuvOi^^2#eobs$9i4dOO=PV8!hg@@7-wwQZzv3E2O9|Ykv5S_9j zl(MBiAYd=ma8He*7iJ^6JnN8eTM z)SRpm6@h7Oon;V6Tftl6fbKcQfGZ>R9MjH#G|F!g??gO6$%O-GaANn&i3^AiZf}wU zBY?#@aJ%0&@HhNX`l5EjxlJC#01s$ckwOi}S6^hrB#y|E9`Y@J?X7lha)X?y&ygw= zZs{x1+svSpjt(N!cXh>Nb&uU~O}a`lvrw&gJhuqKB*SV6JTIkpQc~6N?FGA&Rlw!z zHyn>2vF7?r044wG>olp5%<7ODM07x(BlT;2+-f$Im&OTuq*1ko`J{|SIY|+X21f`1 zN4wM~pRz)msM7nIB&q{Az$)lh4$!h^$T9j*bGr`4TB&RYEU2OQ~Xk4>=l? zFmJM(6Oc3D(>&+0hyzAmn^G? z^JWSV@I8HUL=(~)eM5wNDB(g`q0*B{al~T>@>w0vz9&j%ataQW8i^N}mvg93@yRc^P>-E*k8& ze3gGSXU~dEI#`g+RIH%L59*r_aZ!%O1W_oUGdZma4id=Mb~vpUa)vAcIgZ~ehXGLc zB}k$oUf9t~;W!6gfEx%DG~4xbV?0}cfR&4Fq)p(DMqc%NdwHD3(roL8-|ixmCR62G zpWiE1qUziZfh+r7eB0c-RO^UW>sEeg9e+cCqaq=6`NZ=0#x5=z6|FXc8c4RTMSKQH zV9VotSb@QQZi$FOVP2*{HDFI?nK)3yWXMPbdSr|xx4P3-%N%%;W0qZ zBaYHfN?f87*)PizX*G^7zb{*&?Ft*vi7cv^3oa`sI_)1zEJS;j@gWLew4qu@_jpCdc*g+}aFV=tQAaAjIyqq1IN%=Ga3j4j;bPEAOCRjekA!BL zbZ|OvTB05#JB5p(vE}#%%X6KPJ)qsPVWa)|9)MzQ>wn<`T>E+rv}LA zvT)*kUG|=&ykc{=T4%Fd?Nia@(pDUMUYC4ETdGCqR%W%ituhs&@!p1XFibG%$#^a& za<-01iDvb77}4a2^?RH}Lw3j!XR#9>jxA9S_35Nor0nH9)&bdTbo&UdqZmA)3cOVL z#ofC5g0MOb8VcT%u$k>(9vXxSFJUiDt8-PQi>unXl#t|M8(o{66`w?n%0}^RAGYOG zI(A0oQRe8jk(5C#2z0}H{I*~u9d&9Bp$Uqc>VrC}7k%PMXIL-fBaQSI0T?j&)$3Vs zK^y|~m71tF4pwRymd;r(!u`VnEFuhLMBGM<38+0dK{hQwvxf?RlR1MDbig3&!5xab zDxV5s>kK|04@@iG%0AyhtI~ndg*v*Q6B}dFs^mqyFSP5hFy*KB_1^0I0)4D7t^=rb zRxBR_iMoT2MXPU=8Ku%%0*rPnr}Qb>l%ChNnx3tbvwOU3Oj^J>?x_r0DG7Z6ae-Mj z_j~20**(2q4W8EQ-Y0o1k|!e@aidfqVqzMmOE+()3WFnR)ko=2p_Wbxi_6K!Rkk-2 z^DrA{oqcfyOQS5*YV_TNN^vcH4=k+303Ads?0NN((Go3MwKRtxhgGSX;4!dR=dz?B zvem~UE-B4Kzb-GP4J5i7g}jCX_zG0HY|;3`(SnF9x-ZnXcB48hBVgv4J-3aRSD$EN z!bRGy4MWhCCzW6UVne)2UtkZJa(zcGU9^+gYP(%bOg0yBbb#6Pp%3W=GO1!4P9M{A z=(3%Mhy2LKbK%g!^ITuCY8{=4KC-e;{79ibyQIVJc)w6*hE=LOq-#fEmBE|8uG;6Q zrsIx0Of{LFFOo8OL0?pIe11d%xz5E6sU0lLIJ0@=$l-I$Na4ATPU3`R#%ci722MoV z#*qi1Jk67yC&aW`Cte3MGY^XU!9lH(Nyn;6y;r2alYYQXlkqhP7SJleaC|=KLd_;_lv?Oq0-bv~(6DHR=90KtvWOr@wm4{6 zm2bnmNA|B35p=h*9~FQ}oAhb~U^j7R;)rwktjg!`=%mg))%$scd15B9q`vy5YExxH z7IRywkkKXKOKk>+7Ot}tllt17FzT|VpXdc!6KZICo261~w?64k{gOWeewIx&GiTb% z3$(0MTbz`gLXdP}YFT=2HU&G`u%r>iI`0X?oTWfX0UlmoXP@X|NqkH$rPI1I`skex z3pP8sQeuw#D`O6E9dAsESKVxMR85Q!(<*b5FJmt0T}I11WuxoFUUy5%rVn z;JA$cgo~3qLwCfhfZNzdHBnS4KrFk^a2%nZ1GKmpfR2|>ij|-RVI_?Zda~>svq_6O zlp#tV(Fs}It0E=HjV|UP-WF=6)dYIZg9uTUhq-6D{+ge9>3d(&BrPgJLW<}iUEX#1 z&vc485HX`1;;Va>-R&ZaRFNspA|qLOi5k{F>+V#q;ugHeaJquyuwMv3Wv1^C zFm_O3bQ^{^3}bMN%K%zlns5@MTOsWz%%-hdOTK=4@+-e+MRJgHU~`e{;Cp22U<#?F zGV0bDOAE9q5&MulG;)ac0D5Hk`WCZwGy@W~*EncbD6`jriGWJZ)-d#lcIQ0uy!t?} z_K6kJVJRir4PBfq`atFJHm*WKoiXYwE5@A^n3{7@?hrOxe(7MCFdZ?w$aMI2nor^DWMJ* z*S)mn8s8)aNmm`y=tga=^1YmN{F(r!IX+)uAptn9q1%sbhtk5Vlrs%TD?bpaRyk}5 z6?L7RRx!~QsHl_zM-q~Am_#u92M$T;H`#5Ok>cMc*_RK^!B;Xm4%Vk-(u}6uJ{2@y z0zal!UZpC^N>0tCGyyN~Gt*bjnvmE=0tL`t7azfpcBaE<3`}a-HY{V{8X4#W0fq#v zj5=FHV|7SNx#g9z*edimKbos5A%dw*p6nfJ^szcMmo86h0<$D}!03igs>U{$ts^}| zuC-gC)hLQ*=Z^BRHghfs?!p3JqFEl_*VVFhS|2Z=4g!iN zQQEc%j3KE;PuekF-%V4!d%XY_&8=u4E;K3cm3^MAD%{57{j9T{1KP9kbN!U+)jB=r zfMwE)GD58;{>tIlZoBv6+4pVw3M@4R;)yZgOe>agpA1{;?t-q+uCO)i8qRfqu}^49%E$pw`$SVwahdv`tlRVk zOTGY-0i{}FJ(3Vi99wP}AC(-F_yLG*R~Co0JWb&%IOJ~X*JRJ81%b|40hG9~7C5*bz+o&sxe?t9Ss!sP zOVh7>qBu0KF3tuFM=Vi`sYHBns6aw>SFqD76Q5s_@H`GZ)-m6yHxs4<=`fIj-6c=?e=re^Un*%OCMS)|NVO0~t9 zz?D%)joV47elXdPRsuR%ScAi|V3AUW7DftBOYZf$xZ+z8g0fMOdYDrl%5BRo-%b|w zBZFR8iTd>!)R=6bGm_!?q*5TH$tkv@G9u#JV(|o8AjMVQ9Gh=(EI*(d4d$BCdP8)L z!kC}BdL?^D#)`h}hL${{+jv=D-XH3qCyJ4Y2$q$LnU|?)QXhhXp8YCyp<2l{1R4hT z1`SO!l~msxl~;)SYKK8W&$zKj~is^5@ZT&25w zS(`%_CftXhD{y~LTpOzGbLZv6Vt-J5# zpmg-6&E$9X?eab5ui06>PZM5sIW>*P{wV&sIPnL`WK@VMwYJaNM)8JhEX3eHTxp3E zY0WO#(t>c#mX`tvnp6S9gaxm_ELp@$Q;nuCN9mq%kTAwV^70(n5W+>v*VX4Wup{AI z6Oo1*u`48lszId_&Lm`fBU@ia6cg7j3UN4}Y$+l-Pu|k2*Gh$_s!9t7u;$6PA`goB z$W4(ZXV}1_4Y0zpoivi69K9|_tgw0l3uH}N0B~A~BMYiw{29rI6pkv;cP=>UGa#cP zItueYOAuA0_p3Eg_4!MzDF%Af6ru=^lsDX0<`rHivP?vcj`f@B7sf-+tds9`H>FNX zK*;aw)7>zxOW5T=)kUJBysiKi(QHhBaNw)jvEvXvvt9bVk3UXk^mt!fGeCy*x zx=&nAUszKOgiY15gek}`Qg+%5>PPRYNvW*OVwEvB0uYMXTvb#w1G;QGkn#ceO;bq2O>{u zK#3pnsYQQnn~ZTZxUrfgBgd)Jz4Bj=m*v$IOWsvkvE z&2eTVJ9H{3C98l`gLS^wUYaII>O0>7X)e{<(^;;geP&T*k_`Kk;V(Y!ACc{@K^&imR?O71f9gk}VlEluJsTu&h|i;$pS& zsyU`%S&iwt-}c(#v{dqHl_|)`wpcT!nCOj3JVKh#hfPhsc4X|cOJh^yU+94Y{jj)X zG%PMJ!dZ60q79w5r`A)QQXr5;HEWNa<<24PlGbop5eu5HzYCe0Z>=_b0V=5huu}EM zcNsLNW5<)_zC{XauTv45d|hK&YLt|YLflx^E@D|RvF3y{Fxog`8bvt}CS|InMqvw6 zeH|qKQI6$qv|t&17kNS0_e)~4M&(sa8ZY?8Buf|ge2rsydByp8g~3=n>GLPk73rE- ztU*!1lJdn1m;C#a>H9dkRR+7B?dxPZ*$(}=`8<=0@<+|1fmW|KN%q*g2cwl`n%E&w z>0wnUyB$!Kz~_%7s;XJfJrDz6ItxA(Xbr&YS&@wB=rB=} zO?~4(=E&nO&_+(t2(F+JkZ7z)YcfZ7E>JitU?0A9gx>f{^5`O?6?74#H9cum*zZ;$ zL`AR@h?i@4)6QuJO3VKA#Yt&Fkck1XlYgz)AYyEps3RqbnlGi1faUIxzOhzW6E^>z zo-wDLwak<&0%^pQw$^Gq;0x3k=tnfqYpUsHZXm&DJ4>06RVhIQ6a8$0!9Y)`* z0ZI(Kb}I_vgspQg=CA)AZVpeq6n!Bn#uK!wHcATs<5-OG*1sS}jiseXXBK*-(aaJMBFWWJ>(M26|QAo;} z(1Z*Ra|PU z*1@3G>a=@8w%ckHCMwwq^L7aEs@HO4!6TmquofOPJo^CvY*BFnl1ZKQ6o%dO9h%vD zt|;|zHczEPzLq}ua5zV!M=Ca7*mg;5(KD;l6*2;%FW}QCfdC90a=dE$m-}ITLglQ- zlFllei=qqxT}HzI7Y>t9jHck4h)%Q%^B8YzK%~;Bgvt;)6wX&3B%IlV7^Q56^66Bl zKUwMWD3-4_Aq@IgWwB=Mq!oW-_NgPV63m3fGExx+Ms(|58>%%N6HyTLVHu^WP(N$k zx`7xIwpBSRU%-|Y%GIO^|Y{jk0(>{`iZQmkoq|9;9;$2i3M7* zghZ4k6k!s{$l)2zD-Y!jh;5emc5PVdFWp-@>OlZ9FUC}iG?dx5_-t1x+~>pkJGu z@Add>-DPn}**piFwz6X;6ArWMP|+C(qh&Rhn&l zOOt)E&VQg52$DRCNY7C=4`5JY4IShWX1~;EBf(ER)g&4qx&mduF|#0D#1_8y3$Sfx zq*{1Jc}b6-a`^TUozwIyngV2+!ZOSfU+^X)ObuYanS_OR~H{nPyTRX;N)e+ z!0jEYs#@h_-y`6cADbB4O4!5C58=wYjuXPck{z_vVUekRy- zZE8kZPRkPPVh9D~Qe!cP(748_2FsU)y+``H2B(IS2n)~h+^fL#}#ITn{4ZuLIS9j+CPNOqPs_$jD zK`AXe!r0vPC!4l4u7^eQTjffq^QRCatV3i_#?Y*(HCv{!Ch($qoHQxWYoE5D?HMR# zUtI2Glk!9vj|PGqL)nP@KGQmMHzxayfYs4R>oJxk*c6+!!y&E(xqMfz7SMX2fz8Sk zvZ*6Vty|$oZD`I70>P8|ry$bLa^su`IkymHEyUE2Xb>#NC1>3^@Y?8>lPXF1cKD!i z>*3PU1|&2NC1n2*7b+c*OeZ=1$qGDD=Qwc+)fpTO=-5e?B>~_=W8EEFdRTq)CYYET zdMjxbt0d_NQl6;9lG=}F2MH~^W@rvpHsLW$WU>M>r?t^2%e3maNGE&R@9!Y0*qtYg zLf&v}8$*AnxmtE(0~N4|_|#im;H{DA!ZIyTp+f`I&QT1i(EHup1k_X0Ty({bQM)688%L zOr}^jq(Cf~GwI6mKAQuj&R5nYx=LjpSs=3-pHFYl$!ty4HFw3QqpDZoR|jOt8qdQV7AP14aAD%LR7=;hWmA!_ zg_)ohn-HC>9F3@1oOv~(1j4w4$ z1A;ay#0uk;%NqGvNRUiw7qOA0mAYLOl+RFza~MXWP+yfB#OI5fC)*_5D1kB{@e5wY)uehk#d{kLs z8Wzd^SgUk)QfEgrufKUrfhHFDHU-|?binJCLS0fIND3d31`W(FiwVS!VK6=_=k3aPqX}>Dw!=yLN9|0s6B}oLI-dw&ew6<;Top zey#8YN=yltnm-wis=w$Ur93T)=8ZSk%%(cMD)z{=6FSv1KH%kfuB&eokO#s7oNJfX z#+-B94ra>+RVJ})j^=e*5|>Ry6a!+3E!aW_*_&4*TMKP!tX#svf(CV=Cb`1kluOx~ z@8P92vUB+0O=JG4Yo1@m8A2tXv}KlWbrK3wKQh}XpF@P+4kba^P84ZJvCLVqL)M}V zD{~zFA~QELPpei>DgN|Ioi8k(`hrC2$&D`R8nxjo*QXwBGLABtMT;q$Z;#Hq#6wp$ z?bOK>S*{WlpI&Sh`x=^tI;bH(tzFU-6&pYM+!b=2KNy#1$N5l2^VOHud-Y9NUN@nf!(JnHad)(<6>D(hTCIAhnUOq zyo~K^jbq)yOuInhM@XExS~l7k@@u<+OtU4u%g!0j%?|DwjV`QU{j7@y0>E6?CX$Q(l;FLdpH>jdJpCC6C6(zF6qvev>gk7Q5-B*LEcStC(KuPEvwCZIGP4hCbJJ~-cqfyD6S_&7k0umdl z%C)~sph7`VSXeAwC0j?~iQ13NlBoKa=1TIG4TU~`AXBzrTn0XBxVQza;%I;jDiOBd zgf#i%C@wHc9i_A=;2Fqbagfa?`;6x-ir`zfsrjlj>2z#uQ8I06(19X#ck3O*s!?B_ zW}7i=Vr9Uxf|efoEMVat++-IhxW(1g*DC?pA6TZOz7m%Vi7X7K)j>8&4^cuBDS;;D z87~MR>hVHDP+~<;CXH6(s6d~%az?Yxy7(Bc!xb@#0$`ry5v(2%XBBzauIeco8+!@Z ze8avyV6jNe5wKJ`OkT|Md6I{hXH3~x%lErtr` zjWME~-52$6>m9^8Q8OA#)UZiHfDtg;Xf12q7Qtjc%i0x|`2r#*5o3pCfoxB3^hN~soY@gRiq zYOxjMK`9_6>{qLGG>lsZsCM4^n6s?^lTl8xH2##hu~)=gs#N$M-12~u=`yMX1lJG(>d z(^sICBT0v!>+DOZs7}O?4p7n5v7O7ZOL5%1h^XWIWIZQMoyws7b}FUlLfnDvWMnJq zH6*rdS{~A~P(Bb>1m3bOtQh#Vv&*w#`n?f2_$bc%%U!m2aciBY$F}6_xA$v#Eb7~e zM0ysqjp4mjm%r;B#43y}g_w(ObgRQRe3CiyRr9Em;2Kz>p(jCw>Yb*;aO=6c_*5K& zG~IxPO-maAhT`fx;UXQSB#|bN=Y1Lh`&*72CLVx`N6~6%0*J+#hU)q_Y&AIh7qK7d zg-zfQo$FdDb{`Y>wTv13IiEthqx*Yw6a~md_^W zp15J5JxwK9Sz7_}sUK?<=UNWZdCm)Z_X#JgL{Cc^87;vEs-5V6=n}j}p5YxG0@Uoyl3>ntWSw8vE`z;5Mzm9pof9oFS z8W7p(H2LQ&`tF@r5 zXSFGX_2VoMl@v6oh}OYG9Bbu1u0@@1HPPnyA7D&5m;`&X5$<(m3*sy&iBcEm`{uCr zkFIwli!?hLx^a#Hj~P}9TQsKX`ca@M*AP3J z?9#QdjQ@)zONb`5T!NmX@v}e(5zln^R2))Z!r(f~_PW>Qjz2bn3wY;`j8C4auKjiE|GikP{QJ z@?jvZQr-WgijV#Bvswo3;h~&ko9s>r%=c30iIg0=4&Wp^#c~{*?xM> zi||hG=hts_u<`N*I$uk&O=B$^W-=8fUsfAF3EqBn5>7#^;CrWuVyP)2b{+f&Wr}tb z)&#r4W)*hEfy^9_Nn=A_b5Ynz2QzcDCiGjVYy9DqnvjkN<;yvgA*G|4INKJ0Gd%si zKGJ~$u^6oK$9#_?^wUy=mxr{HQ(9_16`hokwxA@ofD}?gRIaNpJ6`V~7LnAW>YOST zq!qxHWE-ZUH!EvS1bT%T2xvI=6Y)*VuDJ3O$1I-kRRZk*cK=p{A9Dv3z5X;z2 z?`hQ0&Q#`Cf0TnXT3S_a>w%fJRdS11MvN-0Faa_^j67!>!U$wx(EH^wP0=NrSVa^1?mbDyoteE{yLf1Eca1|+qN*QjjAMhjvG86^~v z^p9d2?z;pNB-@}FQ&OO5JTin@g5!dMi2?zlN?H_87w0+}wF;OK@Kan;Gy`IfORo#1 z8zzq33Qvn$<7!k99s)SuHHO%eJxhV&Qa`r8sZc@fs$lWJVj)Y~M#G62M6)eqNmEDk zdaAyb9oGy7g94`Pg=*AdwK)1RIAeVr4V#Ec?iE-#&kFM!4qq$Lr!zC+VsYuSIK7kP z71eWD)B+A}Iq;$0K-P;``EXpQ74swyvp1avgY|ImA{{9n6M(e^B`FRooGMTTqB^++ z3;8OoncL#)kA0?JmR_Z+lWQeAYqU~J+cXtM9QZ>vrJRD1@bBxWQ%vz#HOEp3eVTK0 zFf?c^R|0Ix#0=j$)e}1mINNr8I9oUCBO%hr<*9xh=H`$?rN=FreWp}05)EM$t`d^0 zoTS>QkMHT5REfyHTHatd=i=V`y}nAe>U03VPihd1r{TP50yJ?=>tYX1jSg(9Nod#) z%KAv>SH&gA+RlW#$=se za2c=4ho==p3M4#8R?`q4)=-IN0vZGSQO{c{({)H*s-=RIP90%$9w0|Dth?_s#SIFj zfk2C{4;agcm@N@i%NFYZIoVvQbjY0m1#Zs;=jBRDM*U4(I9mZ;+G-GF1q}(_IbncP z8WFgS%#~Q?tC8>Hgh1=WfnZB|Em)8Rw!ngm>)X5f60Z(l);B0rCp0w|Ajj9-*skQM zC|-xyz&`olR^=1s>7tl-uquyci1l=2eD5i%LVy@d?uM4bO+_lCM3^TqO9jqz>p)g)8`IPq3n-tB1ssJq$#zbBte_Z2jsAjQU znP5#BRZ?AiR7({Cuck;=;f%<|F_;|O#?d~0WyJSlVUSReMs(m#zX?O6s2!?_Qb&i1 zDFb*()upF<8q|Xy+=Uz!BCZ_PED#!vJ|4m=u%{#&mgG2p3vE+Ur@g?runLOkM90c_ zr8=91ujp2)HXjY(5|E)Ehg_^+o8<55leb^A*;8N0U71@(As-74EFb^WtmK}@DFzlgq3Us)|xlXP4R8&)nwR2FiA z%*^98zRF-Dvryw`1F0B7sHF5RO;s14#;ulBLY~IeAg5SsOh@g7sFf6_<3nxvMcPA; zipr{~lm}!eA3NjMjd1M+$g7`I0w6~Y+R5LRLkPo{5<(5FBliW|R4Qzj@Rsn(AH?X)(dHrZ*X%)&YDPK?Czs#o@~0&3(~| z`6^O9L97Z4m*`_``aEY<)sLnLdP#wo%EAgLq>QSp#kwXPG={1N09ZhXusYY)%C$!V z*+kqez6CPb=|_oHF<`bF<>^mW+ON4G8Y;*n)rPD|BkQtu&Aa-*pb9Qc$@9Cbx2ISZf?DE<#owk zgf8q|v2~Sp1k*TctEbf_NiD$kS-xG!5MI<)#uIae1zF|TtsZ&WlnHnxKPw}QHV`#g zF!9NbiG4x->?e~}o5@-pc%lhK5H(64jSHQ_TmH~7oe@na)v7wq*aT`8nhwR1laoK1 z%IH#AG3h%K5{uZt-Z0oyTwD8@qS}AexV@R76f0FY%<^0#0TwPm!T^oW??1|sKR~7Q zFcN&nQlSfgi%wsxtWj}^ng3(%DcgFq-khtS^_JkeCKL}ARiheA2a4<|;rcX~fUIwURq3mfEa_QCl`nS;&Gqj-%hS<#YJZ?2dN+*mB3z(_?G=4S29t=0NKqsjo*)e%0}4ed9)OxQ z6i9TT@e?5O1nFpyA_|aFAVfh+Lpnqhew-g1Y{y>jn(sTabA7$`#+%sQ3oDQ1o!>ii zX6D>;XXczUM?`C3lfX4+Tv%*dFYWTfv_QQnCd%PF8_N#)kttx>=*Z|G9mJJI?b_If z+Hf9AHpQ)t$7~AcLpXWWbqEORiAX1y1nIn|`$!Wr~PUVN%pfDTs*3K`5zM`&@3yj@P-M&;=?-DB?l>chjX@s-keH z6Z%R@M$F8D%v@iz0FwV1#=xwDzILmsK&=8%ef4v)NLw|N0(o9~l5;e&dHE_mwVZLx zeq%_?U^9nIw%m!D>z#yN%2F#DL8atknwjTG1a{{p=ZmesA3_yLU_qG`0E5rZs9M&n zKxB|uypp&#;%HX`Hp&;Ao94uYi#(2E-&*s&GFPQw12Ujs3@d4Lv#S7-7s_nxn^F;2$l{2I));lFt=HP#7jo!RIR25 z6>wn_jP%enty1>~4jaGyPaJQGj3*cy%*e^P#*lbnVPR)>mW^0&a`tyHQ{d-Kf`??= zA}~(Vqu!RXwfUep2hUR;{-YJH2%1mS*5yX*Iq<=Eept$Y$eJwrZg=c`cN z5|Pc4OEpm4EABsBE#TJ_56JT*B{q!}HI}ta{{m`NCRlc*9_@jBkn!8|K%Ypir%(2w z$>riZB5RPKUq6lEFdYT2I=%G zXmXfxOKGX7EPkw`&_M-z$X=jThMowR#< zkgFs2LHVZnNp;duT`T4mr^oNDw2KQfufei?#**S6s54gqcZH3xq#K;3Kxk0E#RYC6 zhUTG?Ds*}oh*&fK!|~PsSNC=Ud^Kad5?V?%es6&Yef%>lp*ZK?O9jERo?E z#|z(Nud}ZcAt;aM3*lHUj!$4zx!ip6$M(ZtzMr`L<#JK3v03E3*B&)u$4S|Q;xaq( zgQ92{n!^`8ayr4GI$tQR$SM>k=&*cHlGR(D##j#B_~Lf)*Y;d|MFc8f>?nmE1}b>c zUV19C?Rb^7aWfjouU{WN#v6k@)ds*}sGNC3a=uZ+9lnHZ~d6}Qg3@$IFp>r3y) zxvPlje?ErxNgMLthMax>4ZGnR;vn3;_}Pyr)4g|X>Fp0`dDjVttXtvE-zMcPIDKn> zT-T^59lTTumC?N?chiK7eC_pDxCsNJI!maowQMlaeC0ztx7rWPK_X$GdF^rxw3 zM+S+xG9D#^_H>wcV#UJ#KhPpmY0b7YVhCSAymxnKxn04M5Nxj8v6g#%xj9C_OI^xDOYE8?KTajeFa_+CXv8V2xx z()`FE@y5jLSX*`e(5YwL3%T`%B9J@iT1MXbyaZJanw;r!J$E=^zX8G~1PPv?%_B1} z!x+Vp8LaIvUk*A{$CrT&L6w8n@sp@;MrS|epiM{yG1L~az%YGhSh%{d37Ib*Qc}wC zpSl4@AkXN4#s9m-&U9K&y%)_rk>q!rdm_Mxgp?v?6-=iQ=|n;yn}pioTdvQ)`LXBf z=9ft%u5bB%_4K9(1xDsWPz}eG_MI>SOzhMRG6Ew*i7&l=aplubZfw9U!mMt&16Obh zj@FpwCA%D@z*fS+UeeD4)Wdy>bkc$=C0C3(-?}lx|=d5-d5T~g34F0TwGwbW?KQAvYcZ;5ShmF7wKYe}ww+r_^x7@XN MuP=S|&PO-@1*+ug4gdfE literal 0 HcmV?d00001 diff --git a/src/imgs/bird1.png b/src/imgs/bird1.png new file mode 100644 index 0000000000000000000000000000000000000000..5d86c50b218f867bf7fbe1b2b2a0ccfa6b391e32 GIT binary patch literal 93160 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 literal 0 HcmV?d00001 diff --git a/src/imgs/bird2.png b/src/imgs/bird2.png new file mode 100644 index 0000000000000000000000000000000000000000..97a82bb0c26e1cbaf08ae4f289522dbf49e90644 GIT binary patch literal 93189 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 Sd)(T+`pWf}zj*P+hyMWI?)Iwy literal 0 HcmV?d00001 diff --git a/src/index.html b/src/index.html new file mode 100644 index 0000000..e79a4e7 --- /dev/null +++ b/src/index.html @@ -0,0 +1,31 @@ + + + + + + Flappy Game + + + + +
+
+

+ This is a replica of the original flappy bird game developed for the sole purpose of learning. +

+

+ Click on the screen, or use your spacebar to get started. + Fly the bird as far as you can without hitting a pipe. +

+
+ + + + + \ No newline at end of file diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..52edb9d --- /dev/null +++ b/src/style.css @@ -0,0 +1,149 @@ +@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Poppins&display=swap'); + +* { + box-sizing: border-box; + user-select: none; +} + +html, body { + width: 100vw; + min-height: 100vh; + margin: 0; + padding: 0; +} + +body { + display: flex; + flex-direction: column; + justify-content:space-between; + align-items: center; + font-family: Poppins; + background-color: #232936; +} + +[flappy-game] { + position: relative; + display: flex; + justify-content: center; + overflow: hidden; + margin: 50px; + height: 640px; + width: 480px; + background-color: rgb(35, 177, 182); +} + +.score { + position: absolute; + margin: 20px; + z-index: 1; + font-size: 40px; + font-family: "Press Start 2P"; +} + +.bird { + position: absolute; + align-self: center; + z-index: 2; + width: 50px; +} + +.barrier-pair { + position: absolute; + display: flex; + flex-direction: column; + justify-content: space-between; + height: 100%; + width: 120px; +} + +.barrier { + display: flex; + align-items: center; +} + +.pipe { + height: calc(100% - 20px); + width: 85%; + background: linear-gradient(to right, #8bb747, #dcf582 20%, #528021 80%); + box-shadow: 0.5px 1px 10px 0px #272e1aad; +} + +.border { + height: 20px; + width: 100%; + background: linear-gradient(to right, #8bb747 ,#dcf582 20%, #528021 80%); + box-shadow: 0.5px 1px 10px 0px #272e1aad; +} + +.instructions { + position: fixed; + z-index: 3; + right: 0; + top: 40px; + width: 300px; + padding: 15px; + text-align: center; + background-color: #384155; +} + +.instructions p { + color: #d5dbe7; +} + +.instructions::before { + content: "?"; + font-size: 30px; + padding: 0 15px; + border-radius: 100%; + background-color: #d5dbe7; +} + +footer { + display: flex; + flex-direction: column; + justify-content: center; + height: 60px; + width: 100%; + padding: 0px 20px; + font-weight: 600; + color: #e7edf8; + text-align: center; + background-color: #384155; +} + +footer a:link { + color: #af8ae0; +} + +footer a:visited { + color: #eeff00; +} +footer a:hover { + color: #eb8919; +} +footer a:active { + color: #eb8919; +} + +footer strong { + color: #91d4d0; + text-decoration: none; + background: linear-gradient(to top, #eeff00 40%, #3a1866 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +@keyframes fadeIn { + 0% { opacity: 0; } + 100% { opacity: 1; } +} + +@media (max-width: 1112px) { + .instructions { visibility: hidden; } + .instructions:hover { animation: 1s fadeIn; visibility: visible; } + .instructions::before { visibility: visible; cursor: pointer; } +} + +@media (max-width: 480px) { + body { overflow-x: hidden; } +} \ No newline at end of file