From 91318594ece03386bd3468c1f8562fc838187fa3 Mon Sep 17 00:00:00 2001 From: vivithequeen <159643239+vivithequeen@users.noreply.github.com> Date: Sun, 2 Feb 2025 12:20:31 -0500 Subject: [PATCH 1/7] finished game !!! --- pets/sparky/assets/dead.bmp | Bin 0 -> 65606 bytes pets/sparky/assets/loading_screen.bmp | Bin 0 -> 786502 bytes pets/sparky/assets/main_game_background.bmp | Bin 0 -> 65606 bytes pets/sparky/assets/main_menu.bmp | Bin 0 -> 131142 bytes pets/sparky/assets/main_menu_background.bmp | Bin 0 -> 65606 bytes pets/sparky/assets/main_menu_decor.bmp | Bin 0 -> 106 bytes pets/sparky/assets/numbers.bmp | Bin 0 -> 910 bytes pets/sparky/assets/obis.bmp | Bin 0 -> 646 bytes pets/sparky/assets/player.bmp | Bin 0 -> 326 bytes pets/sparky/assets/score_labels.bmp | Bin 0 -> 2182 bytes pets/sparky/code/sparky.py | 268 ++++++++++++++++++++ 11 files changed, 268 insertions(+) create mode 100644 pets/sparky/assets/dead.bmp create mode 100644 pets/sparky/assets/loading_screen.bmp create mode 100644 pets/sparky/assets/main_game_background.bmp create mode 100644 pets/sparky/assets/main_menu.bmp create mode 100644 pets/sparky/assets/main_menu_background.bmp create mode 100644 pets/sparky/assets/main_menu_decor.bmp create mode 100644 pets/sparky/assets/numbers.bmp create mode 100644 pets/sparky/assets/obis.bmp create mode 100644 pets/sparky/assets/player.bmp create mode 100644 pets/sparky/assets/score_labels.bmp create mode 100644 pets/sparky/code/sparky.py diff --git a/pets/sparky/assets/dead.bmp b/pets/sparky/assets/dead.bmp new file mode 100644 index 0000000000000000000000000000000000000000..d631bbfa5e4b3f3089702fdb5676f7e8992eb5e4 GIT binary patch literal 65606 zcmeI*O>Pu15C+hWSOGi40XPP07TIwpu8R<72;+oLs#Mz3^9zaQp)}>P%bub9Caj`- z`+mRNE#uGq?)kcVe*AszmM_b@-FVrpfBLvQK9A|+Uk}Uj^fj`F&mZ1<^nd{d7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`>bH)!DJ?_Uq&IrVoDox4A;n{#T+ns~k66P13S+T(Ng=XG;V zjad_~fB&QJwa>YSwYgq9YS!lJ-a5|Nvpreg+EeRh<9?R)xM_tx>gb81~3AG#;6Ew29`QhR#r zc;6kY^?P>yzH`pqQ{TrptLDbH_4#-IFTV%m^VNHk`T7~jT&>OAsH@|;ua8q#&q>W} zZ8pEPFYAdpC;6?%^kc-@i_EXh)!JHD$8}#Hr>>rpn%UZHersRW6LU^-@#Xh~(UZ5( zr$gUk>S}cF>-V0%q*uvbV?6Xdrmn`<`0w$a_M6ln{b7Is1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^=c8>l}=U&mX0s>-&20)Fn^My!iZnuHBFHzsIfD-Ky{F$#ZV<#LSET=l;|8 zL+_*4ZRI&X@!0z86EExI)O*<4*Vp^K_4S_jdiiDVJ^k!`?|JHa>~*ue&*z*z-}BUo z*SYufwfDW}sq3-V&GJ5Q3l|PkdO?FkQcx*7&GvUJ+WPcSc7rddiBML?_^iDtE=mD<%2N!Q;~lW zPoF!o_|O0P)31O1wf)bZ{_>yy*gF68>(_t(rTK?n|NiSAxA9-T|J%R(`s;uGI{fSZ z`SY(|fBWBU^yfeR^B??24j5p70R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg 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 z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz u7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1R-34E#SSqd$27 literal 0 HcmV?d00001 diff --git a/pets/sparky/assets/main_game_background.bmp b/pets/sparky/assets/main_game_background.bmp new file mode 100644 index 0000000000000000000000000000000000000000..20004357f4aef13f223c2b8fe5626d769d03943f GIT binary patch literal 65606 zcmeI)u?>ST5Czb)s0ba(0F043g}dy;x(G3YV>_%s5%DbllTYqWufF#uM~ZfG&8ucT zlVXXXzN7xnQ}pzyx@zB>e}hvo|$UtZD^E#Ush$k z+FGrnUw`{>`~Fs6A3lG6Dd)S}?e{O{=i3hzf3E-Z9m)hg#K1chma|5rP^cj4;|JU9zyK@iy&dH-2*{;bo-m3NW z(B~RQG`+`oPGE~W`B`_@+7P=HI8U{kMW#9^2WzjXZpEP=JC7Dern_@=0h&m z?|$#^b>m|MMqEd^zWPW*4qH9=SaKEfAy;E{la$L}`# zsbwzxtmi)XSx=w3_85U=iI1%n)6X3;kKb+fQ_EcXSCYVc%&`{s9t~RUeFR2K^A6I_6*Hecn#yH9{nCu;J;z#D>U}Nh+WiF1 zWI0=FR;#Jss_#FU9rqA8llyF~S*_-LtA5W})JQ-A5|DrdBp?9^NI(J-kbndvAOQ(T zKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvaJ&8a$6ucw{gLy! z1nU22Jo>Zl>A&sC>fJy3?rZ(p=i4T|=IQHho-x_8_IbuxzLq_B`_DL!KLegYdH)`~ z%d+_USNXqVYn?OJ{(l#}GYI7S-@3QG`)sXKd4C7kOY`x1-sRT4?VVt29roF~p8CfT z@cloI?NwIhUGi?RIsYt2f9lKcJzKioXZ$<@qxawMt)`jfw(hm}RP4Y1&%4`ucjErI zFKqVDa`dOZ{NA&r>wU)0BjEdg9_v+i;$6<(Yu3`QGttlaw(4DnUi&%%qxa7=d0%;_ z>6bQj#F@h{>%afdUB~AA;B${mS$S&dcO5ZW;(FaoN5J?0I`*sV%)8{>re#KQ72~HxmvwTbBTr7d27%H0AKfcC?vWUqr|G$h z>GSvhB(;X0_ru+hV?y%8Wy!szrH;)t^j}M0_WpA+?s}B#_u948%liJ4;2J*nGn=O0 z=}fy-yJw%RUh|J3knexC!&&$5`=3#MP3>9l@>%=5hT=7Mz4!f}ak{#H-~SmT&tHR| z?~k3RA_wreX!M~xWU^TgS^ zr6oVJtapzFZSGBue&U%1?TVK9nT>d4OVji8jcnIejE)*Hw&#hncS}otW?AnZ4cgqB z9R0*I4cZkg^D`Uq$d;z(=^NRutr#6OVrXj$AN7J=E-n%~i-S*kC-fP5r_ogq`Ue)ij5|3=1fjs9SF57cGo@qwf z)Kf3Zp5%zP^yo&tv)X7~a`X}B-sI4%Z2PRlBU|Sn&zXqJ_FRu=nvpj3)XTCbIpQrn zx>4_}Hd>b)eZ;vpIW#NVK5LKr?7dE07A?6R&om=#>ZzB#XZ_Tt-+N~@v^fVk`iN&5 zv@2TXXSN=b$M!mL+4pFAFYA&|+iS!*L+aBqYmBhGcn^`4mq?TU8mJX^DN{gy8C z^xVS;E&ar^-jRm>ZqfF9#l1#c7CpHh&opRPv|H!dnzie=Euj*&V(i{`plKz^F7|Hp}*U$eM?7;9^%p7)X=7# z)l#>D-)AKr*_yZKXJ_cziqZF4&-ZxLJJV3>c5C0#QKN@=v^O=hX=k<6t>E`riAT2P z?fKamy0&8Uz1H(R9`(*N)Vkf;w{+C#As+2b4Q<+4Ep;pSeOBU;t$BNXc80F47=5qx ze2+)HGYz$FxArX^HF}6gds9Q3c2-N>3jS)dt~Sq+JG#;tR-1LTdA$E41djK3|Hs)K z>0FKXYV&*zOlN2K8hFpn_lnw;m|khtSKQ^1J+H`=nYHi#zw1Z7XI|aoy}$q7VfgC1 zJhDHtYv2EUaD@M>d%XAe-#ZLneV6Vp0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J- UkbndvAOQ(TKmrnwz?ua91t_aWmjD0& literal 0 HcmV?d00001 diff --git a/pets/sparky/assets/main_menu_background.bmp b/pets/sparky/assets/main_menu_background.bmp new file mode 100644 index 0000000000000000000000000000000000000000..283a944da166fba7e9806b945d9664e6d20d896f GIT binary patch literal 65606 zcmeIwu?>JA5J1r*R%&M)z%i^X=-kQ8@j%CTgipB8k$2rSO7vB;Gkg9@95LlR@_k!l zG{$kXh;R3)?aM5GzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# UzyJdbFu(u<3^2d|0}L?GUO3u{_W%F@ literal 0 HcmV?d00001 diff --git a/pets/sparky/assets/main_menu_decor.bmp b/pets/sparky/assets/main_menu_decor.bmp new file mode 100644 index 0000000000000000000000000000000000000000..eaa45794619733423bfe8869b806865c88c9ebd8 GIT binary patch literal 106 zcmZ?r&0>H6Hy~vJ#LQ64$e;jbs{r{z+zDDN2gw5f DfTk56 literal 0 HcmV?d00001 diff --git a/pets/sparky/assets/numbers.bmp b/pets/sparky/assets/numbers.bmp new file mode 100644 index 0000000000000000000000000000000000000000..be7ff5012ad4827519584c034b09e2c87e1baa7b GIT binary patch literal 910 zcmc(ZI}U?D3`8AKP^8NNP>w-O5v9r1xFc>2d;R*rI4*I@e23!xuK!_*`5%UH{rc{uyz_@!pP=>_%M56^z^`E zV09oqOf9mXL3%)HVCrFJqN@Sv1&Q_8ErP2B=>e$+iGgSkMmGn>N2k%vf$@>e005Nh B&N2W1 literal 0 HcmV?d00001 diff --git a/pets/sparky/assets/player.bmp b/pets/sparky/assets/player.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7abcbbdf408cdf1355aa08114cdc09b67ae0f1e7 GIT binary patch literal 326 xcmZ?rbz@`z12-UP0mK|o%*dd?zzmWB$_sHrFo+8Q{}~t{2*myW^6l#pjRC*2^}qlC literal 0 HcmV?d00001 diff --git a/pets/sparky/assets/score_labels.bmp b/pets/sparky/assets/score_labels.bmp new file mode 100644 index 0000000000000000000000000000000000000000..d25fe08af89a39572710501be64581434f10059a GIT binary patch literal 2182 zcmcJKK@P$&3uD!cnhuh=1E5o_l z_hR>K_h5HZPGxI&HT}3BueHjj}Hzn zbMzp*&QYUfUN{gh=sa2tbq{s)l9wTz?t*jl6Z7a>8lH$l;PgR*)1EqFwo~WbA7>&L zbu!_zUb&jD#xv{aM|~r+{`-&2xmWp4?wq$*@BLrQW$#nX-$l int: + if idx > len(str(int)) - 1: + return 0 + + str_int = str(int) + char_int = ord(str_int[idx]) + return char_int - 48 + + def spawn_obi(): + obi = displayio.TileGrid( + obis_bmp, + pixel_shader=obis_bmp.pixel_shader, + tile_width=12, + tile_height=12, + x=128 + 12, + y =71 + ) + + obis.append(obi) + splash.append( obi) + def check_collition(obj1, obj2): + return( + obj1.x < obj2.x + obj2.tile_width and + obj1.x > obj2.x-3 and + (obj1.y ==75) + ) + + while(do_main_game): + if display.check_quit(): + break + for obi in obis: + if check_collition(player,obi): + do_main_game = False + + #===SCORE===# + + if frame % 4: + score+=1 * int(speed_muti) + if score >= high_score: + high_score = score + current_score_number_1[0] = get_value_at_index_of_int(score,0) + current_score_number_2[0] = get_value_at_index_of_int(score,1) + current_score_number_3[0] = get_value_at_index_of_int(score,2) + current_score_number_4[0] = get_value_at_index_of_int(score,3) + current_score_number_5[0] = get_value_at_index_of_int(score,4) + current_score_number_6[0] = get_value_at_index_of_int(score,5) + + high_score_number_1[0] = get_value_at_index_of_int(high_score, 0) + high_score_number_2[0] = get_value_at_index_of_int(high_score, 1) + high_score_number_3[0] = get_value_at_index_of_int(high_score, 2) + high_score_number_4[0] = get_value_at_index_of_int(high_score, 3) + high_score_number_5[0] = get_value_at_index_of_int(high_score, 4) + high_score_number_6[0] = get_value_at_index_of_int(high_score, 5) + + #===PLAYER===# + + keys = pygame.key.get_pressed() + if jump_timer > 0: + player.y-=int(jump_muti) + jump_muti /= 1.6 + + jump_timer-=1 + if player.y < 75: + if player.y + fall_muti > 75: + player.y = 75 + else: + player.y+=int(fall_muti) + fall_muti *= 1.1 + else: + fall_muti = 1 + if keys[pygame.K_UP] and jump_timer == 0 and player.y == 75: + jump_muti = 16 + jump_timer = 10 + + + #===OBJECTS===# + + if frame % int(60 / int(speed_muti)) == 0: + spawn_obi() + if frame % 120 == 0: + speed_muti*=1.2 + for obi in obis: + obi.x-=int(speed_muti) + + + frame+=1 + if frame == 60: + frame = 0 + if do_main_game: + time.sleep(1 / fps) + + #===PLAY AGAIN===# + do_play_again = True + + you_died_bmp = displayio.OnDiskBitmap("assets/dead.bmp") + main_menu_background = displayio.TileGrid(main_menu_background_bmp, pixel_shader=main_menu_background_bmp.pixel_shader) + you_died = displayio.TileGrid(you_died_bmp, pixel_shader=you_died_bmp.pixel_shader) + splash.append(main_game_background) + splash.append(you_died) + while(do_play_again): + if display.check_quit(): + break + keys = pygame.key.get_pressed() + if keys[pygame.K_UP]: + for i in splash: + splash.remove(i) + do_play_again = False \ No newline at end of file From fde942e5845fccd44a721ce7c89a0f9eca7b3984 Mon Sep 17 00:00:00 2001 From: vivithequeen <159643239+vivithequeen@users.noreply.github.com> Date: Sun, 2 Feb 2025 12:23:02 -0500 Subject: [PATCH 2/7] Create README.md --- pets/sparky/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 pets/sparky/README.md diff --git a/pets/sparky/README.md b/pets/sparky/README.md new file mode 100644 index 00000000..6778cefd --- /dev/null +++ b/pets/sparky/README.md @@ -0,0 +1,3 @@ +this is a google dino game inspired game!! +use up arrow to interact and jump +thanks for playing! From 514544e9a95b56ce7a59a1adfeecc9da56628fc5 Mon Sep 17 00:00:00 2001 From: Violet Quinn <159643239+vivithequeen@users.noreply.github.com> Date: Thu, 6 Feb 2025 13:49:45 -0500 Subject: [PATCH 3/7] Delete pets/sparky/assets directory --- pets/sparky/assets/dead.bmp | Bin 65606 -> 0 bytes pets/sparky/assets/loading_screen.bmp | Bin 786502 -> 0 bytes pets/sparky/assets/main_game_background.bmp | Bin 65606 -> 0 bytes pets/sparky/assets/main_menu.bmp | Bin 131142 -> 0 bytes pets/sparky/assets/main_menu_background.bmp | Bin 65606 -> 0 bytes pets/sparky/assets/main_menu_decor.bmp | Bin 106 -> 0 bytes pets/sparky/assets/numbers.bmp | Bin 910 -> 0 bytes pets/sparky/assets/obis.bmp | Bin 646 -> 0 bytes pets/sparky/assets/player.bmp | Bin 326 -> 0 bytes pets/sparky/assets/score_labels.bmp | Bin 2182 -> 0 bytes 10 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 pets/sparky/assets/dead.bmp delete mode 100644 pets/sparky/assets/loading_screen.bmp delete mode 100644 pets/sparky/assets/main_game_background.bmp delete mode 100644 pets/sparky/assets/main_menu.bmp delete mode 100644 pets/sparky/assets/main_menu_background.bmp delete mode 100644 pets/sparky/assets/main_menu_decor.bmp delete mode 100644 pets/sparky/assets/numbers.bmp delete mode 100644 pets/sparky/assets/obis.bmp delete mode 100644 pets/sparky/assets/player.bmp delete mode 100644 pets/sparky/assets/score_labels.bmp diff --git a/pets/sparky/assets/dead.bmp b/pets/sparky/assets/dead.bmp deleted file mode 100644 index d631bbfa5e4b3f3089702fdb5676f7e8992eb5e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65606 zcmeI*O>Pu15C+hWSOGi40XPP07TIwpu8R<72;+oLs#Mz3^9zaQp)}>P%bub9Caj`- z`+mRNE#uGq?)kcVe*AszmM_b@-FVrpfBLvQK9A|+Uk}Uj^fj`F&mZ1<^nd{d7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`>bH)!DJ?_Uq&IrVoDox4A;n{#T+ns~k66P13S+T(Ng=XG;V zjad_~fB&QJwa>YSwYgq9YS!lJ-a5|Nvpreg+EeRh<9?R)xM_tx>gb81~3AG#;6Ew29`QhR#r zc;6kY^?P>yzH`pqQ{TrptLDbH_4#-IFTV%m^VNHk`T7~jT&>OAsH@|;ua8q#&q>W} zZ8pEPFYAdpC;6?%^kc-@i_EXh)!JHD$8}#Hr>>rpn%UZHersRW6LU^-@#Xh~(UZ5( zr$gUk>S}cF>-V0%q*uvbV?6Xdrmn`<`0w$a_M6ln{b7Is1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^=c8>l}=U&mX0s>-&20)Fn^My!iZnuHBFHzsIfD-Ky{F$#ZV<#LSET=l;|8 zL+_*4ZRI&X@!0z86EExI)O*<4*Vp^K_4S_jdiiDVJ^k!`?|JHa>~*ue&*z*z-}BUo z*SYufwfDW}sq3-V&GJ5Q3l|PkdO?FkQcx*7&GvUJ+WPcSc7rddiBML?_^iDtE=mD<%2N!Q;~lW zPoF!o_|O0P)31O1wf)bZ{_>yy*gF68>(_t(rTK?n|NiSAxA9-T|J%R(`s;uGI{fSZ z`SY(|fBWBU^yfeR^B??24j5p70R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg 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 z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz u7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1R-34E#SSqd$27 diff --git a/pets/sparky/assets/main_game_background.bmp b/pets/sparky/assets/main_game_background.bmp deleted file mode 100644 index 20004357f4aef13f223c2b8fe5626d769d03943f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65606 zcmeI)u?>ST5Czb)s0ba(0F043g}dy;x(G3YV>_%s5%DbllTYqWufF#uM~ZfG&8ucT zlVXXXzN7xnQ}pzyx@zB>e}hvo|$UtZD^E#Ush$k z+FGrnUw`{>`~Fs6A3lG6Dd)S}?e{O{=i3hzf3E-Z9m)hg#K1chma|5rP^cj4;|JU9zyK@iy&dH-2*{;bo-m3NW z(B~RQG`+`oPGE~W`B`_@+7P=HI8U{kMW#9^2WzjXZpEP=JC7Dern_@=0h&m z?|$#^b>m|MMqEd^zWPW*4qH9=SaKEfAy;E{la$L}`# zsbwzxtmi)XSx=w3_85U=iI1%n)6X3;kKb+fQ_EcXSCYVc%&`{s9t~RUeFR2K^A6I_6*Hecn#yH9{nCu;J;z#D>U}Nh+WiF1 zWI0=FR;#Jss_#FU9rqA8llyF~S*_-LtA5W})JQ-A5|DrdBp?9^NI(J-kbndvAOQ(T zKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvaJ&8a$6ucw{gLy! z1nU22Jo>Zl>A&sC>fJy3?rZ(p=i4T|=IQHho-x_8_IbuxzLq_B`_DL!KLegYdH)`~ z%d+_USNXqVYn?OJ{(l#}GYI7S-@3QG`)sXKd4C7kOY`x1-sRT4?VVt29roF~p8CfT z@cloI?NwIhUGi?RIsYt2f9lKcJzKioXZ$<@qxawMt)`jfw(hm}RP4Y1&%4`ucjErI zFKqVDa`dOZ{NA&r>wU)0BjEdg9_v+i;$6<(Yu3`QGttlaw(4DnUi&%%qxa7=d0%;_ z>6bQj#F@h{>%afdUB~AA;B${mS$S&dcO5ZW;(FaoN5J?0I`*sV%)8{>re#KQ72~HxmvwTbBTr7d27%H0AKfcC?vWUqr|G$h z>GSvhB(;X0_ru+hV?y%8Wy!szrH;)t^j}M0_WpA+?s}B#_u948%liJ4;2J*nGn=O0 z=}fy-yJw%RUh|J3knexC!&&$5`=3#MP3>9l@>%=5hT=7Mz4!f}ak{#H-~SmT&tHR| z?~k3RA_wreX!M~xWU^TgS^ zr6oVJtapzFZSGBue&U%1?TVK9nT>d4OVji8jcnIejE)*Hw&#hncS}otW?AnZ4cgqB z9R0*I4cZkg^D`Uq$d;z(=^NRutr#6OVrXj$AN7J=E-n%~i-S*kC-fP5r_ogq`Ue)ij5|3=1fjs9SF57cGo@qwf z)Kf3Zp5%zP^yo&tv)X7~a`X}B-sI4%Z2PRlBU|Sn&zXqJ_FRu=nvpj3)XTCbIpQrn zx>4_}Hd>b)eZ;vpIW#NVK5LKr?7dE07A?6R&om=#>ZzB#XZ_Tt-+N~@v^fVk`iN&5 zv@2TXXSN=b$M!mL+4pFAFYA&|+iS!*L+aBqYmBhGcn^`4mq?TU8mJX^DN{gy8C z^xVS;E&ar^-jRm>ZqfF9#l1#c7CpHh&opRPv|H!dnzie=Euj*&V(i{`plKz^F7|Hp}*U$eM?7;9^%p7)X=7# z)l#>D-)AKr*_yZKXJ_cziqZF4&-ZxLJJV3>c5C0#QKN@=v^O=hX=k<6t>E`riAT2P z?fKamy0&8Uz1H(R9`(*N)Vkf;w{+C#As+2b4Q<+4Ep;pSeOBU;t$BNXc80F47=5qx ze2+)HGYz$FxArX^HF}6gds9Q3c2-N>3jS)dt~Sq+JG#;tR-1LTdA$E41djK3|Hs)K z>0FKXYV&*zOlN2K8hFpn_lnw;m|khtSKQ^1J+H`=nYHi#zw1Z7XI|aoy}$q7VfgC1 zJhDHtYv2EUaD@M>d%XAe-#ZLneV6Vp0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J- UkbndvAOQ(TKmrnwz?ua91t_aWmjD0& diff --git a/pets/sparky/assets/main_menu_background.bmp b/pets/sparky/assets/main_menu_background.bmp deleted file mode 100644 index 283a944da166fba7e9806b945d9664e6d20d896f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65606 zcmeIwu?>JA5J1r*R%&M)z%i^X=-kQ8@j%CTgipB8k$2rSO7vB;Gkg9@95LlR@_k!l zG{$kXh;R3)?aM5GzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# UzyJdbFu(u<3^2d|0}L?GUO3u{_W%F@ diff --git a/pets/sparky/assets/main_menu_decor.bmp b/pets/sparky/assets/main_menu_decor.bmp deleted file mode 100644 index eaa45794619733423bfe8869b806865c88c9ebd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106 zcmZ?r&0>H6Hy~vJ#LQ64$e;jbs{r{z+zDDN2gw5f DfTk56 diff --git a/pets/sparky/assets/numbers.bmp b/pets/sparky/assets/numbers.bmp deleted file mode 100644 index be7ff5012ad4827519584c034b09e2c87e1baa7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 910 zcmc(ZI}U?D3`8AKP^8NNP>w-O5v9r1xFc>2d;R*rI4*I@e23!xuK!_*`5%UH{rc{uyz_@!pP=>_%M56^z^`E zV09oqOf9mXL3%)HVCrFJqN@Sv1&Q_8ErP2B=>e$+iGgSkMmGn>N2k%vf$@>e005Nh B&N2W1 diff --git a/pets/sparky/assets/player.bmp b/pets/sparky/assets/player.bmp deleted file mode 100644 index 7abcbbdf408cdf1355aa08114cdc09b67ae0f1e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 326 xcmZ?rbz@`z12-UP0mK|o%*dd?zzmWB$_sHrFo+8Q{}~t{2*myW^6l#pjRC*2^}qlC diff --git a/pets/sparky/assets/score_labels.bmp b/pets/sparky/assets/score_labels.bmp deleted file mode 100644 index d25fe08af89a39572710501be64581434f10059a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2182 zcmcJKK@P$&3uD!cnhuh=1E5o_l z_hR>K_h5HZPGxI&HT}3BueHjj}Hzn zbMzp*&QYUfUN{gh=sa2tbq{s)l9wTz?t*jl6Z7a>8lH$l;PgR*)1EqFwo~WbA7>&L zbu!_zUb&jD#xv{aM|~r+{`-&2xmWp4?wq$*@BLrQW$#nX-$l Date: Thu, 6 Feb 2025 13:49:51 -0500 Subject: [PATCH 4/7] Delete pets/sparky/code directory --- pets/sparky/code/sparky.py | 268 ------------------------------------- 1 file changed, 268 deletions(-) delete mode 100644 pets/sparky/code/sparky.py diff --git a/pets/sparky/code/sparky.py b/pets/sparky/code/sparky.py deleted file mode 100644 index d797deaa..00000000 --- a/pets/sparky/code/sparky.py +++ /dev/null @@ -1,268 +0,0 @@ -import displayio -from blinka_displayio_pygamedisplay import PyGameDisplay -import pygame -import time -import random - -pygame.init() -display = PyGameDisplay(width=128, height=128) -splash = displayio.Group() -display.show(splash) - -#===MAIN MENU===# -main_menu_background_bmp = displayio.OnDiskBitmap("assets/main_menu_background.bmp") -main_menu_bmp = displayio.OnDiskBitmap("assets/main_menu.bmp") -main_menu_decor_bmp = displayio.OnDiskBitmap("assets/main_menu_decor.bmp") - - - -main_menu_background = displayio.TileGrid(main_menu_background_bmp, pixel_shader=main_menu_background_bmp.pixel_shader) -main_menu = displayio.TileGrid( main_menu_bmp, pixel_shader=main_menu_bmp.pixel_shader, tile_width=128, tile_height=128) - -splash.append(main_menu_background) -splash.append(main_menu) - -decor = [] - - -def spawn_main_menu_decor(): - x_pos = random.randrange(0, 41) if random.randrange(0,2) == 1 else random.randrange(87,128) - main_menu_decor = displayio.TileGrid( - main_menu_decor_bmp, - pixel_shader=main_menu_background_bmp.pixel_shader, - width=1, - height=1, - tile_width=3, - tile_height=3, - default_tile=0, - x=x_pos, - y=display.height - ) - decor.append(main_menu_decor) - splash.insert(1,main_menu_decor) - - - -frame = 0 -fps = 30 -do_main_menu = True -while(do_main_menu): - if display.check_quit(): - break - if frame % 3 == 0: - for main_menu_decor in decor: - main_menu_decor.x += random.randrange(-1,2) - main_menu_decor.y -= 1 - if frame % 6 == 0: - spawn_main_menu_decor() - if frame % 24 == 0: - if main_menu[0] == 0: - main_menu[0] = 1 - else: - main_menu[0] = 0 - - frame += 1 - keys = pygame.key.get_pressed() - for main_menu_decor in decor: - if main_menu_decor.y <= -2: - splash.remove(main_menu_decor) - decor.remove(main_menu_decor) - - if frame == 60: - frame = 0 - if keys[pygame.K_UP]: - do_main_menu = False - if do_main_menu: - time.sleep(1 / fps) - - -#===LOADING SCREEN===# -do_loading_screen = True -loading_screen_bmp = displayio.OnDiskBitmap("assets/loading_screen.bmp") -loading_screen = displayio.TileGrid( loading_screen_bmp, pixel_shader=loading_screen_bmp.pixel_shader, tile_width=128, tile_height=128) - -splash.append(loading_screen) -while(do_loading_screen): - if display.check_quit(): - break - - if frame % 6 == 0: - if loading_screen[0] == 11: - do_loading_screen = False - else: - loading_screen[0] +=1 - - frame+=1 - if frame == 60: - frame = 0 - if do_loading_screen: - time.sleep(1 / fps) - -play_dino_game = True -high_score = 0 -#===DINO GAME===# -while(play_dino_game): - - do_main_game = True - numbers_bmp = displayio.OnDiskBitmap("assets/numbers.bmp") - score_labels_bmp = displayio.OnDiskBitmap("assets/score_labels.bmp") - main_game_background_bmp = displayio.OnDiskBitmap("assets/main_game_background.bmp") - obis_bmp = displayio.OnDiskBitmap("assets/obis.bmp") - player_bmp = displayio.OnDiskBitmap("assets/player.bmp") - - - high_score_number_1 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 48,y = 1) - high_score_number_2 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 52,y = 1) - high_score_number_3 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 56,y = 1) - high_score_number_4 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 60,y = 1) - high_score_number_5 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 64,y = 1) - high_score_number_6 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 68,y = 1) - - current_score_number_1 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 48,y = 8) - current_score_number_2 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 52,y = 8) - current_score_number_3 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 56,y = 8) - current_score_number_4 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 60,y = 8) - current_score_number_5 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 64,y = 8) - current_score_number_6 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 68,y = 8) - main_game_background = displayio.TileGrid(main_game_background_bmp, pixel_shader=main_game_background_bmp.pixel_shader) - - player = displayio.TileGrid( - player_bmp, - pixel_shader=player_bmp.pixel_shader, - x=10, - y=75 - ) - - score_labels = displayio.TileGrid(score_labels_bmp, pixel_shader=score_labels_bmp.pixel_shader,x=2,y=2) - - splash.append(main_game_background) - splash.append(high_score_number_1) - splash.append(high_score_number_2) - splash.append(high_score_number_3) - splash.append(high_score_number_4) - splash.append(high_score_number_5) - splash.append(high_score_number_6) - splash.append(current_score_number_1) - splash.append(current_score_number_2) - splash.append(current_score_number_3) - splash.append(current_score_number_4) - splash.append(current_score_number_5) - splash.append(current_score_number_6) - splash.append(score_labels) - splash.append(player) - - jump_timer = 0 - jump_muti = 30 - fall_muti = 1 - speed_muti = 1 - score = 0 - obis = [] - - - def get_value_at_index_of_int(int, idx) -> int: - if idx > len(str(int)) - 1: - return 0 - - str_int = str(int) - char_int = ord(str_int[idx]) - return char_int - 48 - - def spawn_obi(): - obi = displayio.TileGrid( - obis_bmp, - pixel_shader=obis_bmp.pixel_shader, - tile_width=12, - tile_height=12, - x=128 + 12, - y =71 - ) - - obis.append(obi) - splash.append( obi) - def check_collition(obj1, obj2): - return( - obj1.x < obj2.x + obj2.tile_width and - obj1.x > obj2.x-3 and - (obj1.y ==75) - ) - - while(do_main_game): - if display.check_quit(): - break - for obi in obis: - if check_collition(player,obi): - do_main_game = False - - #===SCORE===# - - if frame % 4: - score+=1 * int(speed_muti) - if score >= high_score: - high_score = score - current_score_number_1[0] = get_value_at_index_of_int(score,0) - current_score_number_2[0] = get_value_at_index_of_int(score,1) - current_score_number_3[0] = get_value_at_index_of_int(score,2) - current_score_number_4[0] = get_value_at_index_of_int(score,3) - current_score_number_5[0] = get_value_at_index_of_int(score,4) - current_score_number_6[0] = get_value_at_index_of_int(score,5) - - high_score_number_1[0] = get_value_at_index_of_int(high_score, 0) - high_score_number_2[0] = get_value_at_index_of_int(high_score, 1) - high_score_number_3[0] = get_value_at_index_of_int(high_score, 2) - high_score_number_4[0] = get_value_at_index_of_int(high_score, 3) - high_score_number_5[0] = get_value_at_index_of_int(high_score, 4) - high_score_number_6[0] = get_value_at_index_of_int(high_score, 5) - - #===PLAYER===# - - keys = pygame.key.get_pressed() - if jump_timer > 0: - player.y-=int(jump_muti) - jump_muti /= 1.6 - - jump_timer-=1 - if player.y < 75: - if player.y + fall_muti > 75: - player.y = 75 - else: - player.y+=int(fall_muti) - fall_muti *= 1.1 - else: - fall_muti = 1 - if keys[pygame.K_UP] and jump_timer == 0 and player.y == 75: - jump_muti = 16 - jump_timer = 10 - - - #===OBJECTS===# - - if frame % int(60 / int(speed_muti)) == 0: - spawn_obi() - if frame % 120 == 0: - speed_muti*=1.2 - for obi in obis: - obi.x-=int(speed_muti) - - - frame+=1 - if frame == 60: - frame = 0 - if do_main_game: - time.sleep(1 / fps) - - #===PLAY AGAIN===# - do_play_again = True - - you_died_bmp = displayio.OnDiskBitmap("assets/dead.bmp") - main_menu_background = displayio.TileGrid(main_menu_background_bmp, pixel_shader=main_menu_background_bmp.pixel_shader) - you_died = displayio.TileGrid(you_died_bmp, pixel_shader=you_died_bmp.pixel_shader) - splash.append(main_game_background) - splash.append(you_died) - while(do_play_again): - if display.check_quit(): - break - keys = pygame.key.get_pressed() - if keys[pygame.K_UP]: - for i in splash: - splash.remove(i) - do_play_again = False \ No newline at end of file From 26fe460d80cc7c9c9af57dbca84ea1871b5a6e5a Mon Sep 17 00:00:00 2001 From: Violet Quinn <159643239+vivithequeen@users.noreply.github.com> Date: Thu, 6 Feb 2025 13:50:20 -0500 Subject: [PATCH 5/7] pls work --- pets/sparky/dead.bmp | Bin 0 -> 65606 bytes pets/sparky/loading_screen.bmp | Bin 0 -> 786502 bytes pets/sparky/main_game_background.bmp | Bin 0 -> 65606 bytes pets/sparky/main_menu.bmp | Bin 0 -> 131142 bytes pets/sparky/main_menu_background.bmp | Bin 0 -> 65606 bytes pets/sparky/main_menu_decor.bmp | Bin 0 -> 106 bytes pets/sparky/numbers.bmp | Bin 0 -> 910 bytes pets/sparky/obis.bmp | Bin 0 -> 646 bytes pets/sparky/player.bmp | Bin 0 -> 326 bytes pets/sparky/score_labels.bmp | Bin 0 -> 2182 bytes pets/sparky/sparky.py | 268 +++++++++++++++++++++++++++ 11 files changed, 268 insertions(+) create mode 100644 pets/sparky/dead.bmp create mode 100644 pets/sparky/loading_screen.bmp create mode 100644 pets/sparky/main_game_background.bmp create mode 100644 pets/sparky/main_menu.bmp create mode 100644 pets/sparky/main_menu_background.bmp create mode 100644 pets/sparky/main_menu_decor.bmp create mode 100644 pets/sparky/numbers.bmp create mode 100644 pets/sparky/obis.bmp create mode 100644 pets/sparky/player.bmp create mode 100644 pets/sparky/score_labels.bmp create mode 100644 pets/sparky/sparky.py diff --git a/pets/sparky/dead.bmp b/pets/sparky/dead.bmp new file mode 100644 index 0000000000000000000000000000000000000000..d631bbfa5e4b3f3089702fdb5676f7e8992eb5e4 GIT binary patch literal 65606 zcmeI*O>Pu15C+hWSOGi40XPP07TIwpu8R<72;+oLs#Mz3^9zaQp)}>P%bub9Caj`- z`+mRNE#uGq?)kcVe*AszmM_b@-FVrpfBLvQK9A|+Uk}Uj^fj`F&mZ1<^nd{d7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`>bH)!DJ?_Uq&IrVoDox4A;n{#T+ns~k66P13S+T(Ng=XG;V zjad_~fB&QJwa>YSwYgq9YS!lJ-a5|Nvpreg+EeRh<9?R)xM_tx>gb81~3AG#;6Ew29`QhR#r zc;6kY^?P>yzH`pqQ{TrptLDbH_4#-IFTV%m^VNHk`T7~jT&>OAsH@|;ua8q#&q>W} zZ8pEPFYAdpC;6?%^kc-@i_EXh)!JHD$8}#Hr>>rpn%UZHersRW6LU^-@#Xh~(UZ5( zr$gUk>S}cF>-V0%q*uvbV?6Xdrmn`<`0w$a_M6ln{b7Is1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^=c8>l}=U&mX0s>-&20)Fn^My!iZnuHBFHzsIfD-Ky{F$#ZV<#LSET=l;|8 zL+_*4ZRI&X@!0z86EExI)O*<4*Vp^K_4S_jdiiDVJ^k!`?|JHa>~*ue&*z*z-}BUo z*SYufwfDW}sq3-V&GJ5Q3l|PkdO?FkQcx*7&GvUJ+WPcSc7rddiBML?_^iDtE=mD<%2N!Q;~lW zPoF!o_|O0P)31O1wf)bZ{_>yy*gF68>(_t(rTK?n|NiSAxA9-T|J%R(`s;uGI{fSZ z`SY(|fBWBU^yfeR^B??24j5p70R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg 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 z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz z7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|Xg zfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_ z1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;= zV1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~ z0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1NMz u7+`<_1{h#~0R|XgfB^;=V1NMz7+`<_1{h#~0R|XgfB^;=V1R-34E#SSqd$27 literal 0 HcmV?d00001 diff --git a/pets/sparky/main_game_background.bmp b/pets/sparky/main_game_background.bmp new file mode 100644 index 0000000000000000000000000000000000000000..20004357f4aef13f223c2b8fe5626d769d03943f GIT binary patch literal 65606 zcmeI)u?>ST5Czb)s0ba(0F043g}dy;x(G3YV>_%s5%DbllTYqWufF#uM~ZfG&8ucT zlVXXXzN7xnQ}pzyx@zB>e}hvo|$UtZD^E#Ush$k z+FGrnUw`{>`~Fs6A3lG6Dd)S}?e{O{=i3hzf3E-Z9m)hg#K1chma|5rP^cj4;|JU9zyK@iy&dH-2*{;bo-m3NW z(B~RQG`+`oPGE~W`B`_@+7P=HI8U{kMW#9^2WzjXZpEP=JC7Dern_@=0h&m z?|$#^b>m|MMqEd^zWPW*4qH9=SaKEfAy;E{la$L}`# zsbwzxtmi)XSx=w3_85U=iI1%n)6X3;kKb+fQ_EcXSCYVc%&`{s9t~RUeFR2K^A6I_6*Hecn#yH9{nCu;J;z#D>U}Nh+WiF1 zWI0=FR;#Jss_#FU9rqA8llyF~S*_-LtA5W})JQ-A5|DrdBp?9^NI(J-kbndvAOQ(T zKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvaJ&8a$6ucw{gLy! z1nU22Jo>Zl>A&sC>fJy3?rZ(p=i4T|=IQHho-x_8_IbuxzLq_B`_DL!KLegYdH)`~ z%d+_USNXqVYn?OJ{(l#}GYI7S-@3QG`)sXKd4C7kOY`x1-sRT4?VVt29roF~p8CfT z@cloI?NwIhUGi?RIsYt2f9lKcJzKioXZ$<@qxawMt)`jfw(hm}RP4Y1&%4`ucjErI zFKqVDa`dOZ{NA&r>wU)0BjEdg9_v+i;$6<(Yu3`QGttlaw(4DnUi&%%qxa7=d0%;_ z>6bQj#F@h{>%afdUB~AA;B${mS$S&dcO5ZW;(FaoN5J?0I`*sV%)8{>re#KQ72~HxmvwTbBTr7d27%H0AKfcC?vWUqr|G$h z>GSvhB(;X0_ru+hV?y%8Wy!szrH;)t^j}M0_WpA+?s}B#_u948%liJ4;2J*nGn=O0 z=}fy-yJw%RUh|J3knexC!&&$5`=3#MP3>9l@>%=5hT=7Mz4!f}ak{#H-~SmT&tHR| z?~k3RA_wreX!M~xWU^TgS^ zr6oVJtapzFZSGBue&U%1?TVK9nT>d4OVji8jcnIejE)*Hw&#hncS}otW?AnZ4cgqB z9R0*I4cZkg^D`Uq$d;z(=^NRutr#6OVrXj$AN7J=E-n%~i-S*kC-fP5r_ogq`Ue)ij5|3=1fjs9SF57cGo@qwf z)Kf3Zp5%zP^yo&tv)X7~a`X}B-sI4%Z2PRlBU|Sn&zXqJ_FRu=nvpj3)XTCbIpQrn zx>4_}Hd>b)eZ;vpIW#NVK5LKr?7dE07A?6R&om=#>ZzB#XZ_Tt-+N~@v^fVk`iN&5 zv@2TXXSN=b$M!mL+4pFAFYA&|+iS!*L+aBqYmBhGcn^`4mq?TU8mJX^DN{gy8C z^xVS;E&ar^-jRm>ZqfF9#l1#c7CpHh&opRPv|H!dnzie=Euj*&V(i{`plKz^F7|Hp}*U$eM?7;9^%p7)X=7# z)l#>D-)AKr*_yZKXJ_cziqZF4&-ZxLJJV3>c5C0#QKN@=v^O=hX=k<6t>E`riAT2P z?fKamy0&8Uz1H(R9`(*N)Vkf;w{+C#As+2b4Q<+4Ep;pSeOBU;t$BNXc80F47=5qx ze2+)HGYz$FxArX^HF}6gds9Q3c2-N>3jS)dt~Sq+JG#;tR-1LTdA$E41djK3|Hs)K z>0FKXYV&*zOlN2K8hFpn_lnw;m|khtSKQ^1J+H`=nYHi#zw1Z7XI|aoy}$q7VfgC1 zJhDHtYv2EUaD@M>d%XAe-#ZLneV6Vp0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J- UkbndvAOQ(TKmrnwz?ua91t_aWmjD0& literal 0 HcmV?d00001 diff --git a/pets/sparky/main_menu_background.bmp b/pets/sparky/main_menu_background.bmp new file mode 100644 index 0000000000000000000000000000000000000000..283a944da166fba7e9806b945d9664e6d20d896f GIT binary patch literal 65606 zcmeIwu?>JA5J1r*R%&M)z%i^X=-kQ8@j%CTgipB8k$2rSO7vB;Gkg9@95LlR@_k!l zG{$kXh;R3)?aM5GzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# UzyJdbFu(u<3^2d|0}L?GUO3u{_W%F@ literal 0 HcmV?d00001 diff --git a/pets/sparky/main_menu_decor.bmp b/pets/sparky/main_menu_decor.bmp new file mode 100644 index 0000000000000000000000000000000000000000..eaa45794619733423bfe8869b806865c88c9ebd8 GIT binary patch literal 106 zcmZ?r&0>H6Hy~vJ#LQ64$e;jbs{r{z+zDDN2gw5f DfTk56 literal 0 HcmV?d00001 diff --git a/pets/sparky/numbers.bmp b/pets/sparky/numbers.bmp new file mode 100644 index 0000000000000000000000000000000000000000..be7ff5012ad4827519584c034b09e2c87e1baa7b GIT binary patch literal 910 zcmc(ZI}U?D3`8AKP^8NNP>w-O5v9r1xFc>2d;R*rI4*I@e23!xuK!_*`5%UH{rc{uyz_@!pP=>_%M56^z^`E zV09oqOf9mXL3%)HVCrFJqN@Sv1&Q_8ErP2B=>e$+iGgSkMmGn>N2k%vf$@>e005Nh B&N2W1 literal 0 HcmV?d00001 diff --git a/pets/sparky/player.bmp b/pets/sparky/player.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7abcbbdf408cdf1355aa08114cdc09b67ae0f1e7 GIT binary patch literal 326 xcmZ?rbz@`z12-UP0mK|o%*dd?zzmWB$_sHrFo+8Q{}~t{2*myW^6l#pjRC*2^}qlC literal 0 HcmV?d00001 diff --git a/pets/sparky/score_labels.bmp b/pets/sparky/score_labels.bmp new file mode 100644 index 0000000000000000000000000000000000000000..d25fe08af89a39572710501be64581434f10059a GIT binary patch literal 2182 zcmcJKK@P$&3uD!cnhuh=1E5o_l z_hR>K_h5HZPGxI&HT}3BueHjj}Hzn zbMzp*&QYUfUN{gh=sa2tbq{s)l9wTz?t*jl6Z7a>8lH$l;PgR*)1EqFwo~WbA7>&L zbu!_zUb&jD#xv{aM|~r+{`-&2xmWp4?wq$*@BLrQW$#nX-$l int: + if idx > len(str(int)) - 1: + return 0 + + str_int = str(int) + char_int = ord(str_int[idx]) + return char_int - 48 + + def spawn_obi(): + obi = displayio.TileGrid( + obis_bmp, + pixel_shader=obis_bmp.pixel_shader, + tile_width=12, + tile_height=12, + x=128 + 12, + y =71 + ) + + obis.append(obi) + splash.append( obi) + def check_collition(obj1, obj2): + return( + obj1.x < obj2.x + obj2.tile_width and + obj1.x > obj2.x-3 and + (obj1.y ==75) + ) + + while(do_main_game): + if display.check_quit(): + break + for obi in obis: + if check_collition(player,obi): + do_main_game = False + + #===SCORE===# + + if frame % 4: + score+=1 * int(speed_muti) + if score >= high_score: + high_score = score + current_score_number_1[0] = get_value_at_index_of_int(score,0) + current_score_number_2[0] = get_value_at_index_of_int(score,1) + current_score_number_3[0] = get_value_at_index_of_int(score,2) + current_score_number_4[0] = get_value_at_index_of_int(score,3) + current_score_number_5[0] = get_value_at_index_of_int(score,4) + current_score_number_6[0] = get_value_at_index_of_int(score,5) + + high_score_number_1[0] = get_value_at_index_of_int(high_score, 0) + high_score_number_2[0] = get_value_at_index_of_int(high_score, 1) + high_score_number_3[0] = get_value_at_index_of_int(high_score, 2) + high_score_number_4[0] = get_value_at_index_of_int(high_score, 3) + high_score_number_5[0] = get_value_at_index_of_int(high_score, 4) + high_score_number_6[0] = get_value_at_index_of_int(high_score, 5) + + #===PLAYER===# + + keys = pygame.key.get_pressed() + if jump_timer > 0: + player.y-=int(jump_muti) + jump_muti /= 1.6 + + jump_timer-=1 + if player.y < 75: + if player.y + fall_muti > 75: + player.y = 75 + else: + player.y+=int(fall_muti) + fall_muti *= 1.1 + else: + fall_muti = 1 + if keys[pygame.K_UP] and jump_timer == 0 and player.y == 75: + jump_muti = 16 + jump_timer = 10 + + + #===OBJECTS===# + + if frame % int(60 / int(speed_muti)) == 0: + spawn_obi() + if frame % 120 == 0: + speed_muti*=1.2 + for obi in obis: + obi.x-=int(speed_muti) + + + frame+=1 + if frame == 60: + frame = 0 + if do_main_game: + time.sleep(1 / fps) + + #===PLAY AGAIN===# + do_play_again = True + + you_died_bmp = displayio.OnDiskBitmap("assets/dead.bmp") + main_menu_background = displayio.TileGrid(main_menu_background_bmp, pixel_shader=main_menu_background_bmp.pixel_shader) + you_died = displayio.TileGrid(you_died_bmp, pixel_shader=you_died_bmp.pixel_shader) + splash.append(main_game_background) + splash.append(you_died) + while(do_play_again): + if display.check_quit(): + break + keys = pygame.key.get_pressed() + if keys[pygame.K_UP]: + for i in splash: + splash.remove(i) + do_play_again = False \ No newline at end of file From c91708cb6d920fac8bf6d164a234345b8f4a0158 Mon Sep 17 00:00:00 2001 From: Violet Quinn <159643239+vivithequeen@users.noreply.github.com> Date: Thu, 6 Feb 2025 13:56:35 -0500 Subject: [PATCH 6/7] Delete pets/sparky/sparky.py --- pets/sparky/sparky.py | 268 ------------------------------------------ 1 file changed, 268 deletions(-) delete mode 100644 pets/sparky/sparky.py diff --git a/pets/sparky/sparky.py b/pets/sparky/sparky.py deleted file mode 100644 index d797deaa..00000000 --- a/pets/sparky/sparky.py +++ /dev/null @@ -1,268 +0,0 @@ -import displayio -from blinka_displayio_pygamedisplay import PyGameDisplay -import pygame -import time -import random - -pygame.init() -display = PyGameDisplay(width=128, height=128) -splash = displayio.Group() -display.show(splash) - -#===MAIN MENU===# -main_menu_background_bmp = displayio.OnDiskBitmap("assets/main_menu_background.bmp") -main_menu_bmp = displayio.OnDiskBitmap("assets/main_menu.bmp") -main_menu_decor_bmp = displayio.OnDiskBitmap("assets/main_menu_decor.bmp") - - - -main_menu_background = displayio.TileGrid(main_menu_background_bmp, pixel_shader=main_menu_background_bmp.pixel_shader) -main_menu = displayio.TileGrid( main_menu_bmp, pixel_shader=main_menu_bmp.pixel_shader, tile_width=128, tile_height=128) - -splash.append(main_menu_background) -splash.append(main_menu) - -decor = [] - - -def spawn_main_menu_decor(): - x_pos = random.randrange(0, 41) if random.randrange(0,2) == 1 else random.randrange(87,128) - main_menu_decor = displayio.TileGrid( - main_menu_decor_bmp, - pixel_shader=main_menu_background_bmp.pixel_shader, - width=1, - height=1, - tile_width=3, - tile_height=3, - default_tile=0, - x=x_pos, - y=display.height - ) - decor.append(main_menu_decor) - splash.insert(1,main_menu_decor) - - - -frame = 0 -fps = 30 -do_main_menu = True -while(do_main_menu): - if display.check_quit(): - break - if frame % 3 == 0: - for main_menu_decor in decor: - main_menu_decor.x += random.randrange(-1,2) - main_menu_decor.y -= 1 - if frame % 6 == 0: - spawn_main_menu_decor() - if frame % 24 == 0: - if main_menu[0] == 0: - main_menu[0] = 1 - else: - main_menu[0] = 0 - - frame += 1 - keys = pygame.key.get_pressed() - for main_menu_decor in decor: - if main_menu_decor.y <= -2: - splash.remove(main_menu_decor) - decor.remove(main_menu_decor) - - if frame == 60: - frame = 0 - if keys[pygame.K_UP]: - do_main_menu = False - if do_main_menu: - time.sleep(1 / fps) - - -#===LOADING SCREEN===# -do_loading_screen = True -loading_screen_bmp = displayio.OnDiskBitmap("assets/loading_screen.bmp") -loading_screen = displayio.TileGrid( loading_screen_bmp, pixel_shader=loading_screen_bmp.pixel_shader, tile_width=128, tile_height=128) - -splash.append(loading_screen) -while(do_loading_screen): - if display.check_quit(): - break - - if frame % 6 == 0: - if loading_screen[0] == 11: - do_loading_screen = False - else: - loading_screen[0] +=1 - - frame+=1 - if frame == 60: - frame = 0 - if do_loading_screen: - time.sleep(1 / fps) - -play_dino_game = True -high_score = 0 -#===DINO GAME===# -while(play_dino_game): - - do_main_game = True - numbers_bmp = displayio.OnDiskBitmap("assets/numbers.bmp") - score_labels_bmp = displayio.OnDiskBitmap("assets/score_labels.bmp") - main_game_background_bmp = displayio.OnDiskBitmap("assets/main_game_background.bmp") - obis_bmp = displayio.OnDiskBitmap("assets/obis.bmp") - player_bmp = displayio.OnDiskBitmap("assets/player.bmp") - - - high_score_number_1 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 48,y = 1) - high_score_number_2 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 52,y = 1) - high_score_number_3 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 56,y = 1) - high_score_number_4 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 60,y = 1) - high_score_number_5 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 64,y = 1) - high_score_number_6 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 68,y = 1) - - current_score_number_1 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 48,y = 8) - current_score_number_2 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 52,y = 8) - current_score_number_3 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 56,y = 8) - current_score_number_4 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 60,y = 8) - current_score_number_5 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 64,y = 8) - current_score_number_6 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 68,y = 8) - main_game_background = displayio.TileGrid(main_game_background_bmp, pixel_shader=main_game_background_bmp.pixel_shader) - - player = displayio.TileGrid( - player_bmp, - pixel_shader=player_bmp.pixel_shader, - x=10, - y=75 - ) - - score_labels = displayio.TileGrid(score_labels_bmp, pixel_shader=score_labels_bmp.pixel_shader,x=2,y=2) - - splash.append(main_game_background) - splash.append(high_score_number_1) - splash.append(high_score_number_2) - splash.append(high_score_number_3) - splash.append(high_score_number_4) - splash.append(high_score_number_5) - splash.append(high_score_number_6) - splash.append(current_score_number_1) - splash.append(current_score_number_2) - splash.append(current_score_number_3) - splash.append(current_score_number_4) - splash.append(current_score_number_5) - splash.append(current_score_number_6) - splash.append(score_labels) - splash.append(player) - - jump_timer = 0 - jump_muti = 30 - fall_muti = 1 - speed_muti = 1 - score = 0 - obis = [] - - - def get_value_at_index_of_int(int, idx) -> int: - if idx > len(str(int)) - 1: - return 0 - - str_int = str(int) - char_int = ord(str_int[idx]) - return char_int - 48 - - def spawn_obi(): - obi = displayio.TileGrid( - obis_bmp, - pixel_shader=obis_bmp.pixel_shader, - tile_width=12, - tile_height=12, - x=128 + 12, - y =71 - ) - - obis.append(obi) - splash.append( obi) - def check_collition(obj1, obj2): - return( - obj1.x < obj2.x + obj2.tile_width and - obj1.x > obj2.x-3 and - (obj1.y ==75) - ) - - while(do_main_game): - if display.check_quit(): - break - for obi in obis: - if check_collition(player,obi): - do_main_game = False - - #===SCORE===# - - if frame % 4: - score+=1 * int(speed_muti) - if score >= high_score: - high_score = score - current_score_number_1[0] = get_value_at_index_of_int(score,0) - current_score_number_2[0] = get_value_at_index_of_int(score,1) - current_score_number_3[0] = get_value_at_index_of_int(score,2) - current_score_number_4[0] = get_value_at_index_of_int(score,3) - current_score_number_5[0] = get_value_at_index_of_int(score,4) - current_score_number_6[0] = get_value_at_index_of_int(score,5) - - high_score_number_1[0] = get_value_at_index_of_int(high_score, 0) - high_score_number_2[0] = get_value_at_index_of_int(high_score, 1) - high_score_number_3[0] = get_value_at_index_of_int(high_score, 2) - high_score_number_4[0] = get_value_at_index_of_int(high_score, 3) - high_score_number_5[0] = get_value_at_index_of_int(high_score, 4) - high_score_number_6[0] = get_value_at_index_of_int(high_score, 5) - - #===PLAYER===# - - keys = pygame.key.get_pressed() - if jump_timer > 0: - player.y-=int(jump_muti) - jump_muti /= 1.6 - - jump_timer-=1 - if player.y < 75: - if player.y + fall_muti > 75: - player.y = 75 - else: - player.y+=int(fall_muti) - fall_muti *= 1.1 - else: - fall_muti = 1 - if keys[pygame.K_UP] and jump_timer == 0 and player.y == 75: - jump_muti = 16 - jump_timer = 10 - - - #===OBJECTS===# - - if frame % int(60 / int(speed_muti)) == 0: - spawn_obi() - if frame % 120 == 0: - speed_muti*=1.2 - for obi in obis: - obi.x-=int(speed_muti) - - - frame+=1 - if frame == 60: - frame = 0 - if do_main_game: - time.sleep(1 / fps) - - #===PLAY AGAIN===# - do_play_again = True - - you_died_bmp = displayio.OnDiskBitmap("assets/dead.bmp") - main_menu_background = displayio.TileGrid(main_menu_background_bmp, pixel_shader=main_menu_background_bmp.pixel_shader) - you_died = displayio.TileGrid(you_died_bmp, pixel_shader=you_died_bmp.pixel_shader) - splash.append(main_game_background) - splash.append(you_died) - while(do_play_again): - if display.check_quit(): - break - keys = pygame.key.get_pressed() - if keys[pygame.K_UP]: - for i in splash: - splash.remove(i) - do_play_again = False \ No newline at end of file From c8103dcfa2a4f8f0dd5d870cb792fc9eb0d1898d Mon Sep 17 00:00:00 2001 From: Violet Quinn <159643239+vivithequeen@users.noreply.github.com> Date: Thu, 6 Feb 2025 13:56:51 -0500 Subject: [PATCH 7/7] Add files via upload --- pets/sparky/sparky.py | 268 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 268 insertions(+) create mode 100644 pets/sparky/sparky.py diff --git a/pets/sparky/sparky.py b/pets/sparky/sparky.py new file mode 100644 index 00000000..2c73cb62 --- /dev/null +++ b/pets/sparky/sparky.py @@ -0,0 +1,268 @@ +import displayio +from blinka_displayio_pygamedisplay import PyGameDisplay +import pygame +import time +import random + +pygame.init() +display = PyGameDisplay(width=128, height=128) +splash = displayio.Group() +display.show(splash) + +#===MAIN MENU===# +main_menu_background_bmp = displayio.OnDiskBitmap("main_menu_background.bmp") +main_menu_bmp = displayio.OnDiskBitmap("main_menu.bmp") +main_menu_decor_bmp = displayio.OnDiskBitmap("main_menu_decor.bmp") + + + +main_menu_background = displayio.TileGrid(main_menu_background_bmp, pixel_shader=main_menu_background_bmp.pixel_shader) +main_menu = displayio.TileGrid( main_menu_bmp, pixel_shader=main_menu_bmp.pixel_shader, tile_width=128, tile_height=128) + +splash.append(main_menu_background) +splash.append(main_menu) + +decor = [] + + +def spawn_main_menu_decor(): + x_pos = random.randrange(0, 41) if random.randrange(0,2) == 1 else random.randrange(87,128) + main_menu_decor = displayio.TileGrid( + main_menu_decor_bmp, + pixel_shader=main_menu_background_bmp.pixel_shader, + width=1, + height=1, + tile_width=3, + tile_height=3, + default_tile=0, + x=x_pos, + y=display.height + ) + decor.append(main_menu_decor) + splash.insert(1,main_menu_decor) + + + +frame = 0 +fps = 30 +do_main_menu = True +while(do_main_menu): + if display.check_quit(): + break + if frame % 3 == 0: + for main_menu_decor in decor: + main_menu_decor.x += random.randrange(-1,2) + main_menu_decor.y -= 1 + if frame % 6 == 0: + spawn_main_menu_decor() + if frame % 24 == 0: + if main_menu[0] == 0: + main_menu[0] = 1 + else: + main_menu[0] = 0 + + frame += 1 + keys = pygame.key.get_pressed() + for main_menu_decor in decor: + if main_menu_decor.y <= -2: + splash.remove(main_menu_decor) + decor.remove(main_menu_decor) + + if frame == 60: + frame = 0 + if keys[pygame.K_UP]: + do_main_menu = False + if do_main_menu: + time.sleep(1 / fps) + + +#===LOADING SCREEN===# +do_loading_screen = True +loading_screen_bmp = displayio.OnDiskBitmap("loading_screen.bmp") +loading_screen = displayio.TileGrid( loading_screen_bmp, pixel_shader=loading_screen_bmp.pixel_shader, tile_width=128, tile_height=128) + +splash.append(loading_screen) +while(do_loading_screen): + if display.check_quit(): + break + + if frame % 6 == 0: + if loading_screen[0] == 11: + do_loading_screen = False + else: + loading_screen[0] +=1 + + frame+=1 + if frame == 60: + frame = 0 + if do_loading_screen: + time.sleep(1 / fps) + +play_dino_game = True +high_score = 0 +#===DINO GAME===# +while(play_dino_game): + + do_main_game = True + numbers_bmp = displayio.OnDiskBitmap("numbers.bmp") + score_labels_bmp = displayio.OnDiskBitmap("score_labels.bmp") + main_game_background_bmp = displayio.OnDiskBitmap("main_game_background.bmp") + obis_bmp = displayio.OnDiskBitmap("obis.bmp") + player_bmp = displayio.OnDiskBitmap("player.bmp") + + + high_score_number_1 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 48,y = 1) + high_score_number_2 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 52,y = 1) + high_score_number_3 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 56,y = 1) + high_score_number_4 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 60,y = 1) + high_score_number_5 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 64,y = 1) + high_score_number_6 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 68,y = 1) + + current_score_number_1 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 48,y = 8) + current_score_number_2 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 52,y = 8) + current_score_number_3 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 56,y = 8) + current_score_number_4 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 60,y = 8) + current_score_number_5 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 64,y = 8) + current_score_number_6 = displayio.TileGrid(numbers_bmp,pixel_shader=numbers_bmp.pixel_shader,width=1,height=1,tile_width=3,tile_height= 7,default_tile=3,x = 68,y = 8) + main_game_background = displayio.TileGrid(main_game_background_bmp, pixel_shader=main_game_background_bmp.pixel_shader) + + player = displayio.TileGrid( + player_bmp, + pixel_shader=player_bmp.pixel_shader, + x=10, + y=75 + ) + + score_labels = displayio.TileGrid(score_labels_bmp, pixel_shader=score_labels_bmp.pixel_shader,x=2,y=2) + + splash.append(main_game_background) + splash.append(high_score_number_1) + splash.append(high_score_number_2) + splash.append(high_score_number_3) + splash.append(high_score_number_4) + splash.append(high_score_number_5) + splash.append(high_score_number_6) + splash.append(current_score_number_1) + splash.append(current_score_number_2) + splash.append(current_score_number_3) + splash.append(current_score_number_4) + splash.append(current_score_number_5) + splash.append(current_score_number_6) + splash.append(score_labels) + splash.append(player) + + jump_timer = 0 + jump_muti = 30 + fall_muti = 1 + speed_muti = 1 + score = 0 + obis = [] + + + def get_value_at_index_of_int(int, idx) -> int: + if idx > len(str(int)) - 1: + return 0 + + str_int = str(int) + char_int = ord(str_int[idx]) + return char_int - 48 + + def spawn_obi(): + obi = displayio.TileGrid( + obis_bmp, + pixel_shader=obis_bmp.pixel_shader, + tile_width=12, + tile_height=12, + x=128 + 12, + y =71 + ) + + obis.append(obi) + splash.append( obi) + def check_collition(obj1, obj2): + return( + obj1.x < obj2.x + obj2.tile_width and + obj1.x > obj2.x-3 and + (obj1.y ==75) + ) + + while(do_main_game): + if display.check_quit(): + break + for obi in obis: + if check_collition(player,obi): + do_main_game = False + + #===SCORE===# + + if frame % 4: + score+=1 * int(speed_muti) + if score >= high_score: + high_score = score + current_score_number_1[0] = get_value_at_index_of_int(score,0) + current_score_number_2[0] = get_value_at_index_of_int(score,1) + current_score_number_3[0] = get_value_at_index_of_int(score,2) + current_score_number_4[0] = get_value_at_index_of_int(score,3) + current_score_number_5[0] = get_value_at_index_of_int(score,4) + current_score_number_6[0] = get_value_at_index_of_int(score,5) + + high_score_number_1[0] = get_value_at_index_of_int(high_score, 0) + high_score_number_2[0] = get_value_at_index_of_int(high_score, 1) + high_score_number_3[0] = get_value_at_index_of_int(high_score, 2) + high_score_number_4[0] = get_value_at_index_of_int(high_score, 3) + high_score_number_5[0] = get_value_at_index_of_int(high_score, 4) + high_score_number_6[0] = get_value_at_index_of_int(high_score, 5) + + #===PLAYER===# + + keys = pygame.key.get_pressed() + if jump_timer > 0: + player.y-=int(jump_muti) + jump_muti /= 1.6 + + jump_timer-=1 + if player.y < 75: + if player.y + fall_muti > 75: + player.y = 75 + else: + player.y+=int(fall_muti) + fall_muti *= 1.1 + else: + fall_muti = 1 + if keys[pygame.K_UP] and jump_timer == 0 and player.y == 75: + jump_muti = 16 + jump_timer = 10 + + + #===OBJECTS===# + + if frame % int(60 / int(speed_muti)) == 0: + spawn_obi() + if frame % 120 == 0: + speed_muti*=1.2 + for obi in obis: + obi.x-=int(speed_muti) + + + frame+=1 + if frame == 60: + frame = 0 + if do_main_game: + time.sleep(1 / fps) + + #===PLAY AGAIN===# + do_play_again = True + + you_died_bmp = displayio.OnDiskBitmap("dead.bmp") + main_menu_background = displayio.TileGrid(main_menu_background_bmp, pixel_shader=main_menu_background_bmp.pixel_shader) + you_died = displayio.TileGrid(you_died_bmp, pixel_shader=you_died_bmp.pixel_shader) + splash.append(main_game_background) + splash.append(you_died) + while(do_play_again): + if display.check_quit(): + break + keys = pygame.key.get_pressed() + if keys[pygame.K_UP]: + for i in splash: + splash.remove(i) + do_play_again = False \ No newline at end of file