From 5925a4c857e829234b51615909b6dddc967af74c Mon Sep 17 00:00:00 2001 From: rhiannon morris Date: Wed, 16 Aug 2023 19:51:55 +0200 Subject: [PATCH] sprites --- main.py | 62 ++++++++++++++++++--------------------------- sprites/back1.png | Bin 0 -> 833 bytes sprites/back2.png | Bin 0 -> 823 bytes sprites/back3.png | Bin 0 -> 804 bytes sprites/back4.png | Bin 0 -> 803 bytes sprites/front1.png | Bin 0 -> 809 bytes sprites/front2.png | Bin 0 -> 790 bytes sprites/front3.png | Bin 0 -> 790 bytes sprites/front4.png | Bin 0 -> 814 bytes sprites/left1.png | Bin 0 -> 873 bytes sprites/left2.png | Bin 0 -> 868 bytes sprites/left3.png | Bin 0 -> 873 bytes sprites/left4.png | Bin 0 -> 858 bytes sprites/right1.png | Bin 0 -> 952 bytes sprites/right2.png | Bin 0 -> 952 bytes sprites/right3.png | Bin 0 -> 952 bytes sprites/right4.png | Bin 0 -> 937 bytes 17 files changed, 24 insertions(+), 38 deletions(-) create mode 100644 sprites/back1.png create mode 100644 sprites/back2.png create mode 100644 sprites/back3.png create mode 100644 sprites/back4.png create mode 100644 sprites/front1.png create mode 100644 sprites/front2.png create mode 100644 sprites/front3.png create mode 100644 sprites/front4.png create mode 100644 sprites/left1.png create mode 100644 sprites/left2.png create mode 100644 sprites/left3.png create mode 100644 sprites/left4.png create mode 100644 sprites/right1.png create mode 100644 sprites/right2.png create mode 100644 sprites/right3.png create mode 100644 sprites/right4.png diff --git a/main.py b/main.py index 8dc4d79..3c30043 100644 --- a/main.py +++ b/main.py @@ -6,6 +6,19 @@ LEFT = 1 DOWN = 2 RIGHT = 3 +def dir_str(dir): + if dir == UP: + return 'back' + elif dir == LEFT: + return 'left' + elif dir == DOWN: + return 'front' + elif dir == RIGHT: + return 'right' + +def image_path(dir, step): + return f"/flash/sprites/{dir_str(dir)}{str(step + 1)}.png" + class Random: def __init__(self): @@ -25,41 +38,8 @@ class Random: # screen coords range ±120 each side -TRANSPARENT = (1, 0, 1) - -def to_image(str): - cols = { - ' ': TRANSPARENT, - '#': (0, 0, 0), - '%': (.6, .6, .6), - '*': (.26, .26, .26), - ':': (0, .41, 0), - "'": (.87, .87, .87), - '.': (.87, .87, 0), - } - lines = str.strip().split('\n') - lmap = lambda f, xs: list(map(f, xs)) - return lmap(lambda l: lmap(lambda c: cols[c], l), lines) - - -quox_left_1 = to_image(""" - % * -% % * %*% * :# -%%%% %%% *%%*%%* ::% - %%#%%% *%%*%%*%* :# - %%'%%% *%%*%*%* :# - %%%%%%: *%*%** ::% -%% %%#:::*%**%*: :## - %%::::::%*::::% - ##:::::::::::## - %:::%#%:::%#% - #*:::##*:::# - ##***::#***::### - ##.%%:##.%%:## -""") - class Box(Responder): - STEP_DELAY = 500 + STEP_DELAY = 250 TURN_DELAY_BASE = 1400 def __init__(self): @@ -71,14 +51,18 @@ class Box(Responder): def draw(self, ctx): self.clear(ctx) - self.rect(ctx) # self.text(ctx) + self.image(ctx) def clear(self, ctx): ctx.rgb(0, 0, 0) \ .rectangle(-120, -120, 240, 240) \ .fill() + def image(self, ctx): + path = image_path(self.direction, self.step) + ctx.image(path, -10, -10, -1, -1) + @staticmethod def coord(d): if d == UP: @@ -98,8 +82,10 @@ class Box(Responder): ctx.rectangle(0, 0, *Box.coord(self.direction)).fill() def text(self, ctx): - ctx.rgb(1, 1, 1) \ - .move_to(0, 0).text(str(self.delay) + '; ' + str(self.direction)) + msg = f"{self.turn_delay}; {self.step_delay}; {self.direction}; {self.step}" + ctx.font_size = 16.0 + ctx.text_align = ctx.CENTER + ctx.rgb(1, 1, 1).move_to(0, -100).text(msg) def think(self, state, Δ): self.update_delay(Δ) @@ -113,7 +99,7 @@ class Box(Responder): self.choose_turn_delay(old_delay) if self.step_delay <= 0: self.step_delay = Box.STEP_DELAY - self.step = (self.step + 1) & 4 + self.step = (self.step + 1) & 3 def choose_direction(self): self.direction = self.random.direction() diff --git a/sprites/back1.png b/sprites/back1.png new file mode 100644 index 0000000000000000000000000000000000000000..fafd48e8b20cc822952f77fcdf458adb2cca022e GIT binary patch literal 833 zcmV-H1HSx;P)i@PTIq=fzbMW$_(QP~jVyp&_4H)gIMK#h)+h*12zv|piq@P*eTgeoTwano zB6}2*2tfjPNKhe1p0ebUqbQmE@0+aq7Ac8GlebP4LmU~h;`NDIk*+DJY0*>i7d-T>1o#0zu`T|GuL zkvxX48Y2t1qbNOAbRd?sl@##f&6Z#aANrr4vIcQR2%-FZ&N&aQ`Rlq?^T%;KbiQ{z zIzHs&0RU$Q;LToVi_n=kQkDmz#4vN)xyr00jV`uLeBftn0sl;M1&fY-zWKa7c2xP}WQ00000 LNkvXXu0mjf^;~#U literal 0 HcmV?d00001 diff --git a/sprites/back2.png b/sprites/back2.png new file mode 100644 index 0000000000000000000000000000000000000000..9884f116046cc9f04bdd001ce7e6c23236517638 GIT binary patch literal 823 zcmV-71IYY|P)QA0$KgGGZv6hvd$;35%Lkkz6$KLS54_bMT+K}&J z;iQ`$x)_RTram)2AEN2{e!!;cynh-rMPnx32 z{ePZjVq(0~-4%e=7t8t>hPFNUEm_vjiDmtsg5w#kvNeBBa+>-Qy;Re@N8sLui|d*e z+lR{?=zr3qMzkzBWZM%7ct3~E2=v}T`)Vbt>N#hRu(&0^=oStRVMOk`*Zu(Q_-Fy@ za9y_m000SaNLh0L01FWS01FWTe`H^g0004QNkl2EQsp zR3w+7U&=@Waw*PlxMVo(fbGfX-JeECzz(~&2gD#oO6l?Qxs(!H?e~4J+E3Fow7ohW z8z1510RU$Q;4=J=OR$`jK3Chb0ssI2x+1C{tm|5FeA~7*hZpnx=h`)3+uuCT)pO1n z9{>OVFwh5BuYEux-Z~+*Hh=;EfCjX~=Gg;z*sB#JU*PrUz4vMhC;$M|0%L0dPeW|v zuiVrG_5aiYPyhhNYJgV@czM~~<6E5m?@8*<2DJbb0D#x}fO0L8*Y|vZstNc2C;$M@ z)qr1nZddUv?-sgzfu{-F4}byy@LUbB=l`;gaD0L11OCvI$O-@e0Qf%|Fxm(7Y627h zfRo3OdxB&0zIc5=_64i}0002h2WT8u^YpEAg#G<-E&u=k(DngQ$@@01r&Q#;~PK|hpsJh4wwJ{002ovPDHLkV1mGC BdDQ>_ literal 0 HcmV?d00001 diff --git a/sprites/back3.png b/sprites/back3.png new file mode 100644 index 0000000000000000000000000000000000000000..02d123c6029d90b574eacc4a50068bd937d775cb GIT binary patch literal 804 zcmV+<1Ka$GP)i@PTIq=fzbMW$_(QP~jVyp&_4H)gIMK#h)+h*12zv|piq@P*eTgeoTwano zB6}2*2tfjPNKhe1p0ebUqbQmE@0+aq7Ac8GlebP4LmU~h;`NDIk*+DJY0*>i7d-T>V|lh_Q4lSuc?8{%&nd1lAPgLTHXZT0){IF7@W*GKVYFAfNJbpmd^ zUrGBLD&*;4)m^W9NCUk^A#!wnp<^YeoVPfCv1o=A+0t4~zf^fPnLJ zfs|5pvU%6}_z(Ji>p9Z%z3)Q;5I_z%?(6HiN)Mc-Nz(lMp=ml=Pn#Q%00iIxTHjPr z-kmkU#qHylesG&>kN^bW0kJHtYF_R8ZEi@96w*8+00JOD^8n8i+&(Y%eY=bGG@hWY zUmyVpzypG4|KB_Ca=_CXp$c*T01|)zJfN@Ud*=W=00}@q2;KJyKJ|TVIp9n#sEW@a z0SF)mh?-LS^b)MF^ZSqh1ds!){^tVQ9FfvK7nHI;pUuq;{2PP-2sq9Ghn~>x({nYM i^O+hL0T2KIzk@F#CuC)Tc)-E{0000QA0$KgGGZv6hvd$;35%Lkkz6$KLS54_bMT+K}&J z;iQ`$x)_RTram)2AEN2{e!!;cynh-rMPnx32 z{ePZjVq(0~-4%e=7t8t>hPFNUEm_vjiDmtsg5w#kvNeBBa+>-Qy;Re@N8sLui|d*e z+lR{?=zr3qMzkzBWZM%7ct3~E2=v}T`)Vbt>N#hRu(&0^=oStRVMOk`*Zu(Q_-Fy@ za9y_m000SaNLh0L01FWS01FWTe`H^g00046Nkl1&kle92yo#MHFj@2;ehg0T!ZJFBRc>BAmIOaKq+N^JZp9QJ4>G6ollz^kN^bW0b1Qu zVfOg0MjgMU(0M+100cmQ&<{{Op?+3Z)^Brx*AuL>3=)6{NfY%d{00az zs5wB>xLT(d=M4S-M^6v}AmBU)M5XSxbv>nHov!uxeGd86Yvdgv2!Mc|{eUNHv=q^E ha+cPN1R!8=+yOD*W6K?#@2UU*002ovPDHLkV1j(0YV803 literal 0 HcmV?d00001 diff --git a/sprites/front1.png b/sprites/front1.png new file mode 100644 index 0000000000000000000000000000000000000000..ad0dad13475b9e0688d3bc0dda7436bd0bbd42c2 GIT binary patch literal 809 zcmV+^1J?YBP)i@PTIq=fzbMW$_(QP~jVyp&_4H)gIMK#h)+h*12zv|piq@P*eTgeoTwano zB6}2*2tfjPNKhe1p0ebUqbQmE@0+aq7Ac8GlebP4LmU~h;`NDIk*+DJY0*>i7d-T>* zB6$q|YK$zI6(j zYko9Fdjb-G06gGW&Bqv?vj}x1VDf<2UO>|e0C0C2S5M>*m6MqAozA)KAu)m00000NkvXXu0mjfcjamG literal 0 HcmV?d00001 diff --git a/sprites/front2.png b/sprites/front2.png new file mode 100644 index 0000000000000000000000000000000000000000..b2b53389aee946a166675e3bb8ab44d12b010973 GIT binary patch literal 790 zcmV+x1L^#UP)i@PTIq=fzbMW$_(QP~jVyp&_4H)gIMK#h)+h*12zv|piq@P*eTgeoTwano zB6}2*2tfjPNKhe1p0ebUqbQmE@0+aq7Ac8GlebP4LmU~h;`NDIk*+DJY0*>i7d-T>v}o>0wBPIq5C}G+P9t#fB*=v zy$gJ@_bRftDO(pay=Tn6f7Nn;T<%d&j^f!ZVPE}s`Xs`XCP zdyB>;rfH%BAOHe39-!5b7E*Is)I3QG>0w9!0`LGMw(bKJVVtE|tx00cn5?--hE zzMK!3{-B&E&;bwt0SD&*r3ZA+0mfW_1R#JMP=#qeKn_3x5b*aoK&Ns2xx9A{P-Pt? z00HEHLL*;2LEhJgke|~jiTivPkKW@-2S5M>G@J+QtWo(cQT3b{ReMGP5O8w50js-R U6C*B(;s5{u07*qoM6N<$g4_ICSpWb4 literal 0 HcmV?d00001 diff --git a/sprites/front3.png b/sprites/front3.png new file mode 100644 index 0000000000000000000000000000000000000000..ff69054660005c4002c29df00ba58c03a07126e3 GIT binary patch literal 790 zcmV+x1L^#UP)QA0$KgGGZv6hvd$;35%Lkkz6$KLS54_bMT+K}&J z;iQ`$x)_RTram)2AEN2{e!!;cynh-rMPnx32 z{ePZjVq(0~-4%e=7t8t>hPFNUEm_vjiDmtsg5w#kvNeBBa+>-Qy;Re@N8sLui|d*e z+lR{?=zr3qMzkzBWZM%7ct3~E2=v}T`)Vbt>N#hRu(&0^=oStRVMOk`*Zu(Q_-Fy@ za9y_m000SaNLh0L01FWS01FWTe`H^g0003^Nklo z6`3;fbs023D~2b&NU_Y>QKZaDJP=0|M&9+}I2o)MWBz>~LU29jt-8p`1%R^yaHBon zTfH*@3jlx&80&fOeeph}Bt7S?nSccV0D!TYrm1-Ko@WIB001Ukho1-B#?G?>00016 z27J4BR^7X)Tk9^qI@2qwy}Vyxy9cQG*!lm9{=HZL0B1iB(4JkEW%CQI86giT&kLT_ zc~SGu;&H8co>>6^0KmqcTJun=wC7q?%cNH648sBdAOnoj`@F37aqIP^a($i)00007 z&VYE2rpt%Q`GGYPumAwafX@5=-aUW}zybiUX#BImxN{GXRYo~h0001B>H*ofFYnz0 zSOEY4KwA&UN4`OQp5T4i3sNdS4^r(7JQn}}0JeKTZt3<_PloW%J+J}*0Dyh;0S&xd U4r~hvhyVZp07*qoM6N<$g2a7ck^lez literal 0 HcmV?d00001 diff --git a/sprites/front4.png b/sprites/front4.png new file mode 100644 index 0000000000000000000000000000000000000000..a87eaa6a9df3ae9cf20281883364897f6837547e GIT binary patch literal 814 zcmV+}1JV46P)QA0$KgGGZv6hvd$;35%Lkkz6$KLS54_bMT+K}&J z;iQ`$x)_RTram)2AEN2{e!!;cynh-rMPnx32 z{ePZjVq(0~-4%e=7t8t>hPFNUEm_vjiDmtsg5w#kvNeBBa+>-Qy;Re@N8sLui|d*e z+lR{?=zr3qMzkzBWZM%7ct3~E2=v}T`)Vbt>N#hRu(&0^=oStRVMOk`*Zu(Q_-Fy@ za9y_m000SaNLh0L01FWS01FWTe`H^g0004HNklR|7wgbkc{H?vtj@d1m&cF-~A~eZ2F)(otaGOWRy~lziSbhM%G91kuDAhxHY0O}aEU&$IT7q4m*zkpKkX z0evjXqCawF{c>~W3TM66yzbY^5l8?6@PNLiyzl2vGrcz2r~9|`bAYNZ#{H~*tz3Wv zAb@#5?3~^AJ$1A9s&d0-+;COvElorFVFy3}1h_oFn-l7-&EDm!gc=l;8}cJ}>%H>| zBme<;KoF}jAK1dzPsa86T>t_gVBkC;ta%0RT;Iw8>;MRWfH&s=rw5##1A@5#2|xfj zz(nYOf8+op00I9#2lzDZKbK#f16)}L2|xfj;7KE0PtbGzoZEA{*7kcz^6qCm*Z~j# s0R!g&FV?7jmoPm?#P!Tb00J(KA4ZXPFtKw8Q~&?~07*qoM6N<$f^Xw<-T(jq literal 0 HcmV?d00001 diff --git a/sprites/left1.png b/sprites/left1.png new file mode 100644 index 0000000000000000000000000000000000000000..191a0cec648ec5a03da17948790e7b9e061ee831 GIT binary patch literal 873 zcmV-v1D5=WP)i@PTIq=fzbMW$_(QP~jVyp&_4H)gIMK#h)+h*12zv|piq@P*eTgeoTwano zB6}2*2tfjPNKhe1p0ebUqbQmE@0+aq7Ac8GlebP4LmU~h;`NDIk*+DJY0*>i7d-T>1v_Ht#IJ$e|7DcXTj_z+iM?1}`2aS~8hA9b3QFLpm5lU@$s3 z2N#)qzbhuDSS+@hB^ZosUEk{&9SkBc7!~vbOU%DWbhBCM00000NkvXXu0mjf?<i@PTIq=fzbMW$_(QP~jVyp&_4H)gIMK#h)+h*12zv|piq@P*eTgeoTwano zB6}2*2tfjPNKhe1p0ebUqbQmE@0+aq7Ac8GlebP4LmU~h;`NDIk*+DJY0*>i7d-T>u9OiP zND*lO%HT>FZU9QbKE^*}hw*s9lHa=_;l=tIJ%83)r3ce>-SYdoZQClnFmDM6n1JD5 zs?yGUIVXRmg$YIx1Pu2&*o!*VyI$1EbzR>)Zyd*c9WTyJJrj%~2pG0I*y^n-&eZ!u z&W@rEZki^0|1b%4PM(&PJ-b+GRDTKO=+D1v|?=it&0Fdgmf#YfZo zGGu~L1Oda54qjn7vKNPcQ|Q4cf`H+P9BiG>wf;l%_TUuT9T=e{~I$3+FV)fn)&V6WxOfZTdVA!(< uTTZr^Chf`Q-ax)b_s3?&1fvK7h71>~f}ynE?{vff0000i@PTIq=fzbMW$_(QP~jVyp&_4H)gIMK#h)+h*12zv|piq@P*eTgeoTwano zB6}2*2tfjPNKhe1p0ebUqbQmE@0+aq7Ac8GlebP4LmU~h;`NDIk*+DJY0*>i7d-T>1v_Ht#IJ$e|7DcXTj_z+iM?1}`2aS~8hA9b3QFLpm5lU@$s3 z2N#)qzbhuDSS+@hB^ZosUEk{&9SkBc7!~vbOU%DWbhBCM00000NkvXXu0mjf?<QA0$KgGGZv6hvd$;35%Lkkz6$KLS54_bMT+K}&J z;iQ`$x)_RTram)2AEN2{e!!;cynh-rMPnx32 z{ePZjVq(0~-4%e=7t8t>hPFNUEm_vjiDmtsg5w#kvNeBBa+>-Qy;Re@N8sLui|d*e z+lR{?=zr3qMzkzBWZM%7ct3~E2=v}T`)Vbt>N#hRu(&0^=oStRVMOk`*Zu(Q_-Fy@ za9y_m000SaNLh0L01FWS01FWTe`H^g0004zNkl-(}~h?Rh_IkSUR`3qos3YUYE=SqX+_qtsK1@Se;wC z_j;Y{M)ckkrr#7M7)1~;SRCxVA9nX%*)#9H|I?i7?!DqJM&8vh!6<@&VeKwr!~JjL zxvNNjY1aeAdt7(!X^=hE=HPCgArp)u2pB$faOn-d&B?{jcgd!26cdah2pINs@B*Xg zmH!)hFp3~xD95q(AI$DcjXijwcka5sdLCsx6O1AV7;5(5+ilu&&u6i~*n746T#eZ~ z4R7!6d>JvpD1v~Yu!C*y1e9JXovXcd^S(!xPPX=7Yi3L^iXdR9*@HDF&w6OL?*X4Z kT{ye0bD3ZiLBL?(0h!2}>Cki7m;e9(07*qoM6N<$g1q&Tj{pDw literal 0 HcmV?d00001 diff --git a/sprites/right1.png b/sprites/right1.png new file mode 100644 index 0000000000000000000000000000000000000000..470a7f72282c1effbfb0149585b69e4164e78309 GIT binary patch literal 952 zcmeAS@N?(olHy`uVBq!ia0vp^5kPFg!VDz4{gq-F7#Q<1ot*SlYvPo|0B4uxX4hsX5trnf50n(sCR|-~-T%YmqV+zM5* zAmZo}T^;XzD4E?|whFd|p}kzWAWrschEG*?e3_HwkjG*=TPJ^*^ue$M)j* z`H&dnuRjYcT#kP&?f1QEz5mtKpZE5!)}Lu)y1}wF-Q=zY_i2+Bvs1es$v#xnmGNLcD{gQIa;^MKWYZ@H>9M#-EyROY~ukF+hjftCN zrBp34nZuE(!XrS@ecq-glNM{t{QG|Pn%`oYo$iyj`-wWsNN#%cwKHnsI?a`t7lS`N zS-I-Y|7V%YmM@pO8_W2jZrhsghA(cm&YzW9D<6IBJg3FH2b*quny#|^rvJrk-Lusk z?{qEpXJvNU?zqwR(A_rg$m>bY+id5yZ8v_=fAE3smvyF_vgQ^4Vz}u0)75-KJ;URo z`+NU!2Tsn=*WJDNDlh^Rl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{Q zXIG#NP(mWWC&U#_!@hljQC0 z!Y-EB@fyhCEbxddW?M61ZUKe1dAc};cpN`_ z<)C1z0S8M!)B;uz+Q9l-|KLr9wkOvAUlny&?31~+K*@gTt@mf1#MidmRaP?&W<8-h zw{ITPY*(M0X%gCUi(j2;)|NZb*S+((npjVRaoqi&FBW-T&A%ml?>xSG@xz1C31KoD z3x(dq2`W!|Dz$i?;H2swngy;djjpSo8~mEz#*}_!`ypY!o{oy2qN~0ut=VCB$7Y74 zgspa&{({BV>TWwUWzR5p^L*#`^@974i2vNcxncJtYfv&*Epd$~Nl7e8wMs5Z1yT$~ z21drZ1{S)8W+8@VR>qcA2Bz8u237_JkHR&=Q8eV{r(~v8;?^*kYXT@N)j&1?^NUq- zenDkXW_m^mgI~S^oTH;qTAZqoR+O5WQ@MQBhbEv7S(uKL)Z*l#%z~24{5*!@Aa^H) cq|(fs65Y(a$E_!i0u?fNy85}Sb4q9e0JnC2AOHXW literal 0 HcmV?d00001 diff --git a/sprites/right2.png b/sprites/right2.png new file mode 100644 index 0000000000000000000000000000000000000000..c0cccc30a0074d1ec5ca595d0af7136e4e0b129d GIT binary patch literal 952 zcmeAS@N?(olHy`uVBq!ia0vp^5kPFg!VDz4{gq-F7#Q<1ot*SlYvPo|0B4uxX4hsX5trnf50n(sCR|-~-T%YmqV+zM5* zAmZo}T^;XzD4E?|whFd|p}kzWAWrschEG*?e3_HwkjG*=TPJ^*^ue$M)j* z`H&dnuRjYcT#kP&?f1QEz5mtKpZE5!)}Lu)y1}wF-Q=zY_i2+Bvs1es$v#xnmGNLcD{gQIa;^MKWYZ@H>9M#-EyROY~ukF+hjftCN zrBp34nZuE(!XrS@ecq-glNM{t{QG|Pn%`oYo$iyj`-wWsNN#%cwKHnsI?a`t7lS`N zS-I-Y|7V%YmM@pO8_W2jZrhsghA(cm&YzW9D<6IBJg3FH2b*quny#|^rvJrk-Lusk z?{qEpXJvNU?zqwR(A_rg$m>bY+id5yZ8v_=fAE3smvyF_vgQ^4Vz}u0)75-KJ;URo z`+NU!2Tsn=*WJDNDlh^Rl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{Q zXIG#NP(mWWC&U#>pK zxyajWz{3)-{(41d^Punz1i=n`+lq3 z_&eMEi%C$v+?uQ~8z$%8?w!w-#B{1VS<~l~+~)IY-h8A(`?_Y#4sV|h_3bBf4tg4R z9TC|v_mcaI2PzV*>xypmR0eYt$Suvj;~HV;wT88FX^8y(gEcP=5SlYvPo|0B4uxX4hsX5trnf50n(sCR|-~-T%YmqV+zM5* zAmZo}T^;XzD4E?|whFd|p}kzWAWrschEG*?e3_HwkjG*=TPJ^*^ue$M)j* z`H&dnuRjYcT#kP&?f1QEz5mtKpZE5!)}Lu)y1}wF-Q=zY_i2+Bvs1es$v#xnmGNLcD{gQIa;^MKWYZ@H>9M#-EyROY~ukF+hjftCN zrBp34nZuE(!XrS@ecq-glNM{t{QG|Pn%`oYo$iyj`-wWsNN#%cwKHnsI?a`t7lS`N zS-I-Y|7V%YmM@pO8_W2jZrhsghA(cm&YzW9D<6IBJg3FH2b*quny#|^rvJrk-Lusk z?{qEpXJvNU?zqwR(A_rg$m>bY+id5yZ8v_=fAE3smvyF_vgQ^4Vz}u0)75-KJ;URo z`+NU!2Tsn=*WJDNDlh^Rl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{Q zXIG#NP(mWWC&U#_!@hljQC0 z!Y-EB@fyhCEbxddW?M61ZUKe1dAc};cpN`_ z<)C1z0S8M!)B;uz+Q9l-|KLr9wkOvAUlny&?31~+K*@gTt@mf1#MidmRaP?&W<8-h zw{ITPY*(M0X%gCUi(j2;)|NZb*S+((npjVRaoqi&FBW-T&A%ml?>xSG@xz1C31KoD z3x(dq2`W!|Dz$i?;H2swngy;djjpSo8~mEz#*}_!`ypY!o{oy2qN~0ut=VCB$7Y74 zgspa&{({BV>TWwUWzR5p^L*#`^@974i2vNcxncJtYfv&*Epd$~Nl7e8wMs5Z1yT$~ z21drZ1{S)8W+8^=R)&^V#+KR!237_JdQGapKu6M$o1c=IR*9m)45-@5z!aikGS>u9 zSgL_+0Ol8~F99tA37@O1TaS?83{1OR}!ea8R* literal 0 HcmV?d00001 diff --git a/sprites/right4.png b/sprites/right4.png new file mode 100644 index 0000000000000000000000000000000000000000..92e084056869f5fb0b45f0a1c528df8193daf61c GIT binary patch literal 937 zcmeAS@N?(olHy`uVBq!ia0vp^5kPFg!VDz4{gq-F7#Q<2ot*SlYvPpDKxdZ;&92Q(A}+}{A1DciO}M(q+@8r^@4J@bT1W5Z3j$len0}GJBDF<~ z#Zk~@%hvB(UGCgl+$2<`_k5rIyyAJ&zuSqwS-54IVe~S^$!Db>CLGu-6Zvt=-iJ$O z%k7fr%35Y;Y%jm)<*&K}%UV+{K9?&Z`>#`k9GH}m!8)O*Ys_jGEq=Y^jq2`*0omszl6eV zc5hKAb@-;Bme|DdL16I#w#-jImZqt0KDKY;ru@D+6(*IhMGTKjR8ftazk>Cp)bv>b zwtD`v7M=QAKQApQY0ss*q7B!?Pydo=+h+SiH}cx~&eXs2njTB8+hkhrS2XLF(B6>C zd)yz~YwLbJOYC<0Y1tR`mlnHi(XmXqEzDVA-+qqc%RR^6S*ojFS*G`I*rB@rg%}@S zqRYG8*Z(oR{gJ`=svvedFa{KoJ%W507^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZ zAYL$MSD+10LL$H?#1%+SpFW)-gTdY19mu{10u2BE|9|?oD;vmXED7=pW^j0RBMrn! z@^*J&7fbAT4dieZctjR6FmMZkFk^j6{6wH2dx@v7EBkW}0YM1{3+6MofI`bWT^vI^ zj-S19m$yNIhb1BG1y}4s?Go1Tg#Us*Yt=(ND=zOoV*jUNN5__J9VfgtJoK7=+3xVF z{G_()f-#jFs-LDAa_~HxH#uTMM^@2+#>siNJu^S7$oTdo=um6+(U!s|C%Pv;2n;mc zagV92P-u>5y5`Yi{~a0^Kd^bXw(!vnw6LE z^f0J+U+3*Nf6X5Ik9<4oPJI+VT-x=Nfg036HUKk-RdRkoWl?5&MhSyo zz5<-1qflC$s*qNcnwnF&eAb61pblA>j+E5m