From a200dbd144d59b96bec7774f0607bd391d8d2edb Mon Sep 17 00:00:00 2001 From: Emily Keefe Date: Mon, 27 Feb 2023 13:28:47 -0500 Subject: [PATCH 1/8] beginning of turtle media --- media/turtle/shelley_scared.gif | Bin 0 -> 10378 bytes media/turtle/shelly_walking_right.gif | Bin 0 -> 7408 bytes media/turtle/shelly_with_ball.gif | Bin 0 -> 8513 bytes media/turtle/shelly_with_drink.gif | Bin 0 -> 7633 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 media/turtle/shelley_scared.gif create mode 100644 media/turtle/shelly_walking_right.gif create mode 100644 media/turtle/shelly_with_ball.gif create mode 100644 media/turtle/shelly_with_drink.gif diff --git a/media/turtle/shelley_scared.gif b/media/turtle/shelley_scared.gif new file mode 100644 index 0000000000000000000000000000000000000000..caa4e75a673f387ada8eddc438ee87ed38edf688 GIT binary patch literal 10378 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 literal 0 HcmV?d00001 diff --git a/media/turtle/shelly_walking_right.gif b/media/turtle/shelly_walking_right.gif new file mode 100644 index 0000000000000000000000000000000000000000..d154948bea1cec7261083fe7d48c8797f9a2789b GIT binary patch literal 7408 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 U1ONg60e}EN03ZMm_yh_31(-DdR{#J2 literal 0 HcmV?d00001 diff --git a/media/turtle/shelly_with_drink.gif b/media/turtle/shelly_with_drink.gif new file mode 100644 index 0000000000000000000000000000000000000000..25641c0c1c3b40c1e5669eeb01e5cabf0bc25721 GIT binary patch literal 7633 zcmeH~XHe659>%Fg$f7JtC=vpJG`fN`MFA0zgn+)r3lQexk=*qYN@%B|sK9>k?gJ8_!&1UWU?K(x zQ6rQX1}SEW6thNx9gtvGgt#|cJQyw>1A`>PAT()-Gt!c6aA>P4v`r7%ZVGL)g|@ju zTM5vXVCeZsXcGxqM}bx+K`W_Jm7shKAp)XCA&DALE-3+?d?q<5PW=me0_cW{QUg={R095 z0s{ksf`WpBgF`|>LPJBt!otGC!y_UhA|oTCqN1XsqlrXfOiWB{Y%GaHii?XQlgaV% z@d*hD6bdCVF_B88CM6{$Cnu+*q@<>%rlqB&r>AFRWMpP$W@Tk%XJ_Z+HtXw0@Dc&9rak!e%-;Ixb$k*xA|H)z#JA-QCmE)7#tI z*VotI-#;)gFgQ3kJUl!yGBP?kdiCnn@$vE5+1bU##g{K%zJ2?4b#--ZZH@8&=i^pK z@*@y?)WZCTj_J{T3QC;JSHLFuo{P+x$;Zo?Ym^`hR#*| zBavUqsKoI6soztCl|Andov-|7hQyI%v184rkCA1uwHA2b46iN9YD5}eS9PgKIq-Tb ztO0>7)#hG)EzW4_Shv01fIv2Ll2`Qpu-Ut%1zP}<_ursYl_Fsj`9PLo7` z5%|M#?F3$*p16b$mQVVdy+!h)ZLNGxT!?xqE;ky_GucgE>P$)E8`Z2Di(a1f7SC>VqSgJi=b%D0YFd3Fe9bLSUVq?Vu?A}}xl}r=WbW`=z;|G$=v?%7< zWQ!wF7W$#T91F49LQaK7u{ia&nb8QNRFcP7@cypSI@#t)E|NMd!bG8mZoNztekuX5Fh`I(DEyP`Mq`p@i!$ z16t|VziVD-ssul*LKnWF-wFa`-!AEBzA@_dkw}#9Z1L>lFm@mGK5+JNtC~*@?8%-L zpF5t3yA+9CARjNNmTIaJWjC2-M=O^<_=vR;hRD&wQwt?S)gGE5CP6R-B zfe2L+OPx-FsSY_M^M*^(19+~y1En$%L{C4s@`#?Hy$v;&sR#0y%Q6J*=KnsEz626C zCkNA`c5LTn>XU@PPe{;C1<{|C#dfJf1P?)ljv&MgWgr+?2o@z~fdbnh!OjS7>D_@FLDl*weGu@waTqDCwE7?Lf-qMh` zp-)@lPAn$<4c+NSnDj$hr17T~Y5ZG@{Qt5R?f5}0O5sfWjuuh=iWcdyf2Bo82_lar zNF?s(h==96yDjn4WPTsOg9I^wnrRZhXNM$JTGx=2h?>1{Djq4WcPUkQCFDLy#SBM3 zvG*G$!OzZRV^mS5+TSM=Q=Gnp6U&xZw)E+=`+=+O^5vmxV?#G@3{Bh}q0fvhJ-+?& z`Ms6bldErM)>i53ALbcr3yif#jP*sv`V+?bbH@5IgR#P3tp1Nx{Gk3T{tbdgH# zXInzk_7kq%FWgmaT&4|}%sr!wA1hu?7UiBWdu(>bgr=EhbYsDy7SX^Ms11lc$d8*3 zpVthCwQ0iXP_@u2bT%MplE}A5=-GIJ+r51%z&p?E+I&AuYT-kMv%4dB?nTS0HFS4I z0d|SuI+kY!ayWs{Y(rac!wEahf4eOB+PTYLs@g48^I6{*jSuZ$6fWoZulmDYhaOl> z<45z{_kam2gJ~_K&!1i6G=L`21kL*%>AA+1mlvjmH&LOeQirNOdcKh`cPy2 dV=cg1fVBW?0oDSn1y~EP7GN#FT3`zo_yexYss;c6 literal 0 HcmV?d00001 From f05cfa4ef4fdba0e1051e6f47b8be6371f6f2a1d Mon Sep 17 00:00:00 2001 From: Emily Keefe Date: Tue, 28 Feb 2023 10:48:07 -0500 Subject: [PATCH 2/8] added shelldon and increased size --- media/turtle/shelldon_scared.gif | Bin 0 -> 14392 bytes media/turtle/shelldon_still.gif | Bin 0 -> 5526 bytes media/turtle/shelldon_walking_right.gif | Bin 0 -> 8399 bytes media/turtle/shelldon_with_ball.gif | Bin 0 -> 8431 bytes media/turtle/shelldon_with_drink.gif | Bin 0 -> 8946 bytes media/turtle/shelley_scared.gif | Bin 10378 -> 0 bytes media/turtle/shelley_still.gif | Bin 0 -> 5510 bytes media/turtle/shelly_scared.gif | Bin 0 -> 14227 bytes media/turtle/shelly_walking_right.gif | Bin 7408 -> 8351 bytes media/turtle/shelly_with_ball.gif | Bin 8513 -> 8378 bytes media/turtle/shelly_with_drink.gif | Bin 7633 -> 8794 bytes 11 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 media/turtle/shelldon_scared.gif create mode 100644 media/turtle/shelldon_still.gif create mode 100644 media/turtle/shelldon_walking_right.gif create mode 100644 media/turtle/shelldon_with_ball.gif create mode 100644 media/turtle/shelldon_with_drink.gif delete mode 100644 media/turtle/shelley_scared.gif create mode 100644 media/turtle/shelley_still.gif create mode 100644 media/turtle/shelly_scared.gif diff --git a/media/turtle/shelldon_scared.gif b/media/turtle/shelldon_scared.gif new file mode 100644 index 0000000000000000000000000000000000000000..fd16bfb3897bfbf47edf1168c300c18264658b48 GIT binary patch literal 14392 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 literal 0 HcmV?d00001 diff --git a/media/turtle/shelldon_still.gif b/media/turtle/shelldon_still.gif new file mode 100644 index 0000000000000000000000000000000000000000..a700295bcbcf9bf6d639d1ccd31fd98572b223a9 GIT binary patch literal 5526 zcmeH{c`(~~AIDRSrMm1>t)PxdG>)duM=Oe=vPft8IC>$1QfD7ZhziA`Nm13(tgDGD zm&6&wRkesEJloZ(W~;7cBaUsg>P)14)H8kN>GXN#+3C*y@jR2)yk~xY{r-8)_w#ac z`PvfZj|O-F)&ZZ%t{tSMrDbGfWMyUL<>mM6*`uVSw0G}b6%`eAb#+ZmO)V`gZEfv? z2M_A#=zu^VFc_?>t9$6sAqWJbr>Cc{uWw*rU}$Ivg+h&ujZIBW&CSg%EG&*4I|hTn ztgNi8t*vcrY;0|9PnRN;gLkG&O4cJKA1+BYFH5l@f8#_;^7x~*=snLXTaf3U8*n>o-%8)~LLW>cOteYBA#%6}Z2_OzA3>!=;=YoB~FIJ+oV zSy|o`iNtUJg?E22I`0%t!_Rn}w0DJ@8JS4$+CB)KO&NgN_80p8INqNLK<+JIQeMNk zuCyynPT3IIUsu+H{|bz_=UiXjo26z&#g^!WF>V9x#}d1=-I|C-`lAZxJVT#>#>!!uYXyRcXkv^oFEoUW4>U1(wSGOB zny1)R&l*C889syT7kx5UW(Ek}n40kx-zA7Er@7X*!*f-rStVC@wk4_1bcT7sbmse< zcaR}x9%TB#t^F3LDz)ff?%me|cTZWG1wEw7_fYiX?k>6!ymO6+uvNihrXD*<)0@xl zD-17zXpEsF@K<~f`zC4dmmc zuB~vEDw!(TCLQ8c;Gk0C12x+#KlZMEF_AJx!B1cZ=7D!omtF}9LyO_(iRtY9syvL` zGEO^OULypBoU~V+OrH4?GL*`Pe~v^OH~p#h0|1ODB^S4D$lq83>QPF1NkH@>R_onbq0Yx#61X z=>>XCldLGzwQ)^IJ;~i&>{r$aDXSt$StLN+vfaI1*+a6uNAS?FgyH5kSUZ$Go7wK$ zHZBE!N%~c5^=0a7^qVGGLjGTBjp_Tbj2^?IUFP3#)@f^?wyLqPJSGJ84cA zcis?pWr@3QZS~v{aR@?A!3O8vcA8f{qp_Gh1o{;Mu?c++`a`WP$93tfV57+5H!n9w-t+)l zv^LQ1^2$`EFbUbX=hxOkzkL=Z*nf1&UMvqhA18t}qR`Wx`M&WRK7DFf8SxiBDf?_U zP*MP#DloR(KX?j1)7lTjDJMBi-(Zzlf{;-ws(8OIvHj)I*j^Q#1ZPA+K!&wYjvVfw zxaoCgmsTM;TMhmbIR|Ow!q4}Mct*K#{$)rx+zT?qFFJvnr=l*iLoXFRDyszNMfFw+ zNQrAO0b&2SK#I>bl`#F1WQZD_80sEBSAiNm8ecc}r|iRb+8pZ_y<1yV_%-NPRE9F) q<^*BigH)APcRRrG&nm3sCy4=x0f_;L0f_;L0f_;L0f~X%Y2fd)N|}}b literal 0 HcmV?d00001 diff --git a/media/turtle/shelldon_walking_right.gif b/media/turtle/shelldon_walking_right.gif new file mode 100644 index 0000000000000000000000000000000000000000..350d82dcd196fbb2c95f55e23349985aa4b10823 GIT binary patch literal 8399 zcmeI0dopLt z5s4&%AVG>E5s|&+t#;Yk(5>!blu>huF45^2UEkBU-tO$p_k7REInO!y=X-w7=X}oN z=P3V`Fph;6YnkTRS_uk5+PMCHAX2~Vaa@hlN}N{$g+iU&Tpd3> z3i0^V-si+eeqMI)leQtJZO;2yUktE{4zi31wunDxjtnqgNPXQWR@la@i3RcMKQrNw{*hA|a>}8B&D|BO%X| zkP)vcf|Q6LAvg8{2^mRBh$Y1*SH+?#zMzz!V-n!KxHFSj*i)?6FIdm{4PC%`uCLcZ znfC(z)FRP;krcXA8?jU$wM32KHOBLr6M46jcrDj>t*J|G=?k>4=4rWeG}LU{&FR*! zCtJ|t&6tr!{Nsko2NZHo^(|IqYb(C90n<$>y-P;lt6kUowdj|YjQO@6$8M~6z@R?5 z#~R`e&&*8EFD~+y*W}q2NA20Wu8>cT9kO$S80#Bu6XjnBwRv$7U;Zyxa5)6mL_~5~ z*PbLY? z$~HXRneSX(`ma2*@G%av8q-y18xK&1)?oi#?34lW>Z~d2!MGJe3!t^Q`}ohR1A9Ab z@$8C|ZOO_mWWx8={yjJ^7WpTJcxZoTmIs2^TL+s2y3r^Vu*MU!3(5q^%HwsHa*X=% zpBweJr#=IAJF$U}n^Jb0dK2CcJIldbU8GxobvD%FP8xsb^{lI4-EUtm5vd>5}x zzNG9iILOF>7Xp;b_6r8QNqSe$REoM&9gRmP~Zh`!=Cn^x5rwu^e<_Uu5U#-hakTJ{isl$b)=V zaD}{EfsK%yMykT4l>EItAK589is_dI{tzv82Gg6YIK(cBRJGaL7yG1O#5*Z^uvGo3 zp7D3xDPeRqU!^$aUiB29JBFQLb!tQ-%s@qwoo3%R2>S;)2{Vv>0~JDwss`{kb3*FBr(9j7aYLNG^%3u7gcF&X<1v|-Q7K%CCacw7zL4F?r`S_rPog zV|#r0^~jMPV)^4SEU{K%F~F_n=|brtCLr%*Q8TcJfD$u}0w1}4)WeP3EkXYv5gZuR zLuoLlg2_Y4R9Hi=7-Rx9t};6jH>F5NL*~@83=)y(U9ua$xSwmgW%c%?ci&Gb{HPkKJBI>4u ztx`8u3Uwkw9=bVoM-SgldBDvBXhrE=y)ia0PCD$WN61W=_Whvddv)=k;>bJh1QOer z+D#cmy7Z8(5mB-YoSpPwqIAnc;;nw0sE|f_9CyO?=bbEr`YCw`w*{&oA=e7ncP+H_ zf-^0Yrt^;Yn?&+jVcx!dI{*NXmX?;2lY4`<%va?Xp8QHleu3wgA^G|FAHeM7`mw_& zZV>n5Z_t+cs;q^I(JhQIDvGrzzU)vMceE_tyIi2k|G6jgMS7zo^G`04kYAFnBvxI{ zt%#~F5B~-q$d}}?GM|@8@^fuo#qe5T<|7%lfcIG_KeI>*S)yDJsB$xs*K&24mbToU zvCQ~txg&eIu8Dau*r-zpUVSqNQ}Wk-({|;cIgTkxs>S@tt|SFhBR_ zKXYa(;k(vaP7iaak3Bv){&Z<+oiM*}=dBQDK9c+YDkALvLWDUhB3xkpM-kq)sR)0T z3I898@YH`T!Yyi=Z%2f)SlD`j2>*`c3_g;3BE1r9Xgx$r{M@d$ApMOwka#gQnUPx{gn^%TH1UoJ2+6B&GSb zEfnX!!JCFqoZsSeg;1RT^ts~yL7XjL_t`@DKj8wx1%wL-7Z5HWTtK*hZ~@^0uUg<& D6m)a* literal 0 HcmV?d00001 diff --git a/media/turtle/shelldon_with_ball.gif b/media/turtle/shelldon_with_ball.gif new file mode 100644 index 0000000000000000000000000000000000000000..51dd7a3a82c288bf99c3f5c17b2548fa9d71bd11 GIT binary patch literal 8431 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 literal 0 HcmV?d00001 diff --git a/media/turtle/shelley_scared.gif b/media/turtle/shelley_scared.gif deleted file mode 100644 index caa4e75a673f387ada8eddc438ee87ed38edf688..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10378 zcmeHMcT|&y9z{h(DN-C|ChQP0SRoJ~kOkRn0fmIH#4y7~_BL#U04gARhbdDL7b*g! z_7$nN&SI@7wH9rQwZr!jEp?suUSI7yzW4H-drrQSYDr1Sb?eq`*swuHMrQNo&GPc{%8ClA%8HsGB?wp%2K!_~+LH5-JwHBys=)FK$^ z;7nmwScD}}&)nX~)WgKs-`p_VQa=HY%p}1I$j~yXP6Z88L)UJgYqc;m+ZdWchDIkt zql=-@{UVqeT_SWcwK^EuLI$*rj%=bC*HEwrZL9?(+kE_Xz7;DS>zia2w8u1-hsxmU z=lLLtJz)Y*-BPx085{Zxlao_YQc_b>)6&w?)6+9DGBPtWv$C@G?%m7h z^Ru(Fb8>QWb93|Z^78ZZ3knJf3k!>iiuUc>S6p0NQc@xi2ue#!%gV~i%ggug-+$o1 zfrAGRR#a3}R#sM3RUJBXsJgnkrlzL0wzjUWuD-s$p`oF%v9YPCskynirKP2{wY9CS zt-ZZnC=_;dbaZxhc6D`icX#*n^z`=j9zJ}yudlDazkgt0U~q77XlQ77c=*VXBS()O z9T^!pcI?>b=;-m|$4{I%aq{HJQ>RXyK7D#@Z0yXLGiT49J$LTh`1ttw^XDffCMG8* zr>3SZT)1%g^5wa?xqJ8SEiNuDEiFBH^5o~AfByB4KTqHGqyALd&StwaiQr&kq-U^Z z6(9)pA0;LHfKSA-IF@B1A@!@o?F}l_p4w9xQd?lG^F4KA{P#8KRn*@4vv~@rz^mtb z8^(*&NVzJs!;KRHsB=4O;&9W{egoghDq3IjbR{P8-qi`z7il$k+3&tqh{|$oAn<*# zsZnR`TbKvULmoQ^oNA#o1zMWV-dP1JN$2%Oy6_8Y2On& zcD(~$6zp7US641`b>M;f=$?>dTj?czx06LpN&{1a5pxwmDb;4qrQiB?rDT8y5w3>U zr(4bPJV(vHpPx)L9Ga~3wPlAu`UbKBb4q!fGrqSl zaX2#5w9)rc@->~{tcEz9SXBk^&r6F^Qwh90t0bpyA6%KLu|IMAm!BR#TDWoH#EGX* zCDvga@FMEAzDON^nZtkWSuvM2Yu5aS{6!Cf*N5T_V0c3~&IpM!*2kd@ai%CMjER*w z#tLhJ!{P9FJb^$U5{V=d$=cf5#>R$BCQ~RBTbhj5db+(9d!Nj?mB<(<_ z?L=knG|F+;FYrL_W5G*UFab-qlm#t&4xKWV2yC6->;nq;3jhHdR>DT?W9t=q8s%}& zxg1Qkmj&P3D$9qM?ng=8#Z21m93S8w8|)Jux;rW?Br-BGDk>^EIyxpMCN?&9&z?PT zadGkS@nU~@r~F0g)4$X@T?SzkmmW?90 zV5ICmzK=I>dKNz0dToS#bZe8)ZQ)8|imaq30@HeH9H-blAYIyfd+LC^ee>6tzTIb1 zWQbrH^ZvUtt7xS+mwJ4ss%=LA>llt)xQ?_?d)+19EcI7Zy>{(dAUH@#Ndehm zchHY}ukH|ACs40tBRpP*pNeS2osE!Dy*iKtPr{AiNHU2nAW| zg2=ic3JgRQWd}M81c0#uIEWzv9S)+y!2p18L4&JO5o#2KIvJ@!MrzvVX<6$-tPP+f zBN!2dB%%!nrYO8Q29GtzTUov?bq5;Bor(8%z=k`0EiRZ7!{bJWhl-{C?neo!nYSVJzLpC$_>7GpdO!5sDym?U0o^emuf@L1C<&t$ zDBb8LbR9L1R(Ean7$e^P{Clq*onA9OZ1q%FUN4DABk|9$dS=J`{9wkI}^_E6!0&@owsM2uC%`@b@Vz( zkp$uuz1KMhuTbYZNm!{HZk)`JR<%1eym;%p z0M7X+(dSv9e`yzbv-)fA02l+3i0Eg>p+9TgH(#TqJ_ z?7A;a_LqkHYg7K&tbb+V)8VQ#1OPQEQk{y_py+9l^&vKfP-_%|WMV)xLlZ152so=( z0==~zh2%mddeCsY=vF}t(?ljNm`UW?QoQVFEPGow2PY>dH)jWyi=CG%)6b0&w1X1k zj!*Q!rn5}5SZF>Ay_ap0$;PCzEfYP7(Hwe&mwmXm6VJyr)OTmFA3M4URQmEQeZ z<7PQbmSbuA_O|VH<{h7J6<%uIIRN`Een9wHJN2y6mw|)#FLnj+&uyc|v^%!DPR+?! z^g!(;nV%dUkp3amyMy`D>P^^7U(MCCh7s316gt=qQ3tu#uMU58>wK-YD#%vJXuiHm zb%FJv0%0Bq^flL2c2s}$QMGDO`E-IYknDNjX+cZ>V#81h3LMz@n0Iyh&FznSPa&$Uk@0>rcIl+ zZkAL2V4Iqfyf#P?3RZ%vDeI}L7-)b{S|GGG2m=9I>VOGQFbU`qb%8EX)FO&DfoJ=G zDE$KqzzfwP0_YW&OGTm~1aGE`!y~OI1{T{ya7y&o@WsK+Re}e(8bX1WI%*;-F7;ng{I#~HLjzWRgnq%t?B!SE_|GCB9<3v z788O==9=vFMrV7Wb2#WcPh()?&j(&Ornz32TrV?V2gvcpX8TxW`{Mb&#JzqtS-YrN zyBV2WyNm#*^dQ%?5cgCbCnel3IWizAhL;!@Ep8OwoksEP8HBv76ewPzm0XW3foKQz z&!sgXGs#I$j00z~oyuIVwO_nPtaBT3nx(r2I%X0NVOA}m;GYdS3{-3H!FOI8Fuk*J zt8_H?Vw>;N_-h`qA>N}#3)RtAhJ>7P7r`c`aFDyJk}rF}Fk^eqt*#{gH=_)t@VUuK z=Saxp(E*3qQkwF)otJz3XO}mA*2s5ulbx~ByOEVh`})Mk!=85i5sSiyp;`|LF4ace zj`bkPLq~@KzM1LM>9ASW^qAcvt7#9;0wwduRtWhY=AeMwoBO|gY@Iop~K!YBn>l~s( zY8l$i3@zX;(IGMwz*o8$nw?C|4yKlnsoloZZDQ!v(v2&rIDri_hv1fOghFjx!*4h)^EBr=%j1W{_Lfp z!tmd|G!RstUm6}|Tx?SQF!YxvKg{>^8o2QmK17Zfm42T(cml^mwU7)`x diff --git a/media/turtle/shelley_still.gif b/media/turtle/shelley_still.gif new file mode 100644 index 0000000000000000000000000000000000000000..2230d3762fef2ec301f0fa05e7804b50497824d1 GIT binary patch literal 5510 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 M6HrXxzdC`x0arEKOaK4? literal 7408 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 U1ONg60e}EN03ZMm_yh_31(-DdR{#J2 diff --git a/media/turtle/shelly_with_drink.gif b/media/turtle/shelly_with_drink.gif index 25641c0c1c3b40c1e5669eeb01e5cabf0bc25721..2c304e0721750cf2b30b17cba5582dd4871d072c 100644 GIT binary patch literal 8794 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 From f6516431a5403b84f7028760b9764adf4f941775 Mon Sep 17 00:00:00 2001 From: Emily Keefe Date: Tue, 28 Feb 2023 13:06:40 -0500 Subject: [PATCH 3/8] created turtle pet type --- docs/source/usage.rst | 4 +- ...{shelley_still.gif => green_idle_8fps.gif} | Bin .../{shelly_scared.gif => green_lie_8fps.gif} | Bin ...elly_with_drink.gif => green_run_8fps.gif} | Bin ..._walking_right.gif => green_walk_8fps.gif} | Bin ...with_ball.gif => green_with_ball_8fps.gif} | Bin ...helldon_still.gif => orange_idle_8fps.gif} | Bin ...helldon_scared.gif => orange_lie_8fps.gif} | Bin ...don_with_drink.gif => orange_run_8fps.gif} | Bin ...walking_right.gif => orange_walk_8fps.gif} | Bin ...ith_ball.gif => orange_with_ball_8fps.gif} | Bin package.json | 8 +- src/common/names.ts | 2 + src/common/types.ts | 4 + src/panel/pets.ts | 5 + src/panel/pets/turtle.ts | 116 ++++++++++++++++++ 16 files changed, 134 insertions(+), 5 deletions(-) rename media/turtle/{shelley_still.gif => green_idle_8fps.gif} (100%) rename media/turtle/{shelly_scared.gif => green_lie_8fps.gif} (100%) rename media/turtle/{shelly_with_drink.gif => green_run_8fps.gif} (100%) rename media/turtle/{shelly_walking_right.gif => green_walk_8fps.gif} (100%) rename media/turtle/{shelly_with_ball.gif => green_with_ball_8fps.gif} (100%) rename media/turtle/{shelldon_still.gif => orange_idle_8fps.gif} (100%) rename media/turtle/{shelldon_scared.gif => orange_lie_8fps.gif} (100%) rename media/turtle/{shelldon_with_drink.gif => orange_run_8fps.gif} (100%) rename media/turtle/{shelldon_walking_right.gif => orange_walk_8fps.gif} (100%) rename media/turtle/{shelldon_with_ball.gif => orange_with_ball_8fps.gif} (100%) create mode 100644 src/panel/pets/turtle.ts diff --git a/docs/source/usage.rst b/docs/source/usage.rst index 2872bed3..05e707eb 100644 --- a/docs/source/usage.rst +++ b/docs/source/usage.rst @@ -29,9 +29,9 @@ Open the setting panel with `Ctrl+,` on Windows/Linux or `Cmd(⌘)+,` on MacOS. Set a default color, size, pet type, position, and theme when you open a Pet Panel. -* Pet Color: black, brown, green, yellow, gray, purple, red, white +* Pet Color: black, brown, green, yellow, gray, purple, red, white, orange * Pet Size: nano, small, medium, large -* Pet Type: cat, chicken, crab, clippy, cockatiel, dog, mod, rocky, rubber duck, snake, totoro, zappy +* Pet Type: cat, chicken, crab, clippy, cockatiel, dog, mod, rocky, rubber duck, snake, totoro, turtle, zappy .. image:: _static/screenshot-2.gif :alt: Usage screenshot diff --git a/media/turtle/shelley_still.gif b/media/turtle/green_idle_8fps.gif similarity index 100% rename from media/turtle/shelley_still.gif rename to media/turtle/green_idle_8fps.gif diff --git a/media/turtle/shelly_scared.gif b/media/turtle/green_lie_8fps.gif similarity index 100% rename from media/turtle/shelly_scared.gif rename to media/turtle/green_lie_8fps.gif diff --git a/media/turtle/shelly_with_drink.gif b/media/turtle/green_run_8fps.gif similarity index 100% rename from media/turtle/shelly_with_drink.gif rename to media/turtle/green_run_8fps.gif diff --git a/media/turtle/shelly_walking_right.gif b/media/turtle/green_walk_8fps.gif similarity index 100% rename from media/turtle/shelly_walking_right.gif rename to media/turtle/green_walk_8fps.gif diff --git a/media/turtle/shelly_with_ball.gif b/media/turtle/green_with_ball_8fps.gif similarity index 100% rename from media/turtle/shelly_with_ball.gif rename to media/turtle/green_with_ball_8fps.gif diff --git a/media/turtle/shelldon_still.gif b/media/turtle/orange_idle_8fps.gif similarity index 100% rename from media/turtle/shelldon_still.gif rename to media/turtle/orange_idle_8fps.gif diff --git a/media/turtle/shelldon_scared.gif b/media/turtle/orange_lie_8fps.gif similarity index 100% rename from media/turtle/shelldon_scared.gif rename to media/turtle/orange_lie_8fps.gif diff --git a/media/turtle/shelldon_with_drink.gif b/media/turtle/orange_run_8fps.gif similarity index 100% rename from media/turtle/shelldon_with_drink.gif rename to media/turtle/orange_run_8fps.gif diff --git a/media/turtle/shelldon_walking_right.gif b/media/turtle/orange_walk_8fps.gif similarity index 100% rename from media/turtle/shelldon_walking_right.gif rename to media/turtle/orange_walk_8fps.gif diff --git a/media/turtle/shelldon_with_ball.gif b/media/turtle/orange_with_ball_8fps.gif similarity index 100% rename from media/turtle/shelldon_with_ball.gif rename to media/turtle/orange_with_ball_8fps.gif diff --git a/package.json b/package.json index bc3d03d4..b99460ce 100644 --- a/package.json +++ b/package.json @@ -158,7 +158,8 @@ "gray", "purple", "red", - "white" + "white", + "orange" ], "default": "brown", "description": "Pet color", @@ -175,12 +176,13 @@ "dog", "fox", "mod", + "rat", "rocky", "rubber-duck", "snake", "totoro", - "zappy", - "rat" + "turtle", + "zappy" ], "default": "cat", "description": "Pet type", diff --git a/src/common/names.ts b/src/common/names.ts index 22702db7..3cde23d8 100644 --- a/src/common/names.ts +++ b/src/common/names.ts @@ -12,6 +12,7 @@ import { SNAKE_NAMES } from '../panel/pets/snake'; import { TOTORO_NAMES } from '../panel/pets/totoro'; import { ZAPPY_NAMES } from '../panel/pets/zappy'; import { RAT_NAMES } from '../panel/pets/rat'; +import { TURTLE_NAMES } from '../panel/pets/turtle' import { PetType } from './types'; export function randomName(type: PetType): string { @@ -32,6 +33,7 @@ export function randomName(type: PetType): string { [PetType.rocky]: ROCKY_NAMES, [PetType.cockatiel]: COCKATIEL_NAMES, [PetType.rat]: RAT_NAMES, + [PetType.turtle]: TURTLE_NAMES } as Record> )[type] ?? CAT_NAMES; diff --git a/src/common/types.ts b/src/common/types.ts index a2c51130..c9c15623 100644 --- a/src/common/types.ts +++ b/src/common/types.ts @@ -8,6 +8,7 @@ export const enum PetColor { purple = 'purple', red = 'red', white = 'white', + orange = 'orange', null = 'null', } @@ -25,6 +26,7 @@ export const enum PetType { rubberduck = 'rubber-duck', snake = 'snake', totoro = 'totoro', + turtle = 'turtle', zappy = 'zappy', null = 'null', } @@ -87,6 +89,7 @@ export const ALL_PETS = [ PetType.rubberduck, PetType.snake, PetType.totoro, + PetType.turtle, PetType.zappy, ]; export const ALL_COLORS = [ @@ -99,6 +102,7 @@ export const ALL_COLORS = [ PetColor.purple, PetColor.red, PetColor.white, + PetColor.orange, PetColor.null, ]; export const ALL_SCALES = [ diff --git a/src/panel/pets.ts b/src/panel/pets.ts index 1e695705..ca81e8c1 100644 --- a/src/panel/pets.ts +++ b/src/panel/pets.ts @@ -13,6 +13,7 @@ import { Snake } from './pets/snake'; import { Totoro } from './pets/totoro'; import { Zappy } from './pets/zappy'; import { Rat } from './pets/rat'; +import { Turtle } from './pets/turtle'; import { IPetType } from './states'; export class PetElement { @@ -201,6 +202,8 @@ export function createPet( return new Cockatiel(...standardPetArguments, PetSpeed.normal); case PetType.rat: return new Rat(...standardPetArguments, PetSpeed.normal); + case PetType.turtle: + return new Turtle(...standardPetArguments, PetSpeed.slow); default: throw new InvalidPetException("Pet type doesn't exist"); } @@ -236,6 +239,8 @@ export function availableColors(petType: PetType): PetColor[] { return Cockatiel.possibleColors; case PetType.rat: return Rat.possibleColors; + case PetType.turtle: + return Turtle.possibleColors; default: throw new InvalidPetException("Pet type doesn't exist"); } diff --git a/src/panel/pets/turtle.ts b/src/panel/pets/turtle.ts new file mode 100644 index 00000000..879553ae --- /dev/null +++ b/src/panel/pets/turtle.ts @@ -0,0 +1,116 @@ +import { PetColor } from '../../common/types'; +import { BasePetType } from '../basepettype'; +import { States } from '../states'; + +export class Turtle extends BasePetType { + label = 'turtle'; + static possibleColors = [ + PetColor.green, + PetColor.orange + ]; + sequence = { + startingState: States.sitIdle, + sequenceStates: [ + { + state: States.sitIdle, + possibleNextStates: [ + States.walkRight, + States.runRight, + States.lie, + ], + }, + { + state: States.lie, + possibleNextStates: [States.walkRight, States.runRight], + }, + { + state: States.walkRight, + possibleNextStates: [States.walkLeft, States.runLeft], + }, + { + state: States.runRight, + possibleNextStates: [States.walkLeft, States.runLeft], + }, + { + state: States.walkLeft, + possibleNextStates: [ + States.sitIdle, + States.lie, + States.walkRight, + States.runRight, + ], + }, + { + state: States.runLeft, + possibleNextStates: [ + States.sitIdle, + States.lie, + States.walkRight, + States.runRight, + ], + }, + { + state: States.chase, + possibleNextStates: [States.idleWithBall], + }, + { + state: States.idleWithBall, + possibleNextStates: [ + States.walkRight, + States.walkLeft, + States.runLeft, + States.runRight, + ], + }, + ], + }; + get emoji(): string { + return '🐢' ; + } + get hello(): string { + return ` Slow and steady wins the race!`; + } +} + +export const TURTLE_NAMES: ReadonlyArray = [ + 'Shelldon', + "Shelly", + "Shelley", + "Sheldon", + "Tortuga", + "Tortellini", + "Charlie", + "Ross", + "Squirt", + "Crush", + "Squirtle", + "Koopa", + "Bowser", + "Bowsette", + "Franklin", + "Koopa Troopa", + "Blastoise", + "Cecil", + "Wartortle", + "Donatello", + "Michaelangelo", + "Leonardo", + "Leo", + "Donny", + "Mikey", + "Raphael", + "Chelone", + "Emily", + "Joseph", + "Anne", + "Zagreus", + "Kratos", + "Atreus", + "Loki", + "Freya", + "Brevity", + "Arthur", + "Doyle", + "Sherlock", + "Charli" +]; From 88dd7d29f89f89a5b61c78bfc6a72e6041f19a9a Mon Sep 17 00:00:00 2001 From: Emily Keefe Date: Tue, 28 Feb 2023 13:20:38 -0500 Subject: [PATCH 4/8] add turtle gifs to tests --- src/test/gifs.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/test/gifs.ts b/src/test/gifs.ts index e94a2c95..48a436e2 100644 --- a/src/test/gifs.ts +++ b/src/test/gifs.ts @@ -88,6 +88,10 @@ const pets: { [key: string]: { colors: string[]; states: string[] } } = { colors: ['gray', 'white', 'brown'], states: ['idle', 'run', 'swipe', 'walk', 'walk_fast', 'with_ball'], }, + turtle: { + colors: ['green', 'orange'], + states: ['idle', 'run', 'walk', 'lie', 'with_ball'], + }, }; function checkGifFilenames(folder: string) { From 62c83c84b1a794208d903619c0c218b31bfeeb2e Mon Sep 17 00:00:00 2001 From: Anthony Shaw Date: Mon, 13 Mar 2023 18:21:54 +1100 Subject: [PATCH 5/8] Update names.ts --- src/common/names.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/names.ts b/src/common/names.ts index 3cde23d8..3a44743a 100644 --- a/src/common/names.ts +++ b/src/common/names.ts @@ -33,7 +33,7 @@ export function randomName(type: PetType): string { [PetType.rocky]: ROCKY_NAMES, [PetType.cockatiel]: COCKATIEL_NAMES, [PetType.rat]: RAT_NAMES, - [PetType.turtle]: TURTLE_NAMES + [PetType.turtle]: TURTLE_NAMES, } as Record> )[type] ?? CAT_NAMES; From 697f68e1c9ad3df6ff7e4f7d37f483ba211fcfa8 Mon Sep 17 00:00:00 2001 From: Anthony Shaw Date: Mon, 13 Mar 2023 18:36:18 +1100 Subject: [PATCH 6/8] Update names.ts --- src/common/names.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/names.ts b/src/common/names.ts index 3a44743a..b6a096a4 100644 --- a/src/common/names.ts +++ b/src/common/names.ts @@ -12,7 +12,7 @@ import { SNAKE_NAMES } from '../panel/pets/snake'; import { TOTORO_NAMES } from '../panel/pets/totoro'; import { ZAPPY_NAMES } from '../panel/pets/zappy'; import { RAT_NAMES } from '../panel/pets/rat'; -import { TURTLE_NAMES } from '../panel/pets/turtle' +import { TURTLE_NAMES } from '../panel/pets/turtle'; import { PetType } from './types'; export function randomName(type: PetType): string { From a70aa4db666ddd58de1cbb37a0705fb15ffdad74 Mon Sep 17 00:00:00 2001 From: Emily Keefe Date: Wed, 15 Mar 2023 08:58:52 -0400 Subject: [PATCH 7/8] added animation credits --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 19ca70a5..1c86c07d 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,8 @@ The forest theme was designed by [edermunizz](https://edermunizz.itch.io/free-pi [Karen Rustad Tölva](https://www.aldeka.net) designed the original concept of Ferris the crab. +The turtle animations were designed by enkeefe using [Pixelart](https://www.pixilart.com/draw). + ## Thank you Thanks to all the [contributors](https://github.com/tonybaloney/vscode-pets/graphs/contributors) to this project. From a7cdd1160e659ae19d077d672ad8db6843d272cf Mon Sep 17 00:00:00 2001 From: Anthony Shaw Date: Mon, 27 Mar 2023 10:59:34 +1100 Subject: [PATCH 8/8] Fix linting errors --- src/panel/pets/turtle.ts | 85 +++++++++++++++++++--------------------- src/test/gifs.ts | 1 + 2 files changed, 42 insertions(+), 44 deletions(-) diff --git a/src/panel/pets/turtle.ts b/src/panel/pets/turtle.ts index 879553ae..dff64ad3 100644 --- a/src/panel/pets/turtle.ts +++ b/src/panel/pets/turtle.ts @@ -4,10 +4,7 @@ import { States } from '../states'; export class Turtle extends BasePetType { label = 'turtle'; - static possibleColors = [ - PetColor.green, - PetColor.orange - ]; + static possibleColors = [PetColor.green, PetColor.orange]; sequence = { startingState: States.sitIdle, sequenceStates: [ @@ -65,7 +62,7 @@ export class Turtle extends BasePetType { ], }; get emoji(): string { - return '🐢' ; + return '🐢'; } get hello(): string { return ` Slow and steady wins the race!`; @@ -74,43 +71,43 @@ export class Turtle extends BasePetType { export const TURTLE_NAMES: ReadonlyArray = [ 'Shelldon', - "Shelly", - "Shelley", - "Sheldon", - "Tortuga", - "Tortellini", - "Charlie", - "Ross", - "Squirt", - "Crush", - "Squirtle", - "Koopa", - "Bowser", - "Bowsette", - "Franklin", - "Koopa Troopa", - "Blastoise", - "Cecil", - "Wartortle", - "Donatello", - "Michaelangelo", - "Leonardo", - "Leo", - "Donny", - "Mikey", - "Raphael", - "Chelone", - "Emily", - "Joseph", - "Anne", - "Zagreus", - "Kratos", - "Atreus", - "Loki", - "Freya", - "Brevity", - "Arthur", - "Doyle", - "Sherlock", - "Charli" + 'Shelly', + 'Shelley', + 'Sheldon', + 'Tortuga', + 'Tortellini', + 'Charlie', + 'Ross', + 'Squirt', + 'Crush', + 'Squirtle', + 'Koopa', + 'Bowser', + 'Bowsette', + 'Franklin', + 'Koopa Troopa', + 'Blastoise', + 'Cecil', + 'Wartortle', + 'Donatello', + 'Michaelangelo', + 'Leonardo', + 'Leo', + 'Donny', + 'Mikey', + 'Raphael', + 'Chelone', + 'Emily', + 'Joseph', + 'Anne', + 'Zagreus', + 'Kratos', + 'Atreus', + 'Loki', + 'Freya', + 'Brevity', + 'Arthur', + 'Doyle', + 'Sherlock', + 'Charli', ]; diff --git a/src/test/gifs.ts b/src/test/gifs.ts index 48a436e2..24ecb19b 100644 --- a/src/test/gifs.ts +++ b/src/test/gifs.ts @@ -56,6 +56,7 @@ const pets: { [key: string]: { colors: string[]; states: string[] } } = { colors: ['gray'], states: ['idle', 'run', 'swipe', 'walk', 'walk_fast'], }, + // eslint-disable-next-line @typescript-eslint/naming-convention 'rubber-duck': { colors: ['yellow'], states: ['idle', 'run', 'swipe', 'walk', 'walk_fast', 'with_ball'],