From 5a7283895208b7ab24b6fad5d44cb5a13665eafd Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Mon, 3 Feb 2025 22:18:40 -0500 Subject: [PATCH 01/23] silly dog eats things slack username - Nili --- challah.bmp | Bin 0 -> 4234 bytes hackapet_code.py | 269 +++++++++++++++++++++++++++++++++++++++ meter empty.bmp | Bin 0 -> 4234 bytes meter full.bmp | Bin 0 -> 4234 bytes meter half.bmp | Bin 0 -> 4234 bytes meter quarter.bmp | Bin 0 -> 4234 bytes meter three quarters.bmp | Bin 0 -> 4234 bytes pill.bmp | Bin 0 -> 4234 bytes shoe.bmp | Bin 0 -> 4234 bytes teddy_walking.bmp | Bin 0 -> 4234 bytes teddy_walking.png | Bin 0 -> 570 bytes youwin.bmp | Bin 0 -> 65674 bytes 12 files changed, 269 insertions(+) create mode 100644 challah.bmp create mode 100644 hackapet_code.py create mode 100644 meter empty.bmp create mode 100644 meter full.bmp create mode 100644 meter half.bmp create mode 100644 meter quarter.bmp create mode 100644 meter three quarters.bmp create mode 100644 pill.bmp create mode 100644 shoe.bmp create mode 100644 teddy_walking.bmp create mode 100644 teddy_walking.png create mode 100644 youwin.bmp diff --git a/challah.bmp b/challah.bmp new file mode 100644 index 0000000000000000000000000000000000000000..b86ad4d676dd77c0994e39dfa6869b1e6197c682 GIT binary patch literal 4234 zcmeH`ze`*}5Xax4@y8_?HHrwLAtB} zC1Xzw_8e93IbM8B6#e_+GLwZjpUZ#FbF+K>-TmulnS4I~pj0XiT4}0ODyq3_O}%G9ybnP6i4e%(I1UgZ9Ipy!~Q`>wPhI$*-8cS4I3+ z@^qi3hd%y_akI<6P0RduCwHcbt`?ZNV%eSPNzy%BaD8BBdmfv%fnj$iordT8$sJwW zcX?yq4&%A;H@{mo^uXN0q!-_&ht8+tuD{u>W5XV^KTn+9 zVYwwn0+xh0xWN{8^mK3YAnx18N;{L!oT{bzXm$WLXKCGonUur3p|>==BtJF9rRrnz z{)8*ev6)j^v-7`cd^zKCh)u%zpO1NLOgyjlFAVjDW;e3c3%K=S*Y?K$vh~vs(|o_j z?NmH~NuSqw-?cSwVl#7fkM4c2k1qR8+U?xh)lKTv6U)p~n@2Iv;u~F0y^s?a2n+-U J0t2^?fxlahqFev~ literal 0 HcmV?d00001 diff --git a/hackapet_code.py b/hackapet_code.py new file mode 100644 index 00000000..3b3b8809 --- /dev/null +++ b/hackapet_code.py @@ -0,0 +1,269 @@ +import os +import time +import pygame +from blinka_displayio_pygamedisplay import PyGameDisplay +import displayio +import random +#thanks to my akiva for helping me set this up, i love you sm +# Initialize Pygame +pygame.init() + +# Set up the display +display = PyGameDisplay(width=128, height=128) +splash = displayio.Group() +display.show(splash) + +forest_background = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/forest_background.bmp") + +bg_sprite = displayio.TileGrid( + forest_background, + pixel_shader=forest_background.pixel_shader +) + +splash.append(bg_sprite) + +teddy_sheet = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddywalking!.bmp") + +# Correctly declare tile_width and tile_height as integers +tile_width = 32 +tile_height = 32 + +teddy_sprite = displayio.TileGrid( + teddy_sheet, + pixel_shader=teddy_sheet.pixel_shader, + width=1, + height=1, + tile_width=tile_width, + tile_height=tile_height, + default_tile=0, + x=int((display.width - tile_width) // 2), + y=int(display.height - tile_height - 10), +) + +splash.append(teddy_sprite) +frame = 0 +speed = 4 +full = 0 +game_over = False +keys = pygame.key.get_pressed() +# ADDING THE ICONS THINGIES +food = [] +shoes = [] +pill_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/pill.bmp") +def spawn_pill(): + x_position = random.randint(0, 128) + y_position = 128 + pill_sprite = displayio.TileGrid( + pill_bitmap, + pixel_shader=pill_bitmap.pixel_shader, + width=1, + height=1, + tile_width=16, + tile_height=16, + default_tile=0, + x=random.randint(0, display.width - 16), + y=random.randint(0, display.height - 16), + ) + splash.append(pill_sprite) + food.append(pill_sprite) +shoe_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/shoe.bmp") +def spawn_shoe(): + x_position = random.randint(0,128) + y_position = 0 + shoe_sprite = displayio.TileGrid( + shoe_bitmap, + pixel_shader=shoe_bitmap.pixel_shader, + width=1, + height=1, + tile_width=16, + tile_height=16, + default_tile=0, + x=random.randint(0, display.width - 16), + y=random.randint(0, display.height - 16), + ) + splash.append(shoe_sprite) + shoes.append(shoe_sprite) +win_screen = displayio.TileGrid( + displayio.OnDiskBitmap("C:/Users/Nili/Downloads/youwin.bmp"), + pixel_shader=displayio.OnDiskBitmap("C:/Users/Nili/Downloads/youwin.bmp").pixel_shader, + width=1, + height=1, + tile_width=128, + tile_height=128, + x=0, + y=0 +) +challah_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/challah.bmp") +challah_sprite = displayio.TileGrid( + challah_bitmap, + pixel_shader=challah_bitmap.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 +) +def spawn_challah(): + x_position = random.randint(0, 128) + y_position = 128 + challah_sprite = displayio.TileGrid( + challah_bitmap, + pixel_shader=challah_bitmap.pixel_shader, + width=1, + height=1, + tile_width=16, + tile_height=16, + default_tile=0, + x=random.randint(0, display.width - 16), + y=random.randint(0, display.height - 16), + ) + splash.append(challah_sprite) + food.append(challah_sprite) +meter_empty = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter empty.bmp") +meter_full = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter full.bmp") +meter_quarter = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter quarter.bmp") +meter_three_quarters = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter three quarters.bmp") +meter_half = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter half.bmp") +meter_sprite = displayio.TileGrid( + meter_empty, + pixel_shader=meter_empty.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 +) +splash.append(meter_sprite) +def check_collision(sprite1, sprite2): + return ( + sprite1.x < sprite2.x + 32 and + sprite1.x + 32 > sprite2.x and + sprite1.y < sprite2.y + 32 and + sprite1.y + 32 > sprite2.y + ) +last_spawn_time = time.time() +spawn_pill() +spawn_shoe() +spawn_challah() +# i THINK my game is gonna be like collecting pills to get points and avoiding things that take points down +while True: + for event in pygame.event.get(): + if event.type == pygame.QUIT: + pygame.quit() + exit() + keys = pygame.key.get_pressed() + if game_over == False: + if keys[pygame.K_LEFT]: + teddy_sprite.x -= speed + if keys[pygame.K_RIGHT]: + teddy_sprite.x += speed + if keys[pygame.K_UP]: + teddy_sprite.y -= speed + time.sleep(0.05) + teddy_sprite.y += speed + for pill in food: + pill.y += 1 + if pill.y > display.height: + splash.remove(pill) + food.remove(pill) + if check_collision(teddy_sprite, pill): + splash.remove(pill) + food.remove(pill) + full += 2 + for shoe in shoes: + shoe.y += 1 + if shoe.y > display.height: + splash.remove(shoe) + shoes.remove(shoe) + if check_collision(teddy_sprite, shoe): + splash.remove(shoe) + shoes.remove(shoe) + full -= 1 + for challah in food: + challah.y += 1 + if challah.y > display.height: + splash.remove(challah) + food.remove(challah) + if check_collision(teddy_sprite, challah): + splash.remove(challah) + food.remove(challah) + full += 1 + if full == 8: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_full, + pixel_shader=meter_full.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + display.show(win_screen) + time.sleep(3) + full = 0 + game_over = True + elif full == 2: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_quarter, + pixel_shader=meter_quarter.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + splash.append(meter_sprite) + elif full == 4: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_half, + pixel_shader=meter_half.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + splash.append(meter_sprite) + elif full == 6: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_three_quarters, + pixel_shader=meter_three_quarters.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + elif full == 0: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_empty, + pixel_shader=meter_empty.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + splash.append(meter_sprite) + current_time = time.time() + if current_time - last_spawn_time >= 5: + spawn_pill() + spawn_shoe() + spawn_shoe() + spawn_challah() + spawn_challah() + last_spawn_time = current_time + display.refresh() + time.sleep(0.01) \ No newline at end of file diff --git a/meter empty.bmp b/meter empty.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9de1cf2859590a4e0999f5ce58dbb92ee8d61990 GIT binary patch literal 4234 zcmZ?r?Gj)BgDxOh1H=kY%m`#L1KA8vc@Pr;{xdK@5J>31lY3Bc|DmrMfji_x^fNH9Aah39qaiRF0;3@?8UlkR1SIum0899R z0U*0!nBFdc*^5jw+`Rvv>KKQ|knM%BaVRBU7~~&30Aw#n8b;$$O1>06H{g>a-$qoO z`0T(ZhiVG>JbZTGlOx|oRGozEAS91!8fiRY%m%5UB__?qqpC+kU^E0qLtr!nXcPhf D0;9*` literal 0 HcmV?d00001 diff --git a/meter full.bmp b/meter full.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7060c98187756c5f620844c2d438667a1736745c GIT binary patch literal 4234 zcmZ?r?Gj)BgDxOh1H=kY%m`#L1KA8vc@Pr;{xdK@5J>31lY3Bc|DmrMfji_x^fNH9Aah39qaiRF0;3@?8UlkR1SIum0899R z0U*0!nBFdc*^5jw+`Rvv>KKQ|knM%B#cS05Qxk*zg2R50FvwnzeK4AucEilV>jq$W t!_?7=931lY3Bc|DmrMfji_x^fNH9Aah39qaiRF0;3@?8UlkR1SIum0899R z0U*0!nBFdc*^5jw+`Rvv>KKQ|knM%B#cS056N7OWi75>74;}!r7i1rdCdO`%8azf~ zO5t+@P>xtTk=0>Zf=6W3e*E!8MjYS?ZB!|IVGmOYQbS7&vuBhZ4S~@R7!85Z5E#%9 F005;`MQH#4 literal 0 HcmV?d00001 diff --git a/meter quarter.bmp b/meter quarter.bmp new file mode 100644 index 0000000000000000000000000000000000000000..ef3d274e9c750e6c7fdc7058c1d701c00080e53c GIT binary patch literal 4234 zcmZ?r?Gj)BgDxOh1H=kY%m`#L1KA8vc@Pr;{xdK@5J>31lY3Bc|DmrMfji_x^fNH9Aah39qaiRF0;3@?8UlkR1SIum0899R z0U*0!nBFdc*^5jw+`Rvv>KKQ|knM%B#cS05!!QnQqzQxkg9m`@1=$CqVRnOPJlaT; z!siB{9I~CrY|<>jqk7bS{BemR4)BC1@lyE09%c$i4J|Ruo>6)<1V%$(Gz3ONU_e6v E09l9qDgXcg literal 0 HcmV?d00001 diff --git a/meter three quarters.bmp b/meter three quarters.bmp new file mode 100644 index 0000000000000000000000000000000000000000..66985ac264854ef37087bdb818cbabb37066ae64 GIT binary patch literal 4234 zcmZ?r?Gj)BgDxOh1H=kY%m`#L1KA8vc@Pr;{xdK@5J>31lY3Bc|DmrMfji_x^fNH9Aah39qaiRF0;3@?8UlkR1SIum0899R z0U*0!nBFdc*^5jw+`Rvv>KKQ|knM%B#cS05Q-U$90{I6I0ND$&4@OgBH%Kp5tMIu2 zC`YNC$ofa^#}Weg!XKoZigAEpJ0ZKF_ESC2f$W803`dO$jE2By2#kinXb22M2mk=) CRf931lY3Bc|DmrMfji_x^fNH9Aah39Ln;Ie%Qyd*chCN>)YY27=E!_aKyCXyC|D6NHU^{nA z*82~_Aij3`Y+AYjZ1$8=)&CvYO8+07?grZnvmZoX-r)aVFMl~aPN*0bU^5HCW&YPB z%467z?1uYC>%s1Tg%vg2z|7A5pHE)@zlJ;)Ub|uLxVbz1|JkMH)DDOL5iVjx*$;BZ z(+ktVYN-_tT;j?^`yUn#_Q$RNg8;}4)QAU3^I&k=gPD(yHrrtQAA~_}*z$rpM3OX)L?_m1=SPs8S+@&pj4s+7N=7B$LeH|{XmKT z$l;(jL-)UQjP!r49xbrnLGHw=nF@j+vtj9xSBLk%poQRnHW4@ev>WDpkR71% j2^<$tJLzRN%ncwK6b?WNTt?8t-^g~4vPVN;D24z4hIx7{ literal 0 HcmV?d00001 diff --git a/shoe.bmp b/shoe.bmp new file mode 100644 index 0000000000000000000000000000000000000000..cb1be4c35fb41362badb192028dbe5a25dff10b9 GIT binary patch literal 4234 zcmeHJF-yZh6uwfC=oAp4Q^_RR1Pju^E=6z<2fJAuoGLC-aB*-gLYGbo{Q>?12WR~U zF3!#_F3!*QUGC^hj3!O4ap|MiytKLdzW2Q^mvoQDzS1$~?;9S088y!8oGbG`(pivF z(FZ?K_n>z*dHxEIpPHM^(MPS-YHbV#gDoDb)9G}rv;I~OPbWLG`AV(GlVx5+0ctcF z{qks+)+vd6#SkLS?+8=*Thj}HyJQ;SK=xA!S1b%n~ zzS+M|t|8aU%Hw$OlhF59Tzd`n?s6gL$FRY}hU65>%VA^otbSWl9$Z}OI?zk=EUcjJ zboSto_8x+I?Q=SPrn_I^XVD9t1G~J}@^i%d7&!3zpuWGLOVxpAb5)vGUE30GsX#>v Fd;@qB-%S7j literal 0 HcmV?d00001 diff --git a/teddy_walking.bmp b/teddy_walking.bmp new file mode 100644 index 0000000000000000000000000000000000000000..ece1ab61c40071311d63ac39f10c6518f81ae7d4 GIT binary patch literal 4234 zcmeH{uTDcT6vn%Zuz+GA1jT|PGYbjRm>CoTBth>5P$XE)5Yu}LB$_9{@epWqIbXS7 zckaFIcFS%Ff`)S1^Y8byx7p-!wrAX!$^QqL$HnZ(sw-<##IalsYs~i_Ty}DCeK&vo z9A3Q)4hD}Oo$+|QKb=lbWNt4Oi=Fe`_wMj^ezvSPW=n7W_`28YSv{M`)%jRAsR`wv zb~GAUJ=XO@yx;HZ5~n}ZU;9ua`;u1nLX16|@>6P{gZWwmSk;N#RYPlL?W%kgb7z#j zzX#Ss8`df}x?~M)G_fA=XO)m+vBz)n!PWI?H0r%}u8{*T? z-Z4ui^99l9%^;7px`uri(|h%A_P)!k3$SpQ!3O8g@Z*w82yo!d zm_ocevj4Z6-OWboz$-eizWUz)aU3^xgzLKQIlWp0D4wQikD;n6B_UP;km3-O5crHm zh{XXYUe~qKS}Pj>;xY=W06-ioj$`v=1d5_iS(dE|(7@}mEO)%8IG#~t{Qmv3U@vIk zH6kFrClGb;`Og5D3lu*)K2pzb@9P4{h%y?;1Bhe2e0-WHAqtBpp;F2;9~=Qh5pMi{ zetKfWU%$T1lgBUzV5htJa)=2@AXZ2FzBdVj0x&#gU2bmF!|h$q$>#CN*pIF*oB*9T zMSP7U1c30PsiT$K}oFgXAKyJVy>yo08aBuQ_k9|9P= z$2$)IAkTBP-EKRbu>gSO3hfyjNaiHf)ID=1qEK&{^!pFghF&nNq>I4-0000KO)Bpeg literal 0 HcmV?d00001 diff --git a/youwin.bmp b/youwin.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7177363495a63704b81dbc9d9bec3fcc98eec68a GIT binary patch literal 65674 zcmeHNy{=tF4?R~wNYEnMhzg}9HBA~S3aF{?3(!)~(4HQ zJmcACpL-pV&trT2c&|hCi8nvKz1&^o&)dhpzdio_{o~)e%Qu%7kMGOJ{eRC-|MPIU z{Qr+k9^U-$^RMqd{PXIkKVN?R@{hmoUcY|*)&2ebw~v26fB*jd7vF#R*Na!by!-AG z{qgacZt7hLR05SiB~S@e0+m1|Pzh85l|Us>2~+}=KqXKKR05SiB~S@e0+m1|Pzh85 zl|Us>2~+}=KqXKKR05SiB~S@e0*55Ky6{r%5+*Him< zJ?@Ltvwq7N?rP=8w~gYM*XvuF+4J5F&w1zNEZK};W;67(v-Y$1J$0U! zuYA9Uk^O8=Bib35-hHg!!#<@QfA>m1o6Cx)aA$ork8jYsr~KycUg>w_#P{s*5Y3}} zcHKX#%ilfPAC(#3Gy9z$FUyB@r1!k9wQt>O&GiiT>Y2PT&#Xsy$h{dptbsl=k4!Dx zr>m6(_Uw&0D(^FTXrpFmS{l$twJ^OIcvkK4uDNU7YRzTFw=$0R8T}C+a_5Q!oE|o7$DY#9XlLp4yxF6NUD-u_7~kr> zo0#X}GxqE${j4r)&FZvxyY=B4@nLMQhkmOvw}s1^v!C=U+N`&tWpQ`w!*kS!ak>{R z-OC&Lts2F*bVldwH*#Z7oAr9wncZ%E+%)RLIP_7SSv+_%6}NJo(E=w^3!1v_)`!=K z4`a|nLn>yddS|_XL$xqjGkEB_s;#x;y{gCj-TLtJe0Yx@d{oR)F>h7iP+Pc+IXrY- z)zw;fuWD*OG*R^~^9_Aet&N#gHBR1);XU_JJo6*{4lmY}K5~aANai+F&8>T!WX_3&ri z<9<}W6Z4}g`+I%wE|07CtfP0}%`y&rY=TDuGI%5~u_!fl8nf zs01p3N}v*`1S)|_;Fc2L|8Jz%-_m#8%B`ID5qGoaOn=0kPu;`Heb+ZzUaPZRw>}qL zEB_teZuw-*cHH}1G_Btt^V==`-pumu;jy!LnKSr!HPiD5E$e%-d@XHj7V)$AdKS?d z#cKVL_o(g}aQr=)H?cPNvtF!Y^|RW{v$RKMtaH|$za{HV*42H6ht_MoSA1HUk@<@M zQC$9>EML||pQSH4(CpP2zn&g;S{E~`YTVi0JMZ18%{f|Lm@(Gt!E4nPzlE21i*xO{ zb#vBDtevIX(_v5aJ&xW1->MpGy<0q)Tlj0wta~$V+NC>ko8>JtkK5v5?(wk)-m1Wy zrSgqgcd@SYS=yeCFt{FomoDtd-Qil{Vn|J%{w%+ejn)YjhL_2 zUAm)pvA^^^u7&qFJw5Dp=|X?C@_nm%;P29fzE{~_`W`2W?`iRFr#5>V2uKHx_jo!n)y69zKjZVQ_+xBO%_qHS?Ucu@@dMER?D z_Sd~=>z?0HZ|0+q>Wtu_&2@w;80JYo%8lTT^098Ry!A{ty0_kzZf|C3$gIbS?phuZ zA4?;8#|Zu?AL|y&8#9f^tXDO@_wH%PuE!nO_4G&hz_1SH*_C~y&-SqNEMLr`_{h!h z7^&7B-mInT@p#WVywB>{NBS)7mX76#S&JicV0yL3$F9e>cHnu{;>yh9S$o#9Fc~xU znZ0-P7RwK_5e;B_bwo!nJq>Hu)3xw2>v4KJ*6U$ccI>lq^T-{R-;8HV2lJ6zfB|Q; zf+yAEXl&%ox)E*!%RbUa_z|q-wc^*(!#r{uu;6A?XwFpjpV1iMT+2uMj@;S8XdQmH zINqFfW_r)V+q0*KKl7fyMfVwZYd!s5)z(^(_o}b(*)K!$S{nQ<=riwurmk7~TC?}g z@)I5Q$<#hti@!zsqi-m`>m|Uy|Me~@=SrXws01p3N}v*`1S)|_pc1GADuGI%5~u_! zfl8nfs01p3N}v*`1S)|_pc1GADuGI%5~u_!fl8nfs01p3N}v*`1S)|_pc1GADuGI% O5~u_!flA={CGanJ8C=-_ literal 0 HcmV?d00001 From 6aabb9730b10bc4d438f119abe03a0c51dd5c4f7 Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Tue, 4 Feb 2025 14:46:25 -0500 Subject: [PATCH 02/23] Add files via upload added some sprite changes and added idle animation + for jump --- hackapet_code.py | 82 ++++++++++++++++++++++++++++++++--------- teddy_idle.bmp | Bin 0 -> 4234 bytes teddywalking! left.bmp | Bin 0 -> 37002 bytes 3 files changed, 65 insertions(+), 17 deletions(-) create mode 100644 teddy_idle.bmp create mode 100644 teddywalking! left.bmp diff --git a/hackapet_code.py b/hackapet_code.py index 3b3b8809..304e01b0 100644 --- a/hackapet_code.py +++ b/hackapet_code.py @@ -22,15 +22,29 @@ splash.append(bg_sprite) -teddy_sheet = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddywalking!.bmp") +# SILLY PIXEL THINGS (IM TRYING TO ORGANIZE MY CODE) + +teddy_idle = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddy_idle.bmp") +teddy_left = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddywalking! left.bmp") +teddy_right = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddywalking!.bmp") +pill_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/pill.bmp") +shoe_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/shoe.bmp") +challah_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/challah.bmp") +meter_empty = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter empty.bmp") +meter_full = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter full.bmp") +meter_quarter = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter quarter.bmp") +meter_three_quarters = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter three quarters.bmp") +meter_half = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter half.bmp") + + # Correctly declare tile_width and tile_height as integers tile_width = 32 tile_height = 32 teddy_sprite = displayio.TileGrid( - teddy_sheet, - pixel_shader=teddy_sheet.pixel_shader, + teddy_idle, + pixel_shader=teddy_idle.pixel_shader, width=1, height=1, tile_width=tile_width, @@ -49,7 +63,7 @@ # ADDING THE ICONS THINGIES food = [] shoes = [] -pill_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/pill.bmp") +# SPAWN FUNCTIONS def spawn_pill(): x_position = random.randint(0, 128) y_position = 128 @@ -66,7 +80,6 @@ def spawn_pill(): ) splash.append(pill_sprite) food.append(pill_sprite) -shoe_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/shoe.bmp") def spawn_shoe(): x_position = random.randint(0,128) y_position = 0 @@ -93,7 +106,6 @@ def spawn_shoe(): x=0, y=0 ) -challah_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/challah.bmp") challah_sprite = displayio.TileGrid( challah_bitmap, pixel_shader=challah_bitmap.pixel_shader, @@ -120,11 +132,7 @@ def spawn_challah(): ) splash.append(challah_sprite) food.append(challah_sprite) -meter_empty = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter empty.bmp") -meter_full = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter full.bmp") -meter_quarter = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter quarter.bmp") -meter_three_quarters = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter three quarters.bmp") -meter_half = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter half.bmp") + meter_sprite = displayio.TileGrid( meter_empty, pixel_shader=meter_empty.pixel_shader, @@ -147,6 +155,9 @@ def check_collision(sprite1, sprite2): spawn_pill() spawn_shoe() spawn_challah() + + + # i THINK my game is gonna be like collecting pills to get points and avoiding things that take points down while True: for event in pygame.event.get(): @@ -155,14 +166,51 @@ def check_collision(sprite1, sprite2): exit() keys = pygame.key.get_pressed() if game_over == False: - if keys[pygame.K_LEFT]: - teddy_sprite.x -= speed if keys[pygame.K_RIGHT]: teddy_sprite.x += speed - if keys[pygame.K_UP]: + splash.remove(teddy_sprite) + teddy_sprite = displayio.TileGrid( + teddy_right, + pixel_shader=teddy_right.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=teddy_sprite.x, + y=teddy_sprite.y + ) + splash.append(teddy_sprite) + elif keys[pygame.K_LEFT]: + teddy_sprite.x -= speed + splash.remove(teddy_sprite) + teddy_sprite = displayio.TileGrid( + teddy_left, + pixel_shader=teddy_left.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=teddy_sprite.x, + y=teddy_sprite.y + ) + splash.append(teddy_sprite) + elif keys[pygame.K_UP]: teddy_sprite.y -= speed time.sleep(0.05) teddy_sprite.y += speed + splash.remove(teddy_sprite) + teddy_sprite = displayio.TileGrid( + teddy_idle, + pixel_shader=teddy_idle.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=teddy_sprite.x, + y=teddy_sprite.y + ) + splash.append(teddy_sprite) + for pill in food: pill.y += 1 if pill.y > display.height: @@ -190,7 +238,7 @@ def check_collision(sprite1, sprite2): splash.remove(challah) food.remove(challah) full += 1 - if full == 8: + if full >= 8: splash.remove(meter_sprite) meter_sprite = displayio.TileGrid( meter_full, @@ -202,9 +250,9 @@ def check_collision(sprite1, sprite2): x=0, y=0 ) - display.show(win_screen) - time.sleep(3) full = 0 + splash.append(win_screen) + game_over = True elif full == 2: splash.remove(meter_sprite) diff --git a/teddy_idle.bmp b/teddy_idle.bmp new file mode 100644 index 0000000000000000000000000000000000000000..c50d5638047d8aa4b2993eec0092a0729989a19f GIT binary patch literal 4234 zcmdUwF>ez=5QQ%a!U7=yLdX)9l2j<7#5GMCDhg0aO5`5V(xyq1+W#aqy=#61HT5xX zv)|_38v7FaPKc4`W_EVwy_vl|`Rv2xvnI)9JimvYWIYJ)F#IO(%e|GhX>NWBwP)`? zeY^Vc`}E`W(aWQYUkCH~{KaCicpdt1xm-Sa_xR`G>F2ArxAjf)z!(3Czgn%@$z&3f z_e&e1TuFa+e+Jx+nR^j_t&R4isvDvQ@SJlto3*INJr}=!!tEKtflKq^d)$5Hu$I3a zy>~ZZ2`^)nwPL7xlKsb7njaitJ`;{(Pe)t)Yzwi8h z#*WY2@M}$&OA4d<*bmb3S>cZUY|swXMG+?I%p}$QRypIxT%TzI^gk7?S>% z_;0ugZGCodRbQ*Hp1yih;^G9~dr=*0>uW1{UBk@8wH6nAimMl2D~9gCAEn*C#pw!W z-3Od*$<47acak&@wc?f^l||XBzwp70ymwM9>fK|^SMvaz_!za`q-cY)2_k&E8ew6_6__2gd32? literal 0 HcmV?d00001 diff --git a/teddywalking! left.bmp b/teddywalking! left.bmp new file mode 100644 index 0000000000000000000000000000000000000000..d853cd1b7e4c6323a2b0d7057ce02fdf10dd205f GIT binary patch literal 37002 zcmeI4v5wtD6ozjULN)sWGnkEeu1(b+_Dlb5VL`xHj(B>^Dsd)lA9)g;B z@$a2)_P^s9+vC`GvpZwqoZ~ZR&Oh_b*w?$<E_R{;wpH1$K69Qu9$K%J3$F-OwW&&y7 zXV0Fk?wcvsWC(`h&bf9USM(igHwk#fq{UHZEq|4!uiHd2)=lF5(g-*|`PQ`PDxc?8 z(pPoZ`&Bg;MekX{QT(Z^b+~89cAXBKWZBDW1-y@Z>*uvRZYkY`Kwu|MyE&?*PSPAB`nbWJ?9-Y=-cT520&{T?Xer)6X&Uhu>(S=NDeT~kcVb*(n}7VmDJ z!1&{svvj`rF!enAgmdSg=bVe4v4JtG3r7fA)CEvUXVI1@`^fzq|yIe~Iswc;EX|@PGetb*0l=e*W$ID*o(otkwoU zFlX<(O!o%@IsO8pHGtug9n#@DXH~WzQv#8hKcmHbNUb@im3w4~K-}Y>eEP+ePS!yD z@xwYS)#~l_1V+ZNcjjX6XJ3PQxGQ^%``(}NVhwwI*_HKrS{;G-4C0y3eZcbvTUWMc zuOtxPHRW(0h`F!FP^<6%l|XCK;GD9zJh;`u0^;oaxd-~buV=Zn2YcP^)>^$^C(sFW0-Zo7a47=*xpf=w4SVa?)~n6W zt;^OL>gUJXe*e9897pK;e0U$tF;i?0{j|oCrjLcb{tm5}=LDbMsbre2L)2paYsNvJ zJ@hq-ihARqEAor;uc&biD*03W(=$nlKjS3vv&*gHNVRo+R(SaR8S9h8vzOGPPo~~k zKl0t4C9Ke=?^?~I{Temt9{S7|o6d3WdQP8xIrP63{*7-r+nPQcN>*I_R33YAuuI3;{a4bMi@P>!G>9^WJEK20 z$J(|q|E0OBJ@T*Bn9F|`^>g39zU24cyZ-d=A7}$!>ih3G{w?W;dvbg(>fYsA&rJN4 zc1YWFM4blp<7Xt_!G^(x&#W!*o7Wd_*gJE@{T$$GpYDB(8V&1<=WT!gy?K4@drqwf z_W{o$?B1I{)Qj5EZBd`!vtZ%xJjCTF{^(*`(%0VBeABtxo*$pl2eFU8XKr0zYrx5x zXwSeR4VK?+5Rr zxm;psVu^3DTlA%aHg=0Pb+*jk`@GHHfnfgrGl62I`H+wPjQ03*MyU>Q>aEq!F)NJW zaQ%fbuhM5e;y}GM{K=KgtJP-=^utnbuvPlGdRA-V zqUY9<;_sD*Sn)ox{L%GV^3(S8I?cB}7tz;vq{;rfw0=Qb!y5N;7|$X{bkPf`q`ua4e&)rsSGTw)w$6WzzJyBr*^_ropK)tmn%~?}n7g`c=3k>Pp~4vM zq`q@Y=cVh?nPC>^uQt^cs})D=cUSa%?izELW1L6D{Kr1ZrzU>MvL3XXzJ@Wbm)hiq zam|_L_5FPgwz6WFUORLAgmX3jhV?b|v;7Ctl)bM*x;DxUYY^8fS(DQK@A}3+W$c`N zJy;{!;qN(H_;>yCXKjv+^Y=C3UMOvPi=XZPlEz#dU958NqW;_*Yum#74Rg_r{A)Gl z^4~@M-1oox_x~^V@BiocYghK~|6lCi|Buf_-Mir)9p8QMSK1+M(-Acr)Q|6&d~6aV)Y&h^uZo_ty0FvaLB|nZGQ2j^vLnwk3V-@f>^hzPJZ}aQ8pD{>}em*E*zo zPkb)HAMF Date: Wed, 5 Feb 2025 20:50:44 -0500 Subject: [PATCH 03/23] silly dog eats things! i didn't upload the code to the right place at first lol - nili --- pets/hackapet_code.py | 336 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 336 insertions(+) create mode 100644 pets/hackapet_code.py diff --git a/pets/hackapet_code.py b/pets/hackapet_code.py new file mode 100644 index 00000000..18faffee --- /dev/null +++ b/pets/hackapet_code.py @@ -0,0 +1,336 @@ +import os +import time +import pygame +from blinka_displayio_pygamedisplay import PyGameDisplay +import displayio +import random +#thanks to my akiva for helping me set this up, i love you sm +# Initialize Pygame +pygame.init() + +# Set up the display +display = PyGameDisplay(width=128, height=128) +splash = displayio.Group() +display.show(splash) + +forest_background = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/forest_background.bmp") + +bg_sprite = displayio.TileGrid( + forest_background, + pixel_shader=forest_background.pixel_shader +) + +splash.append(bg_sprite) + +# SILLY PIXEL THINGS (IM TRYING TO ORGANIZE MY CODE) + +teddy_idle = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddy_idle.bmp") +teddy_left = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddywalking! left.bmp") +teddy_right = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddywalking!.bmp") +pill_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/pill.bmp") +shoe_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/shoe.bmp") +challah_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/challah.bmp") +meter_empty = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter empty.bmp") +meter_full = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter full.bmp") +meter_quarter = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter quarter.bmp") +meter_three_quarters = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter three quarters.bmp") +meter_half = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter half.bmp") + + + +# Correctly declare tile_width and tile_height as integers +tile_width = 32 +tile_height = 32 + +teddy_sprite = displayio.TileGrid( + teddy_idle, + pixel_shader=teddy_idle.pixel_shader, + width=1, + height=1, + tile_width=tile_width, + tile_height=tile_height, + default_tile=0, + x=int((display.width - tile_width) // 2), + y=int(display.height - tile_height - 10), +) + +splash.append(teddy_sprite) +frame = 0 +speed = 4 +full = -5 +game_over = False +keys = pygame.key.get_pressed() +# ADDING THE ICONS THINGIES +food = [] +shoes = [] +# SPAWN FUNCTIONS +def spawn_pill(): + x_position = random.randint(0, 128) + y_position = 128 + pill_sprite = displayio.TileGrid( + pill_bitmap, + pixel_shader=pill_bitmap.pixel_shader, + width=1, + height=1, + tile_width=16, + tile_height=16, + default_tile=0, + x=random.randint(0, display.width - 16), + y=random.randint(0, display.height - 16), + ) + splash.append(pill_sprite) + food.append(pill_sprite) +def spawn_shoe(): + x_position = random.randint(0,128) + y_position = 0 + shoe_sprite = displayio.TileGrid( + shoe_bitmap, + pixel_shader=shoe_bitmap.pixel_shader, + width=1, + height=1, + tile_width=16, + tile_height=16, + default_tile=0, + x=random.randint(0, display.width - 16), + y=random.randint(0, display.height - 16), + ) + splash.append(shoe_sprite) + shoes.append(shoe_sprite) +win_screen = displayio.TileGrid( + displayio.OnDiskBitmap("C:/Users/Nili/Downloads/youwin.bmp"), + pixel_shader=displayio.OnDiskBitmap("C:/Users/Nili/Downloads/youwin.bmp").pixel_shader, + width=1, + height=1, + tile_width=128, + tile_height=128, + x=0, + y=0 +) +challah_sprite = displayio.TileGrid( + challah_bitmap, + pixel_shader=challah_bitmap.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 +) +def spawn_challah(): + x_position = random.randint(0, 128) + y_position = 128 + challah_sprite = displayio.TileGrid( + challah_bitmap, + pixel_shader=challah_bitmap.pixel_shader, + width=1, + height=1, + tile_width=16, + tile_height=16, + default_tile=0, + x=random.randint(0, display.width - 16), + y=random.randint(0, display.height - 16), + ) + splash.append(challah_sprite) + food.append(challah_sprite) + +meter_sprite = displayio.TileGrid( + meter_empty, + pixel_shader=meter_empty.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 +) +splash.append(meter_sprite) +def check_collision(sprite1, sprite2): + return ( + sprite1.x < sprite2.x + sprite2.tile_width and + sprite1.x + sprite1.tile_width > sprite2.x and + sprite1.y < sprite2.y + sprite2.tile_height and + sprite1.y + sprite1.tile_height > sprite2.y + ) +last_spawn_time = time.time() +sleep_time = 3 +spawn_pill() +spawn_shoe() +spawn_challah() + +def reset_game(): + global full, game_over + full = 0 + game_over = False + splash.remove(win_screen) + splash.append(meter_sprite) + for pill in food: + splash.remove(pill) + food.remove(pill) + for shoe in shoes: + splash.remove(shoe) + shoes.remove(shoe) + for challah in food: + splash.remove(challah) + food.remove(challah) + +# i THINK my game is gonna be like collecting pills to get points and avoiding things that take points down +while True: + for event in pygame.event.get(): + if event.type == pygame.QUIT: + pygame.quit() + exit() + keys = pygame.key.get_pressed() + if game_over == False: + if keys[pygame.K_RIGHT]: + teddy_sprite.x += speed + splash.remove(teddy_sprite) + teddy_sprite = displayio.TileGrid( + teddy_right, + pixel_shader=teddy_right.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=teddy_sprite.x, + y=teddy_sprite.y + ) + splash.append(teddy_sprite) + elif keys[pygame.K_LEFT]: + teddy_sprite.x -= speed + splash.remove(teddy_sprite) + teddy_sprite = displayio.TileGrid( + teddy_left, + pixel_shader=teddy_left.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=teddy_sprite.x, + y=teddy_sprite.y + ) + splash.append(teddy_sprite) + elif keys[pygame.K_UP]: + teddy_sprite.y -= speed + teddy_sprite.y -= speed + + time.sleep(0.05) + teddy_sprite.y += speed + teddy_sprite.y += speed + splash.remove(teddy_sprite) + teddy_sprite = displayio.TileGrid( + teddy_idle, + pixel_shader=teddy_idle.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=teddy_sprite.x, + y=teddy_sprite.y + ) + splash.append(teddy_sprite) + + for pill in food: + pill.y += 1 + if pill.y > display.height: + splash.remove(pill) + food.remove(pill) + if check_collision(teddy_sprite, pill): + splash.remove(pill) + food.remove(pill) + full += 2 + for shoe in shoes: + shoe.y += 1 + if shoe.y > display.height: + splash.remove(shoe) + shoes.remove(shoe) + if check_collision(teddy_sprite, shoe): + splash.remove(shoe) + shoes.remove(shoe) + full -= 1 + for challah in food: + challah.y += 1 + if challah.y > display.height: + splash.remove(challah) + food.remove(challah) + if check_collision(teddy_sprite, challah): + splash.remove(challah) + food.remove(challah) + full += 1 + if full == 8: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_full, + pixel_shader=meter_full.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + splash.append(win_screen) + time.sleep(3) + reset_game() + game_over = True + elif full == 2 or 3: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_quarter, + pixel_shader=meter_quarter.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + splash.append(meter_sprite) + elif full == 4 or 5: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_half, + pixel_shader=meter_half.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + splash.append(meter_sprite) + elif full == 6 or 7: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_three_quarters, + pixel_shader=meter_three_quarters.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + elif full == 0 or 1: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_empty, + pixel_shader=meter_empty.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + splash.append(meter_sprite) + current_time = time.time() + if current_time - last_spawn_time >= 5: + spawn_pill() + spawn_shoe() + spawn_shoe() + spawn_challah() + spawn_challah() + last_spawn_time = current_time + teddy_sprite[0] = frame + display.refresh() + time.sleep(0.01) \ No newline at end of file From d0ac80f2bb180384b95dee2a7b91471b35f9cdff Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Wed, 5 Feb 2025 21:09:01 -0500 Subject: [PATCH 04/23] silly_dog i think this is it? i hope this works --- pets/silly_dog/challah.bmp | Bin 0 -> 4234 bytes pets/silly_dog/desktop.ini | 2 + pets/silly_dog/forest_background.bmp | Bin 0 -> 65590 bytes pets/silly_dog/hackapet_code.py | 336 ++++++++++++++++++++++++ pets/silly_dog/meter empty.bmp | Bin 0 -> 4234 bytes pets/silly_dog/meter full.bmp | Bin 0 -> 4234 bytes pets/silly_dog/meter half.bmp | Bin 0 -> 4234 bytes pets/silly_dog/meter quarter.bmp | Bin 0 -> 4234 bytes pets/silly_dog/meter three quarters.bmp | Bin 0 -> 4234 bytes pets/silly_dog/pill.bmp | Bin 0 -> 4234 bytes pets/silly_dog/shoe.bmp | Bin 0 -> 4234 bytes pets/silly_dog/teddy_idle.bmp | Bin 0 -> 4234 bytes pets/silly_dog/teddy_walking.bmp | Bin 0 -> 4234 bytes pets/silly_dog/teddywalking! left.bmp | Bin 0 -> 37002 bytes pets/silly_dog/teddywalking!.bmp | Bin 0 -> 37002 bytes pets/silly_dog/youwin.bmp | Bin 0 -> 65674 bytes 16 files changed, 338 insertions(+) create mode 100644 pets/silly_dog/challah.bmp create mode 100644 pets/silly_dog/desktop.ini create mode 100644 pets/silly_dog/forest_background.bmp create mode 100644 pets/silly_dog/hackapet_code.py create mode 100644 pets/silly_dog/meter empty.bmp create mode 100644 pets/silly_dog/meter full.bmp create mode 100644 pets/silly_dog/meter half.bmp create mode 100644 pets/silly_dog/meter quarter.bmp create mode 100644 pets/silly_dog/meter three quarters.bmp create mode 100644 pets/silly_dog/pill.bmp create mode 100644 pets/silly_dog/shoe.bmp create mode 100644 pets/silly_dog/teddy_idle.bmp create mode 100644 pets/silly_dog/teddy_walking.bmp create mode 100644 pets/silly_dog/teddywalking! left.bmp create mode 100644 pets/silly_dog/teddywalking!.bmp create mode 100644 pets/silly_dog/youwin.bmp diff --git a/pets/silly_dog/challah.bmp b/pets/silly_dog/challah.bmp new file mode 100644 index 0000000000000000000000000000000000000000..b86ad4d676dd77c0994e39dfa6869b1e6197c682 GIT binary patch literal 4234 zcmeH`ze`*}5Xax4@y8_?HHrwLAtB} zC1Xzw_8e93IbM8B6#e_+GLwZjpUZ#FbF+K>-TmulnS4I~pj0XiT4}0ODyq3_O}%G9ybnP6i4e%(I1UgZ9Ipy!~Q`>wPhI$*-8cS4I3+ z@^qi3hd%y_akI<6P0RduCwHcbt`?ZNV%eSPNzy%BaD8BBdmfv%fnj$iordT8$sJwW zcX?yq4&%A;H@{mo^uXN0q!-_&ht8+tuD{u>W5XV^KTn+9 zVYwwn0+xh0xWN{8^mK3YAnx18N;{L!oT{bzXm$WLXKCGonUur3p|>==BtJF9rRrnz z{)8*ev6)j^v-7`cd^zKCh)u%zpO1NLOgyjlFAVjDW;e3c3%K=S*Y?K$vh~vs(|o_j z?NmH~NuSqw-?cSwVl#7fkM4c2k1qR8+U?xh)lKTv6U)p~n@2Iv;u~F0y^s?a2n+-U J0t2^?fxlahqFev~ literal 0 HcmV?d00001 diff --git a/pets/silly_dog/desktop.ini b/pets/silly_dog/desktop.ini new file mode 100644 index 00000000..3154d753 --- /dev/null +++ b/pets/silly_dog/desktop.ini @@ -0,0 +1,2 @@ +[LocalizedFileNames] +challah.bmp=@challah,0 diff --git a/pets/silly_dog/forest_background.bmp b/pets/silly_dog/forest_background.bmp new file mode 100644 index 0000000000000000000000000000000000000000..06915f7d69d248e44b748531665aaf8518cb35b4 GIT binary patch literal 65590 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 SIWb+@PF$zj=U_Qy^M3*AnEX!w literal 0 HcmV?d00001 diff --git a/pets/silly_dog/hackapet_code.py b/pets/silly_dog/hackapet_code.py new file mode 100644 index 00000000..18faffee --- /dev/null +++ b/pets/silly_dog/hackapet_code.py @@ -0,0 +1,336 @@ +import os +import time +import pygame +from blinka_displayio_pygamedisplay import PyGameDisplay +import displayio +import random +#thanks to my akiva for helping me set this up, i love you sm +# Initialize Pygame +pygame.init() + +# Set up the display +display = PyGameDisplay(width=128, height=128) +splash = displayio.Group() +display.show(splash) + +forest_background = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/forest_background.bmp") + +bg_sprite = displayio.TileGrid( + forest_background, + pixel_shader=forest_background.pixel_shader +) + +splash.append(bg_sprite) + +# SILLY PIXEL THINGS (IM TRYING TO ORGANIZE MY CODE) + +teddy_idle = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddy_idle.bmp") +teddy_left = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddywalking! left.bmp") +teddy_right = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddywalking!.bmp") +pill_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/pill.bmp") +shoe_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/shoe.bmp") +challah_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/challah.bmp") +meter_empty = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter empty.bmp") +meter_full = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter full.bmp") +meter_quarter = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter quarter.bmp") +meter_three_quarters = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter three quarters.bmp") +meter_half = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter half.bmp") + + + +# Correctly declare tile_width and tile_height as integers +tile_width = 32 +tile_height = 32 + +teddy_sprite = displayio.TileGrid( + teddy_idle, + pixel_shader=teddy_idle.pixel_shader, + width=1, + height=1, + tile_width=tile_width, + tile_height=tile_height, + default_tile=0, + x=int((display.width - tile_width) // 2), + y=int(display.height - tile_height - 10), +) + +splash.append(teddy_sprite) +frame = 0 +speed = 4 +full = -5 +game_over = False +keys = pygame.key.get_pressed() +# ADDING THE ICONS THINGIES +food = [] +shoes = [] +# SPAWN FUNCTIONS +def spawn_pill(): + x_position = random.randint(0, 128) + y_position = 128 + pill_sprite = displayio.TileGrid( + pill_bitmap, + pixel_shader=pill_bitmap.pixel_shader, + width=1, + height=1, + tile_width=16, + tile_height=16, + default_tile=0, + x=random.randint(0, display.width - 16), + y=random.randint(0, display.height - 16), + ) + splash.append(pill_sprite) + food.append(pill_sprite) +def spawn_shoe(): + x_position = random.randint(0,128) + y_position = 0 + shoe_sprite = displayio.TileGrid( + shoe_bitmap, + pixel_shader=shoe_bitmap.pixel_shader, + width=1, + height=1, + tile_width=16, + tile_height=16, + default_tile=0, + x=random.randint(0, display.width - 16), + y=random.randint(0, display.height - 16), + ) + splash.append(shoe_sprite) + shoes.append(shoe_sprite) +win_screen = displayio.TileGrid( + displayio.OnDiskBitmap("C:/Users/Nili/Downloads/youwin.bmp"), + pixel_shader=displayio.OnDiskBitmap("C:/Users/Nili/Downloads/youwin.bmp").pixel_shader, + width=1, + height=1, + tile_width=128, + tile_height=128, + x=0, + y=0 +) +challah_sprite = displayio.TileGrid( + challah_bitmap, + pixel_shader=challah_bitmap.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 +) +def spawn_challah(): + x_position = random.randint(0, 128) + y_position = 128 + challah_sprite = displayio.TileGrid( + challah_bitmap, + pixel_shader=challah_bitmap.pixel_shader, + width=1, + height=1, + tile_width=16, + tile_height=16, + default_tile=0, + x=random.randint(0, display.width - 16), + y=random.randint(0, display.height - 16), + ) + splash.append(challah_sprite) + food.append(challah_sprite) + +meter_sprite = displayio.TileGrid( + meter_empty, + pixel_shader=meter_empty.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 +) +splash.append(meter_sprite) +def check_collision(sprite1, sprite2): + return ( + sprite1.x < sprite2.x + sprite2.tile_width and + sprite1.x + sprite1.tile_width > sprite2.x and + sprite1.y < sprite2.y + sprite2.tile_height and + sprite1.y + sprite1.tile_height > sprite2.y + ) +last_spawn_time = time.time() +sleep_time = 3 +spawn_pill() +spawn_shoe() +spawn_challah() + +def reset_game(): + global full, game_over + full = 0 + game_over = False + splash.remove(win_screen) + splash.append(meter_sprite) + for pill in food: + splash.remove(pill) + food.remove(pill) + for shoe in shoes: + splash.remove(shoe) + shoes.remove(shoe) + for challah in food: + splash.remove(challah) + food.remove(challah) + +# i THINK my game is gonna be like collecting pills to get points and avoiding things that take points down +while True: + for event in pygame.event.get(): + if event.type == pygame.QUIT: + pygame.quit() + exit() + keys = pygame.key.get_pressed() + if game_over == False: + if keys[pygame.K_RIGHT]: + teddy_sprite.x += speed + splash.remove(teddy_sprite) + teddy_sprite = displayio.TileGrid( + teddy_right, + pixel_shader=teddy_right.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=teddy_sprite.x, + y=teddy_sprite.y + ) + splash.append(teddy_sprite) + elif keys[pygame.K_LEFT]: + teddy_sprite.x -= speed + splash.remove(teddy_sprite) + teddy_sprite = displayio.TileGrid( + teddy_left, + pixel_shader=teddy_left.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=teddy_sprite.x, + y=teddy_sprite.y + ) + splash.append(teddy_sprite) + elif keys[pygame.K_UP]: + teddy_sprite.y -= speed + teddy_sprite.y -= speed + + time.sleep(0.05) + teddy_sprite.y += speed + teddy_sprite.y += speed + splash.remove(teddy_sprite) + teddy_sprite = displayio.TileGrid( + teddy_idle, + pixel_shader=teddy_idle.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=teddy_sprite.x, + y=teddy_sprite.y + ) + splash.append(teddy_sprite) + + for pill in food: + pill.y += 1 + if pill.y > display.height: + splash.remove(pill) + food.remove(pill) + if check_collision(teddy_sprite, pill): + splash.remove(pill) + food.remove(pill) + full += 2 + for shoe in shoes: + shoe.y += 1 + if shoe.y > display.height: + splash.remove(shoe) + shoes.remove(shoe) + if check_collision(teddy_sprite, shoe): + splash.remove(shoe) + shoes.remove(shoe) + full -= 1 + for challah in food: + challah.y += 1 + if challah.y > display.height: + splash.remove(challah) + food.remove(challah) + if check_collision(teddy_sprite, challah): + splash.remove(challah) + food.remove(challah) + full += 1 + if full == 8: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_full, + pixel_shader=meter_full.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + splash.append(win_screen) + time.sleep(3) + reset_game() + game_over = True + elif full == 2 or 3: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_quarter, + pixel_shader=meter_quarter.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + splash.append(meter_sprite) + elif full == 4 or 5: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_half, + pixel_shader=meter_half.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + splash.append(meter_sprite) + elif full == 6 or 7: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_three_quarters, + pixel_shader=meter_three_quarters.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + elif full == 0 or 1: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_empty, + pixel_shader=meter_empty.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + splash.append(meter_sprite) + current_time = time.time() + if current_time - last_spawn_time >= 5: + spawn_pill() + spawn_shoe() + spawn_shoe() + spawn_challah() + spawn_challah() + last_spawn_time = current_time + teddy_sprite[0] = frame + display.refresh() + time.sleep(0.01) \ No newline at end of file diff --git a/pets/silly_dog/meter empty.bmp b/pets/silly_dog/meter empty.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9de1cf2859590a4e0999f5ce58dbb92ee8d61990 GIT binary patch literal 4234 zcmZ?r?Gj)BgDxOh1H=kY%m`#L1KA8vc@Pr;{xdK@5J>31lY3Bc|DmrMfji_x^fNH9Aah39qaiRF0;3@?8UlkR1SIum0899R z0U*0!nBFdc*^5jw+`Rvv>KKQ|knM%BaVRBU7~~&30Aw#n8b;$$O1>06H{g>a-$qoO z`0T(ZhiVG>JbZTGlOx|oRGozEAS91!8fiRY%m%5UB__?qqpC+kU^E0qLtr!nXcPhf D0;9*` literal 0 HcmV?d00001 diff --git a/pets/silly_dog/meter full.bmp b/pets/silly_dog/meter full.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7060c98187756c5f620844c2d438667a1736745c GIT binary patch literal 4234 zcmZ?r?Gj)BgDxOh1H=kY%m`#L1KA8vc@Pr;{xdK@5J>31lY3Bc|DmrMfji_x^fNH9Aah39qaiRF0;3@?8UlkR1SIum0899R z0U*0!nBFdc*^5jw+`Rvv>KKQ|knM%B#cS05Qxk*zg2R50FvwnzeK4AucEilV>jq$W t!_?7=931lY3Bc|DmrMfji_x^fNH9Aah39qaiRF0;3@?8UlkR1SIum0899R z0U*0!nBFdc*^5jw+`Rvv>KKQ|knM%B#cS056N7OWi75>74;}!r7i1rdCdO`%8azf~ zO5t+@P>xtTk=0>Zf=6W3e*E!8MjYS?ZB!|IVGmOYQbS7&vuBhZ4S~@R7!85Z5E#%9 F005;`MQH#4 literal 0 HcmV?d00001 diff --git a/pets/silly_dog/meter quarter.bmp b/pets/silly_dog/meter quarter.bmp new file mode 100644 index 0000000000000000000000000000000000000000..ef3d274e9c750e6c7fdc7058c1d701c00080e53c GIT binary patch literal 4234 zcmZ?r?Gj)BgDxOh1H=kY%m`#L1KA8vc@Pr;{xdK@5J>31lY3Bc|DmrMfji_x^fNH9Aah39qaiRF0;3@?8UlkR1SIum0899R z0U*0!nBFdc*^5jw+`Rvv>KKQ|knM%B#cS05!!QnQqzQxkg9m`@1=$CqVRnOPJlaT; z!siB{9I~CrY|<>jqk7bS{BemR4)BC1@lyE09%c$i4J|Ruo>6)<1V%$(Gz3ONU_e6v E09l9qDgXcg literal 0 HcmV?d00001 diff --git a/pets/silly_dog/meter three quarters.bmp b/pets/silly_dog/meter three quarters.bmp new file mode 100644 index 0000000000000000000000000000000000000000..66985ac264854ef37087bdb818cbabb37066ae64 GIT binary patch literal 4234 zcmZ?r?Gj)BgDxOh1H=kY%m`#L1KA8vc@Pr;{xdK@5J>31lY3Bc|DmrMfji_x^fNH9Aah39qaiRF0;3@?8UlkR1SIum0899R z0U*0!nBFdc*^5jw+`Rvv>KKQ|knM%B#cS05Q-U$90{I6I0ND$&4@OgBH%Kp5tMIu2 zC`YNC$ofa^#}Weg!XKoZigAEpJ0ZKF_ESC2f$W803`dO$jE2By2#kinXb22M2mk=) CRf931lY3Bc|DmrMfji_x^fNH9Aah39Ln;Ie%Qyd*chCN>)YY27=E!_aKyCXyC|D6NHU^{nA z*82~_Aij3`Y+AYjZ1$8=)&CvYO8+07?grZnvmZoX-r)aVFMl~aPN*0bU^5HCW&YPB z%467z?1uYC>%s1Tg%vg2z|7A5pHE)@zlJ;)Ub|uLxVbz1|JkMH)DDOL5iVjx*$;BZ z(+ktVYN-_tT;j?^`yUn#_Q$RNg8;}4)QAU3^I&k=gPD(yHrrtQAA~_}*z$rpM3OX)L?_m1=SPs8S+@&pj4s+7N=7B$LeH|{XmKT z$l;(jL-)UQjP!r49xbrnLGHw=nF@j+vtj9xSBLk%poQRnHW4@ev>WDpkR71% j2^<$tJLzRN%ncwK6b?WNTt?8t-^g~4vPVN;D24z4hIx7{ literal 0 HcmV?d00001 diff --git a/pets/silly_dog/shoe.bmp b/pets/silly_dog/shoe.bmp new file mode 100644 index 0000000000000000000000000000000000000000..cb1be4c35fb41362badb192028dbe5a25dff10b9 GIT binary patch literal 4234 zcmeHJF-yZh6uwfC=oAp4Q^_RR1Pju^E=6z<2fJAuoGLC-aB*-gLYGbo{Q>?12WR~U zF3!#_F3!*QUGC^hj3!O4ap|MiytKLdzW2Q^mvoQDzS1$~?;9S088y!8oGbG`(pivF z(FZ?K_n>z*dHxEIpPHM^(MPS-YHbV#gDoDb)9G}rv;I~OPbWLG`AV(GlVx5+0ctcF z{qks+)+vd6#SkLS?+8=*Thj}HyJQ;SK=xA!S1b%n~ zzS+M|t|8aU%Hw$OlhF59Tzd`n?s6gL$FRY}hU65>%VA^otbSWl9$Z}OI?zk=EUcjJ zboSto_8x+I?Q=SPrn_I^XVD9t1G~J}@^i%d7&!3zpuWGLOVxpAb5)vGUE30GsX#>v Fd;@qB-%S7j literal 0 HcmV?d00001 diff --git a/pets/silly_dog/teddy_idle.bmp b/pets/silly_dog/teddy_idle.bmp new file mode 100644 index 0000000000000000000000000000000000000000..c50d5638047d8aa4b2993eec0092a0729989a19f GIT binary patch literal 4234 zcmdUwF>ez=5QQ%a!U7=yLdX)9l2j<7#5GMCDhg0aO5`5V(xyq1+W#aqy=#61HT5xX zv)|_38v7FaPKc4`W_EVwy_vl|`Rv2xvnI)9JimvYWIYJ)F#IO(%e|GhX>NWBwP)`? zeY^Vc`}E`W(aWQYUkCH~{KaCicpdt1xm-Sa_xR`G>F2ArxAjf)z!(3Czgn%@$z&3f z_e&e1TuFa+e+Jx+nR^j_t&R4isvDvQ@SJlto3*INJr}=!!tEKtflKq^d)$5Hu$I3a zy>~ZZ2`^)nwPL7xlKsb7njaitJ`;{(Pe)t)Yzwi8h z#*WY2@M}$&OA4d<*bmb3S>cZUY|swXMG+?I%p}$QRypIxT%TzI^gk7?S>% z_;0ugZGCodRbQ*Hp1yih;^G9~dr=*0>uW1{UBk@8wH6nAimMl2D~9gCAEn*C#pw!W z-3Od*$<47acak&@wc?f^l||XBzwp70ymwM9>fK|^SMvaz_!za`q-cY)2_k&E8ew6_6__2gd32? literal 0 HcmV?d00001 diff --git a/pets/silly_dog/teddy_walking.bmp b/pets/silly_dog/teddy_walking.bmp new file mode 100644 index 0000000000000000000000000000000000000000..ece1ab61c40071311d63ac39f10c6518f81ae7d4 GIT binary patch literal 4234 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 Q?x{Co4+4Y0AkaeKKhVQUuK)l5 literal 0 HcmV?d00001 diff --git a/pets/silly_dog/youwin.bmp b/pets/silly_dog/youwin.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7177363495a63704b81dbc9d9bec3fcc98eec68a GIT binary patch literal 65674 zcmeHNy{=tF4?R~wNYEnMhzg}9HBA~S3aF{?3(!)~(4HQ zJmcACpL-pV&trT2c&|hCi8nvKz1&^o&)dhpzdio_{o~)e%Qu%7kMGOJ{eRC-|MPIU z{Qr+k9^U-$^RMqd{PXIkKVN?R@{hmoUcY|*)&2ebw~v26fB*jd7vF#R*Na!by!-AG z{qgacZt7hLR05SiB~S@e0+m1|Pzh85l|Us>2~+}=KqXKKR05SiB~S@e0+m1|Pzh85 zl|Us>2~+}=KqXKKR05SiB~S@e0*55Ky6{r%5+*Him< zJ?@Ltvwq7N?rP=8w~gYM*XvuF+4J5F&w1zNEZK};W;67(v-Y$1J$0U! zuYA9Uk^O8=Bib35-hHg!!#<@QfA>m1o6Cx)aA$ork8jYsr~KycUg>w_#P{s*5Y3}} zcHKX#%ilfPAC(#3Gy9z$FUyB@r1!k9wQt>O&GiiT>Y2PT&#Xsy$h{dptbsl=k4!Dx zr>m6(_Uw&0D(^FTXrpFmS{l$twJ^OIcvkK4uDNU7YRzTFw=$0R8T}C+a_5Q!oE|o7$DY#9XlLp4yxF6NUD-u_7~kr> zo0#X}GxqE${j4r)&FZvxyY=B4@nLMQhkmOvw}s1^v!C=U+N`&tWpQ`w!*kS!ak>{R z-OC&Lts2F*bVldwH*#Z7oAr9wncZ%E+%)RLIP_7SSv+_%6}NJo(E=w^3!1v_)`!=K z4`a|nLn>yddS|_XL$xqjGkEB_s;#x;y{gCj-TLtJe0Yx@d{oR)F>h7iP+Pc+IXrY- z)zw;fuWD*OG*R^~^9_Aet&N#gHBR1);XU_JJo6*{4lmY}K5~aANai+F&8>T!WX_3&ri z<9<}W6Z4}g`+I%wE|07CtfP0}%`y&rY=TDuGI%5~u_!fl8nf zs01p3N}v*`1S)|_;Fc2L|8Jz%-_m#8%B`ID5qGoaOn=0kPu;`Heb+ZzUaPZRw>}qL zEB_teZuw-*cHH}1G_Btt^V==`-pumu;jy!LnKSr!HPiD5E$e%-d@XHj7V)$AdKS?d z#cKVL_o(g}aQr=)H?cPNvtF!Y^|RW{v$RKMtaH|$za{HV*42H6ht_MoSA1HUk@<@M zQC$9>EML||pQSH4(CpP2zn&g;S{E~`YTVi0JMZ18%{f|Lm@(Gt!E4nPzlE21i*xO{ zb#vBDtevIX(_v5aJ&xW1->MpGy<0q)Tlj0wta~$V+NC>ko8>JtkK5v5?(wk)-m1Wy zrSgqgcd@SYS=yeCFt{FomoDtd-Qil{Vn|J%{w%+ejn)YjhL_2 zUAm)pvA^^^u7&qFJw5Dp=|X?C@_nm%;P29fzE{~_`W`2W?`iRFr#5>V2uKHx_jo!n)y69zKjZVQ_+xBO%_qHS?Ucu@@dMER?D z_Sd~=>z?0HZ|0+q>Wtu_&2@w;80JYo%8lTT^098Ry!A{ty0_kzZf|C3$gIbS?phuZ zA4?;8#|Zu?AL|y&8#9f^tXDO@_wH%PuE!nO_4G&hz_1SH*_C~y&-SqNEMLr`_{h!h z7^&7B-mInT@p#WVywB>{NBS)7mX76#S&JicV0yL3$F9e>cHnu{;>yh9S$o#9Fc~xU znZ0-P7RwK_5e;B_bwo!nJq>Hu)3xw2>v4KJ*6U$ccI>lq^T-{R-;8HV2lJ6zfB|Q; zf+yAEXl&%ox)E*!%RbUa_z|q-wc^*(!#r{uu;6A?XwFpjpV1iMT+2uMj@;S8XdQmH zINqFfW_r)V+q0*KKl7fyMfVwZYd!s5)z(^(_o}b(*)K!$S{nQ<=riwurmk7~TC?}g z@)I5Q$<#hti@!zsqi-m`>m|Uy|Me~@=SrXws01p3N}v*`1S)|_pc1GADuGI%5~u_! zfl8nfs01p3N}v*`1S)|_pc1GADuGI%5~u_!fl8nfs01p3N}v*`1S)|_pc1GADuGI% O5~u_!flA={CGanJ8C=-_ literal 0 HcmV?d00001 From bdee8f901cae83b29c0a242a034f469d5ab27870 Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Wed, 5 Feb 2025 21:25:18 -0500 Subject: [PATCH 05/23] Delete youwin.bmp --- youwin.bmp | Bin 65674 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 youwin.bmp diff --git a/youwin.bmp b/youwin.bmp deleted file mode 100644 index 7177363495a63704b81dbc9d9bec3fcc98eec68a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65674 zcmeHNy{=tF4?R~wNYEnMhzg}9HBA~S3aF{?3(!)~(4HQ zJmcACpL-pV&trT2c&|hCi8nvKz1&^o&)dhpzdio_{o~)e%Qu%7kMGOJ{eRC-|MPIU z{Qr+k9^U-$^RMqd{PXIkKVN?R@{hmoUcY|*)&2ebw~v26fB*jd7vF#R*Na!by!-AG z{qgacZt7hLR05SiB~S@e0+m1|Pzh85l|Us>2~+}=KqXKKR05SiB~S@e0+m1|Pzh85 zl|Us>2~+}=KqXKKR05SiB~S@e0*55Ky6{r%5+*Him< zJ?@Ltvwq7N?rP=8w~gYM*XvuF+4J5F&w1zNEZK};W;67(v-Y$1J$0U! zuYA9Uk^O8=Bib35-hHg!!#<@QfA>m1o6Cx)aA$ork8jYsr~KycUg>w_#P{s*5Y3}} zcHKX#%ilfPAC(#3Gy9z$FUyB@r1!k9wQt>O&GiiT>Y2PT&#Xsy$h{dptbsl=k4!Dx zr>m6(_Uw&0D(^FTXrpFmS{l$twJ^OIcvkK4uDNU7YRzTFw=$0R8T}C+a_5Q!oE|o7$DY#9XlLp4yxF6NUD-u_7~kr> zo0#X}GxqE${j4r)&FZvxyY=B4@nLMQhkmOvw}s1^v!C=U+N`&tWpQ`w!*kS!ak>{R z-OC&Lts2F*bVldwH*#Z7oAr9wncZ%E+%)RLIP_7SSv+_%6}NJo(E=w^3!1v_)`!=K z4`a|nLn>yddS|_XL$xqjGkEB_s;#x;y{gCj-TLtJe0Yx@d{oR)F>h7iP+Pc+IXrY- z)zw;fuWD*OG*R^~^9_Aet&N#gHBR1);XU_JJo6*{4lmY}K5~aANai+F&8>T!WX_3&ri z<9<}W6Z4}g`+I%wE|07CtfP0}%`y&rY=TDuGI%5~u_!fl8nf zs01p3N}v*`1S)|_;Fc2L|8Jz%-_m#8%B`ID5qGoaOn=0kPu;`Heb+ZzUaPZRw>}qL zEB_teZuw-*cHH}1G_Btt^V==`-pumu;jy!LnKSr!HPiD5E$e%-d@XHj7V)$AdKS?d z#cKVL_o(g}aQr=)H?cPNvtF!Y^|RW{v$RKMtaH|$za{HV*42H6ht_MoSA1HUk@<@M zQC$9>EML||pQSH4(CpP2zn&g;S{E~`YTVi0JMZ18%{f|Lm@(Gt!E4nPzlE21i*xO{ zb#vBDtevIX(_v5aJ&xW1->MpGy<0q)Tlj0wta~$V+NC>ko8>JtkK5v5?(wk)-m1Wy zrSgqgcd@SYS=yeCFt{FomoDtd-Qil{Vn|J%{w%+ejn)YjhL_2 zUAm)pvA^^^u7&qFJw5Dp=|X?C@_nm%;P29fzE{~_`W`2W?`iRFr#5>V2uKHx_jo!n)y69zKjZVQ_+xBO%_qHS?Ucu@@dMER?D z_Sd~=>z?0HZ|0+q>Wtu_&2@w;80JYo%8lTT^098Ry!A{ty0_kzZf|C3$gIbS?phuZ zA4?;8#|Zu?AL|y&8#9f^tXDO@_wH%PuE!nO_4G&hz_1SH*_C~y&-SqNEMLr`_{h!h z7^&7B-mInT@p#WVywB>{NBS)7mX76#S&JicV0yL3$F9e>cHnu{;>yh9S$o#9Fc~xU znZ0-P7RwK_5e;B_bwo!nJq>Hu)3xw2>v4KJ*6U$ccI>lq^T-{R-;8HV2lJ6zfB|Q; zf+yAEXl&%ox)E*!%RbUa_z|q-wc^*(!#r{uu;6A?XwFpjpV1iMT+2uMj@;S8XdQmH zINqFfW_r)V+q0*KKl7fyMfVwZYd!s5)z(^(_o}b(*)K!$S{nQ<=riwurmk7~TC?}g z@)I5Q$<#hti@!zsqi-m`>m|Uy|Me~@=SrXws01p3N}v*`1S)|_pc1GADuGI%5~u_! zfl8nfs01p3N}v*`1S)|_pc1GADuGI%5~u_!fl8nfs01p3N}v*`1S)|_pc1GADuGI% O5~u_!flA={CGanJ8C=-_ From 2cc0a5c3486e5346159ce6f9fbfb6a93d613406a Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Wed, 5 Feb 2025 21:25:29 -0500 Subject: [PATCH 06/23] Delete teddywalking! left.bmp --- teddywalking! left.bmp | Bin 37002 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 teddywalking! left.bmp diff --git a/teddywalking! left.bmp b/teddywalking! left.bmp deleted file mode 100644 index d853cd1b7e4c6323a2b0d7057ce02fdf10dd205f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37002 zcmeI4v5wtD6ozjULN)sWGnkEeu1(b+_Dlb5VL`xHj(B>^Dsd)lA9)g;B z@$a2)_P^s9+vC`GvpZwqoZ~ZR&Oh_b*w?$<E_R{;wpH1$K69Qu9$K%J3$F-OwW&&y7 zXV0Fk?wcvsWC(`h&bf9USM(igHwk#fq{UHZEq|4!uiHd2)=lF5(g-*|`PQ`PDxc?8 z(pPoZ`&Bg;MekX{QT(Z^b+~89cAXBKWZBDW1-y@Z>*uvRZYkY`Kwu|MyE&?*PSPAB`nbWJ?9-Y=-cT520&{T?Xer)6X&Uhu>(S=NDeT~kcVb*(n}7VmDJ z!1&{svvj`rF!enAgmdSg=bVe4v4JtG3r7fA)CEvUXVI1@`^fzq|yIe~Iswc;EX|@PGetb*0l=e*W$ID*o(otkwoU zFlX<(O!o%@IsO8pHGtug9n#@DXH~WzQv#8hKcmHbNUb@im3w4~K-}Y>eEP+ePS!yD z@xwYS)#~l_1V+ZNcjjX6XJ3PQxGQ^%``(}NVhwwI*_HKrS{;G-4C0y3eZcbvTUWMc zuOtxPHRW(0h`F!FP^<6%l|XCK;GD9zJh;`u0^;oaxd-~buV=Zn2YcP^)>^$^C(sFW0-Zo7a47=*xpf=w4SVa?)~n6W zt;^OL>gUJXe*e9897pK;e0U$tF;i?0{j|oCrjLcb{tm5}=LDbMsbre2L)2paYsNvJ zJ@hq-ihARqEAor;uc&biD*03W(=$nlKjS3vv&*gHNVRo+R(SaR8S9h8vzOGPPo~~k zKl0t4C9Ke=?^?~I{Temt9{S7|o6d3WdQP8xIrP63{*7-r+nPQcN>*I_R33YAuuI3;{a4bMi@P>!G>9^WJEK20 z$J(|q|E0OBJ@T*Bn9F|`^>g39zU24cyZ-d=A7}$!>ih3G{w?W;dvbg(>fYsA&rJN4 zc1YWFM4blp<7Xt_!G^(x&#W!*o7Wd_*gJE@{T$$GpYDB(8V&1<=WT!gy?K4@drqwf z_W{o$?B1I{)Qj5EZBd`!vtZ%xJjCTF{^(*`(%0VBeABtxo*$pl2eFU8XKr0zYrx5x zXwSeR4VK?+5Rr zxm;psVu^3DTlA%aHg=0Pb+*jk`@GHHfnfgrGl62I`H+wPjQ03*MyU>Q>aEq!F)NJW zaQ%fbuhM5e;y}GM{K=KgtJP-=^utnbuvPlGdRA-V zqUY9<;_sD*Sn)ox{L%GV^3(S8I?cB}7tz;vq{;rfw0=Qb!y5N;7|$X{bkPf`q`ua4e&)rsSGTw)w$6WzzJyBr*^_ropK)tmn%~?}n7g`c=3k>Pp~4vM zq`q@Y=cVh?nPC>^uQt^cs})D=cUSa%?izELW1L6D{Kr1ZrzU>MvL3XXzJ@Wbm)hiq zam|_L_5FPgwz6WFUORLAgmX3jhV?b|v;7Ctl)bM*x;DxUYY^8fS(DQK@A}3+W$c`N zJy;{!;qN(H_;>yCXKjv+^Y=C3UMOvPi=XZPlEz#dU958NqW;_*Yum#74Rg_r{A)Gl z^4~@M-1oox_x~^V@BiocYghK~|6lCi|Buf_-Mir)9p8QMSK1+M(-Acr)Q|6&d~6aV)Y&h^uZo_ty0FvaLB|nZGQ2j^vLnwk3V-@f>^hzPJZ}aQ8pD{>}em*E*zo zPkb)HAMF Date: Wed, 5 Feb 2025 21:25:37 -0500 Subject: [PATCH 07/23] Delete teddy_walking.png --- teddy_walking.png | Bin 570 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 teddy_walking.png diff --git a/teddy_walking.png b/teddy_walking.png deleted file mode 100644 index c0440de6ade1f4d757dbedb7fdf2ece27c6e5d28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 570 zcmV-A0>%A_P)!k3$SpQ!3O8g@Z*w82yo!d zm_ocevj4Z6-OWboz$-eizWUz)aU3^xgzLKQIlWp0D4wQikD;n6B_UP;km3-O5crHm zh{XXYUe~qKS}Pj>;xY=W06-ioj$`v=1d5_iS(dE|(7@}mEO)%8IG#~t{Qmv3U@vIk zH6kFrClGb;`Og5D3lu*)K2pzb@9P4{h%y?;1Bhe2e0-WHAqtBpp;F2;9~=Qh5pMi{ zetKfWU%$T1lgBUzV5htJa)=2@AXZ2FzBdVj0x&#gU2bmF!|h$q$>#CN*pIF*oB*9T zMSP7U1c30PsiT$K}oFgXAKyJVy>yo08aBuQ_k9|9P= z$2$)IAkTBP-EKRbu>gSO3hfyjNaiHf)ID=1qEK&{^!pFghF&nNq>I4-0000KO)Bpeg From ecf8398d40e543009762c9b222fab849b33ad1c9 Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Wed, 5 Feb 2025 21:25:46 -0500 Subject: [PATCH 08/23] Delete teddy_walking.bmp --- teddy_walking.bmp | Bin 4234 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 teddy_walking.bmp diff --git a/teddy_walking.bmp b/teddy_walking.bmp deleted file mode 100644 index ece1ab61c40071311d63ac39f10c6518f81ae7d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4234 zcmeH{uTDcT6vn%Zuz+GA1jT|PGYbjRm>CoTBth>5P$XE)5Yu}LB$_9{@epWqIbXS7 zckaFIcFS%Ff`)S1^Y8byx7p-!wrAX!$^QqL$HnZ(sw-<##IalsYs~i_Ty}DCeK&vo z9A3Q)4hD}Oo$+|QKb=lbWNt4Oi=Fe`_wMj^ezvSPW=n7W_`28YSv{M`)%jRAsR`wv zb~GAUJ=XO@yx;HZ5~n}ZU;9ua`;u1nLX16|@>6P{gZWwmSk;N#RYPlL?W%kgb7z#j zzX#Ss8`df}x?~M)G_fA=XO)m+vBz)n!PWI?H0r%}u8{*T? z-Z4ui^99l9%^;7px`uri(|h Date: Wed, 5 Feb 2025 21:25:55 -0500 Subject: [PATCH 09/23] Delete teddy_idle.bmp --- teddy_idle.bmp | Bin 4234 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 teddy_idle.bmp diff --git a/teddy_idle.bmp b/teddy_idle.bmp deleted file mode 100644 index c50d5638047d8aa4b2993eec0092a0729989a19f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4234 zcmdUwF>ez=5QQ%a!U7=yLdX)9l2j<7#5GMCDhg0aO5`5V(xyq1+W#aqy=#61HT5xX zv)|_38v7FaPKc4`W_EVwy_vl|`Rv2xvnI)9JimvYWIYJ)F#IO(%e|GhX>NWBwP)`? zeY^Vc`}E`W(aWQYUkCH~{KaCicpdt1xm-Sa_xR`G>F2ArxAjf)z!(3Czgn%@$z&3f z_e&e1TuFa+e+Jx+nR^j_t&R4isvDvQ@SJlto3*INJr}=!!tEKtflKq^d)$5Hu$I3a zy>~ZZ2`^)nwPL7xlKsb7njaitJ`;{(Pe)t)Yzwi8h z#*WY2@M}$&OA4d<*bmb3S>cZUY|swXMG+?I%p}$QRypIxT%TzI^gk7?S>% z_;0ugZGCodRbQ*Hp1yih;^G9~dr=*0>uW1{UBk@8wH6nAimMl2D~9gCAEn*C#pw!W z-3Od*$<47acak&@wc?f^l||XBzwp70ymwM9>fK|^SMvaz_!za`q-cY)2_k&E8ew6_6__2gd32? From b3a99b7cf10fee800359a9917127068c91e143a7 Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Wed, 5 Feb 2025 21:26:04 -0500 Subject: [PATCH 10/23] Delete shoe.bmp --- shoe.bmp | Bin 4234 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 shoe.bmp diff --git a/shoe.bmp b/shoe.bmp deleted file mode 100644 index cb1be4c35fb41362badb192028dbe5a25dff10b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4234 zcmeHJF-yZh6uwfC=oAp4Q^_RR1Pju^E=6z<2fJAuoGLC-aB*-gLYGbo{Q>?12WR~U zF3!#_F3!*QUGC^hj3!O4ap|MiytKLdzW2Q^mvoQDzS1$~?;9S088y!8oGbG`(pivF z(FZ?K_n>z*dHxEIpPHM^(MPS-YHbV#gDoDb)9G}rv;I~OPbWLG`AV(GlVx5+0ctcF z{qks+)+vd6#SkLS?+8=*Thj}HyJQ;SK=xA!S1b%n~ zzS+M|t|8aU%Hw$OlhF59Tzd`n?s6gL$FRY}hU65>%VA^otbSWl9$Z}OI?zk=EUcjJ zboSto_8x+I?Q=SPrn_I^XVD9t1G~J}@^i%d7&!3zpuWGLOVxpAb5)vGUE30GsX#>v Fd;@qB-%S7j From 7c9b93a4c5cec71116090287f09d2c0a92217f7e Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Wed, 5 Feb 2025 21:26:13 -0500 Subject: [PATCH 11/23] Delete pill.bmp --- pill.bmp | Bin 4234 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 pill.bmp diff --git a/pill.bmp b/pill.bmp deleted file mode 100644 index 8a4a15e93401ec909d16e9326b22edada97980b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4234 zcmZ?r?Gj)BgDxOh1H=kY%m`#L1KA8vc@Pr;{xdK@5J>31lY3Bc|DmrMfji_x^fNH9Aah39Ln;Ie%Qyd*chCN>)YY27=E!_aKyCXyC|D6NHU^{nA z*82~_Aij3`Y+AYjZ1$8=)&CvYO8+07?grZnvmZoX-r)aVFMl~aPN*0bU^5HCW&YPB z%467z?1uYC>%s1Tg%vg2z|7A5pHE)@zlJ;)Ub|uLxVbz1|JkMH)DDOL5iVjx*$;BZ z(+ktVYN-_tT;j?^`yUn#_Q$RNg8;}4)QAU3^I&k=gPD(yHrrtQAA~_}*z$rpM3OX)L?_m1=SPs8S+@&pj4s+7N=7B$LeH|{XmKT z$l;(jL-)UQjP!r49xbrnLGHw=nF@j+vtj9xSBLk%poQRnHW4@ev>WDpkR71% j2^<$tJLzRN%ncwK6b?WNTt?8t-^g~4vPVN;D24z4hIx7{ From 88f7da4cfed2152426634091d8973d2bdd6313f2 Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Wed, 5 Feb 2025 21:26:21 -0500 Subject: [PATCH 12/23] Delete meter three quarters.bmp --- meter three quarters.bmp | Bin 4234 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 meter three quarters.bmp diff --git a/meter three quarters.bmp b/meter three quarters.bmp deleted file mode 100644 index 66985ac264854ef37087bdb818cbabb37066ae64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4234 zcmZ?r?Gj)BgDxOh1H=kY%m`#L1KA8vc@Pr;{xdK@5J>31lY3Bc|DmrMfji_x^fNH9Aah39qaiRF0;3@?8UlkR1SIum0899R z0U*0!nBFdc*^5jw+`Rvv>KKQ|knM%B#cS05Q-U$90{I6I0ND$&4@OgBH%Kp5tMIu2 zC`YNC$ofa^#}Weg!XKoZigAEpJ0ZKF_ESC2f$W803`dO$jE2By2#kinXb22M2mk=) CRf9 Date: Wed, 5 Feb 2025 21:26:31 -0500 Subject: [PATCH 13/23] Delete meter quarter.bmp --- meter quarter.bmp | Bin 4234 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 meter quarter.bmp diff --git a/meter quarter.bmp b/meter quarter.bmp deleted file mode 100644 index ef3d274e9c750e6c7fdc7058c1d701c00080e53c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4234 zcmZ?r?Gj)BgDxOh1H=kY%m`#L1KA8vc@Pr;{xdK@5J>31lY3Bc|DmrMfji_x^fNH9Aah39qaiRF0;3@?8UlkR1SIum0899R z0U*0!nBFdc*^5jw+`Rvv>KKQ|knM%B#cS05!!QnQqzQxkg9m`@1=$CqVRnOPJlaT; z!siB{9I~CrY|<>jqk7bS{BemR4)BC1@lyE09%c$i4J|Ruo>6)<1V%$(Gz3ONU_e6v E09l9qDgXcg From 9339caf159c57784004ea6ee63cbff9bc06a6e1c Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Wed, 5 Feb 2025 21:26:40 -0500 Subject: [PATCH 14/23] Delete meter half.bmp --- meter half.bmp | Bin 4234 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 meter half.bmp diff --git a/meter half.bmp b/meter half.bmp deleted file mode 100644 index d9efe39e6acfe0ec9590463f641f79f8859c634a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4234 zcmZ?r?Gj)BgDxOh1H=kY%m`#L1KA8vc@Pr;{xdK@5J>31lY3Bc|DmrMfji_x^fNH9Aah39qaiRF0;3@?8UlkR1SIum0899R z0U*0!nBFdc*^5jw+`Rvv>KKQ|knM%B#cS056N7OWi75>74;}!r7i1rdCdO`%8azf~ zO5t+@P>xtTk=0>Zf=6W3e*E!8MjYS?ZB!|IVGmOYQbS7&vuBhZ4S~@R7!85Z5E#%9 F005;`MQH#4 From 011ae22da82bb939e1461bfe07318ee364d26c2d Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Wed, 5 Feb 2025 21:26:47 -0500 Subject: [PATCH 15/23] Delete meter full.bmp --- meter full.bmp | Bin 4234 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 meter full.bmp diff --git a/meter full.bmp b/meter full.bmp deleted file mode 100644 index 7060c98187756c5f620844c2d438667a1736745c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4234 zcmZ?r?Gj)BgDxOh1H=kY%m`#L1KA8vc@Pr;{xdK@5J>31lY3Bc|DmrMfji_x^fNH9Aah39qaiRF0;3@?8UlkR1SIum0899R z0U*0!nBFdc*^5jw+`Rvv>KKQ|knM%B#cS05Qxk*zg2R50FvwnzeK4AucEilV>jq$W t!_?7=9 Date: Wed, 5 Feb 2025 21:26:55 -0500 Subject: [PATCH 16/23] Delete meter empty.bmp --- meter empty.bmp | Bin 4234 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 meter empty.bmp diff --git a/meter empty.bmp b/meter empty.bmp deleted file mode 100644 index 9de1cf2859590a4e0999f5ce58dbb92ee8d61990..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4234 zcmZ?r?Gj)BgDxOh1H=kY%m`#L1KA8vc@Pr;{xdK@5J>31lY3Bc|DmrMfji_x^fNH9Aah39qaiRF0;3@?8UlkR1SIum0899R z0U*0!nBFdc*^5jw+`Rvv>KKQ|knM%BaVRBU7~~&30Aw#n8b;$$O1>06H{g>a-$qoO z`0T(ZhiVG>JbZTGlOx|oRGozEAS91!8fiRY%m%5UB__?qqpC+kU^E0qLtr!nXcPhf D0;9*` From f3004743c4cd76fd04b4f2afcbb18c6d8462cb53 Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Wed, 5 Feb 2025 21:27:11 -0500 Subject: [PATCH 17/23] Delete hackapet_code.py --- hackapet_code.py | 317 ----------------------------------------------- 1 file changed, 317 deletions(-) delete mode 100644 hackapet_code.py diff --git a/hackapet_code.py b/hackapet_code.py deleted file mode 100644 index 304e01b0..00000000 --- a/hackapet_code.py +++ /dev/null @@ -1,317 +0,0 @@ -import os -import time -import pygame -from blinka_displayio_pygamedisplay import PyGameDisplay -import displayio -import random -#thanks to my akiva for helping me set this up, i love you sm -# Initialize Pygame -pygame.init() - -# Set up the display -display = PyGameDisplay(width=128, height=128) -splash = displayio.Group() -display.show(splash) - -forest_background = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/forest_background.bmp") - -bg_sprite = displayio.TileGrid( - forest_background, - pixel_shader=forest_background.pixel_shader -) - -splash.append(bg_sprite) - -# SILLY PIXEL THINGS (IM TRYING TO ORGANIZE MY CODE) - -teddy_idle = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddy_idle.bmp") -teddy_left = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddywalking! left.bmp") -teddy_right = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddywalking!.bmp") -pill_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/pill.bmp") -shoe_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/shoe.bmp") -challah_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/challah.bmp") -meter_empty = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter empty.bmp") -meter_full = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter full.bmp") -meter_quarter = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter quarter.bmp") -meter_three_quarters = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter three quarters.bmp") -meter_half = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter half.bmp") - - - -# Correctly declare tile_width and tile_height as integers -tile_width = 32 -tile_height = 32 - -teddy_sprite = displayio.TileGrid( - teddy_idle, - pixel_shader=teddy_idle.pixel_shader, - width=1, - height=1, - tile_width=tile_width, - tile_height=tile_height, - default_tile=0, - x=int((display.width - tile_width) // 2), - y=int(display.height - tile_height - 10), -) - -splash.append(teddy_sprite) -frame = 0 -speed = 4 -full = 0 -game_over = False -keys = pygame.key.get_pressed() -# ADDING THE ICONS THINGIES -food = [] -shoes = [] -# SPAWN FUNCTIONS -def spawn_pill(): - x_position = random.randint(0, 128) - y_position = 128 - pill_sprite = displayio.TileGrid( - pill_bitmap, - pixel_shader=pill_bitmap.pixel_shader, - width=1, - height=1, - tile_width=16, - tile_height=16, - default_tile=0, - x=random.randint(0, display.width - 16), - y=random.randint(0, display.height - 16), - ) - splash.append(pill_sprite) - food.append(pill_sprite) -def spawn_shoe(): - x_position = random.randint(0,128) - y_position = 0 - shoe_sprite = displayio.TileGrid( - shoe_bitmap, - pixel_shader=shoe_bitmap.pixel_shader, - width=1, - height=1, - tile_width=16, - tile_height=16, - default_tile=0, - x=random.randint(0, display.width - 16), - y=random.randint(0, display.height - 16), - ) - splash.append(shoe_sprite) - shoes.append(shoe_sprite) -win_screen = displayio.TileGrid( - displayio.OnDiskBitmap("C:/Users/Nili/Downloads/youwin.bmp"), - pixel_shader=displayio.OnDiskBitmap("C:/Users/Nili/Downloads/youwin.bmp").pixel_shader, - width=1, - height=1, - tile_width=128, - tile_height=128, - x=0, - y=0 -) -challah_sprite = displayio.TileGrid( - challah_bitmap, - pixel_shader=challah_bitmap.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 -) -def spawn_challah(): - x_position = random.randint(0, 128) - y_position = 128 - challah_sprite = displayio.TileGrid( - challah_bitmap, - pixel_shader=challah_bitmap.pixel_shader, - width=1, - height=1, - tile_width=16, - tile_height=16, - default_tile=0, - x=random.randint(0, display.width - 16), - y=random.randint(0, display.height - 16), - ) - splash.append(challah_sprite) - food.append(challah_sprite) - -meter_sprite = displayio.TileGrid( - meter_empty, - pixel_shader=meter_empty.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 -) -splash.append(meter_sprite) -def check_collision(sprite1, sprite2): - return ( - sprite1.x < sprite2.x + 32 and - sprite1.x + 32 > sprite2.x and - sprite1.y < sprite2.y + 32 and - sprite1.y + 32 > sprite2.y - ) -last_spawn_time = time.time() -spawn_pill() -spawn_shoe() -spawn_challah() - - - -# i THINK my game is gonna be like collecting pills to get points and avoiding things that take points down -while True: - for event in pygame.event.get(): - if event.type == pygame.QUIT: - pygame.quit() - exit() - keys = pygame.key.get_pressed() - if game_over == False: - if keys[pygame.K_RIGHT]: - teddy_sprite.x += speed - splash.remove(teddy_sprite) - teddy_sprite = displayio.TileGrid( - teddy_right, - pixel_shader=teddy_right.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=teddy_sprite.x, - y=teddy_sprite.y - ) - splash.append(teddy_sprite) - elif keys[pygame.K_LEFT]: - teddy_sprite.x -= speed - splash.remove(teddy_sprite) - teddy_sprite = displayio.TileGrid( - teddy_left, - pixel_shader=teddy_left.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=teddy_sprite.x, - y=teddy_sprite.y - ) - splash.append(teddy_sprite) - elif keys[pygame.K_UP]: - teddy_sprite.y -= speed - time.sleep(0.05) - teddy_sprite.y += speed - splash.remove(teddy_sprite) - teddy_sprite = displayio.TileGrid( - teddy_idle, - pixel_shader=teddy_idle.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=teddy_sprite.x, - y=teddy_sprite.y - ) - splash.append(teddy_sprite) - - for pill in food: - pill.y += 1 - if pill.y > display.height: - splash.remove(pill) - food.remove(pill) - if check_collision(teddy_sprite, pill): - splash.remove(pill) - food.remove(pill) - full += 2 - for shoe in shoes: - shoe.y += 1 - if shoe.y > display.height: - splash.remove(shoe) - shoes.remove(shoe) - if check_collision(teddy_sprite, shoe): - splash.remove(shoe) - shoes.remove(shoe) - full -= 1 - for challah in food: - challah.y += 1 - if challah.y > display.height: - splash.remove(challah) - food.remove(challah) - if check_collision(teddy_sprite, challah): - splash.remove(challah) - food.remove(challah) - full += 1 - if full >= 8: - splash.remove(meter_sprite) - meter_sprite = displayio.TileGrid( - meter_full, - pixel_shader=meter_full.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 - ) - full = 0 - splash.append(win_screen) - - game_over = True - elif full == 2: - splash.remove(meter_sprite) - meter_sprite = displayio.TileGrid( - meter_quarter, - pixel_shader=meter_quarter.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 - ) - splash.append(meter_sprite) - elif full == 4: - splash.remove(meter_sprite) - meter_sprite = displayio.TileGrid( - meter_half, - pixel_shader=meter_half.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 - ) - splash.append(meter_sprite) - elif full == 6: - splash.remove(meter_sprite) - meter_sprite = displayio.TileGrid( - meter_three_quarters, - pixel_shader=meter_three_quarters.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 - ) - elif full == 0: - splash.remove(meter_sprite) - meter_sprite = displayio.TileGrid( - meter_empty, - pixel_shader=meter_empty.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 - ) - splash.append(meter_sprite) - current_time = time.time() - if current_time - last_spawn_time >= 5: - spawn_pill() - spawn_shoe() - spawn_shoe() - spawn_challah() - spawn_challah() - last_spawn_time = current_time - display.refresh() - time.sleep(0.01) \ No newline at end of file From 0872e1b301503f6e7d7e08deb2cb2277009bd1ba Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Wed, 5 Feb 2025 21:27:19 -0500 Subject: [PATCH 18/23] Delete challah.bmp --- challah.bmp | Bin 4234 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 challah.bmp diff --git a/challah.bmp b/challah.bmp deleted file mode 100644 index b86ad4d676dd77c0994e39dfa6869b1e6197c682..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4234 zcmeH`ze`*}5Xax4@y8_?HHrwLAtB} zC1Xzw_8e93IbM8B6#e_+GLwZjpUZ#FbF+K>-TmulnS4I~pj0XiT4}0ODyq3_O}%G9ybnP6i4e%(I1UgZ9Ipy!~Q`>wPhI$*-8cS4I3+ z@^qi3hd%y_akI<6P0RduCwHcbt`?ZNV%eSPNzy%BaD8BBdmfv%fnj$iordT8$sJwW zcX?yq4&%A;H@{mo^uXN0q!-_&ht8+tuD{u>W5XV^KTn+9 zVYwwn0+xh0xWN{8^mK3YAnx18N;{L!oT{bzXm$WLXKCGonUur3p|>==BtJF9rRrnz z{)8*ev6)j^v-7`cd^zKCh)u%zpO1NLOgyjlFAVjDW;e3c3%K=S*Y?K$vh~vs(|o_j z?NmH~NuSqw-?cSwVl#7fkM4c2k1qR8+U?xh)lKTv6U)p~n@2Iv;u~F0y^s?a2n+-U J0t2^?fxlahqFev~ From 183536148583c01aece25df316c8e37d9dfe57ef Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Thu, 6 Feb 2025 15:52:52 -0500 Subject: [PATCH 19/23] Delete pets/hackapet_code.py --- pets/hackapet_code.py | 336 ------------------------------------------ 1 file changed, 336 deletions(-) delete mode 100644 pets/hackapet_code.py diff --git a/pets/hackapet_code.py b/pets/hackapet_code.py deleted file mode 100644 index 18faffee..00000000 --- a/pets/hackapet_code.py +++ /dev/null @@ -1,336 +0,0 @@ -import os -import time -import pygame -from blinka_displayio_pygamedisplay import PyGameDisplay -import displayio -import random -#thanks to my akiva for helping me set this up, i love you sm -# Initialize Pygame -pygame.init() - -# Set up the display -display = PyGameDisplay(width=128, height=128) -splash = displayio.Group() -display.show(splash) - -forest_background = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/forest_background.bmp") - -bg_sprite = displayio.TileGrid( - forest_background, - pixel_shader=forest_background.pixel_shader -) - -splash.append(bg_sprite) - -# SILLY PIXEL THINGS (IM TRYING TO ORGANIZE MY CODE) - -teddy_idle = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddy_idle.bmp") -teddy_left = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddywalking! left.bmp") -teddy_right = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddywalking!.bmp") -pill_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/pill.bmp") -shoe_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/shoe.bmp") -challah_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/challah.bmp") -meter_empty = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter empty.bmp") -meter_full = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter full.bmp") -meter_quarter = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter quarter.bmp") -meter_three_quarters = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter three quarters.bmp") -meter_half = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter half.bmp") - - - -# Correctly declare tile_width and tile_height as integers -tile_width = 32 -tile_height = 32 - -teddy_sprite = displayio.TileGrid( - teddy_idle, - pixel_shader=teddy_idle.pixel_shader, - width=1, - height=1, - tile_width=tile_width, - tile_height=tile_height, - default_tile=0, - x=int((display.width - tile_width) // 2), - y=int(display.height - tile_height - 10), -) - -splash.append(teddy_sprite) -frame = 0 -speed = 4 -full = -5 -game_over = False -keys = pygame.key.get_pressed() -# ADDING THE ICONS THINGIES -food = [] -shoes = [] -# SPAWN FUNCTIONS -def spawn_pill(): - x_position = random.randint(0, 128) - y_position = 128 - pill_sprite = displayio.TileGrid( - pill_bitmap, - pixel_shader=pill_bitmap.pixel_shader, - width=1, - height=1, - tile_width=16, - tile_height=16, - default_tile=0, - x=random.randint(0, display.width - 16), - y=random.randint(0, display.height - 16), - ) - splash.append(pill_sprite) - food.append(pill_sprite) -def spawn_shoe(): - x_position = random.randint(0,128) - y_position = 0 - shoe_sprite = displayio.TileGrid( - shoe_bitmap, - pixel_shader=shoe_bitmap.pixel_shader, - width=1, - height=1, - tile_width=16, - tile_height=16, - default_tile=0, - x=random.randint(0, display.width - 16), - y=random.randint(0, display.height - 16), - ) - splash.append(shoe_sprite) - shoes.append(shoe_sprite) -win_screen = displayio.TileGrid( - displayio.OnDiskBitmap("C:/Users/Nili/Downloads/youwin.bmp"), - pixel_shader=displayio.OnDiskBitmap("C:/Users/Nili/Downloads/youwin.bmp").pixel_shader, - width=1, - height=1, - tile_width=128, - tile_height=128, - x=0, - y=0 -) -challah_sprite = displayio.TileGrid( - challah_bitmap, - pixel_shader=challah_bitmap.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 -) -def spawn_challah(): - x_position = random.randint(0, 128) - y_position = 128 - challah_sprite = displayio.TileGrid( - challah_bitmap, - pixel_shader=challah_bitmap.pixel_shader, - width=1, - height=1, - tile_width=16, - tile_height=16, - default_tile=0, - x=random.randint(0, display.width - 16), - y=random.randint(0, display.height - 16), - ) - splash.append(challah_sprite) - food.append(challah_sprite) - -meter_sprite = displayio.TileGrid( - meter_empty, - pixel_shader=meter_empty.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 -) -splash.append(meter_sprite) -def check_collision(sprite1, sprite2): - return ( - sprite1.x < sprite2.x + sprite2.tile_width and - sprite1.x + sprite1.tile_width > sprite2.x and - sprite1.y < sprite2.y + sprite2.tile_height and - sprite1.y + sprite1.tile_height > sprite2.y - ) -last_spawn_time = time.time() -sleep_time = 3 -spawn_pill() -spawn_shoe() -spawn_challah() - -def reset_game(): - global full, game_over - full = 0 - game_over = False - splash.remove(win_screen) - splash.append(meter_sprite) - for pill in food: - splash.remove(pill) - food.remove(pill) - for shoe in shoes: - splash.remove(shoe) - shoes.remove(shoe) - for challah in food: - splash.remove(challah) - food.remove(challah) - -# i THINK my game is gonna be like collecting pills to get points and avoiding things that take points down -while True: - for event in pygame.event.get(): - if event.type == pygame.QUIT: - pygame.quit() - exit() - keys = pygame.key.get_pressed() - if game_over == False: - if keys[pygame.K_RIGHT]: - teddy_sprite.x += speed - splash.remove(teddy_sprite) - teddy_sprite = displayio.TileGrid( - teddy_right, - pixel_shader=teddy_right.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=teddy_sprite.x, - y=teddy_sprite.y - ) - splash.append(teddy_sprite) - elif keys[pygame.K_LEFT]: - teddy_sprite.x -= speed - splash.remove(teddy_sprite) - teddy_sprite = displayio.TileGrid( - teddy_left, - pixel_shader=teddy_left.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=teddy_sprite.x, - y=teddy_sprite.y - ) - splash.append(teddy_sprite) - elif keys[pygame.K_UP]: - teddy_sprite.y -= speed - teddy_sprite.y -= speed - - time.sleep(0.05) - teddy_sprite.y += speed - teddy_sprite.y += speed - splash.remove(teddy_sprite) - teddy_sprite = displayio.TileGrid( - teddy_idle, - pixel_shader=teddy_idle.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=teddy_sprite.x, - y=teddy_sprite.y - ) - splash.append(teddy_sprite) - - for pill in food: - pill.y += 1 - if pill.y > display.height: - splash.remove(pill) - food.remove(pill) - if check_collision(teddy_sprite, pill): - splash.remove(pill) - food.remove(pill) - full += 2 - for shoe in shoes: - shoe.y += 1 - if shoe.y > display.height: - splash.remove(shoe) - shoes.remove(shoe) - if check_collision(teddy_sprite, shoe): - splash.remove(shoe) - shoes.remove(shoe) - full -= 1 - for challah in food: - challah.y += 1 - if challah.y > display.height: - splash.remove(challah) - food.remove(challah) - if check_collision(teddy_sprite, challah): - splash.remove(challah) - food.remove(challah) - full += 1 - if full == 8: - splash.remove(meter_sprite) - meter_sprite = displayio.TileGrid( - meter_full, - pixel_shader=meter_full.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 - ) - splash.append(win_screen) - time.sleep(3) - reset_game() - game_over = True - elif full == 2 or 3: - splash.remove(meter_sprite) - meter_sprite = displayio.TileGrid( - meter_quarter, - pixel_shader=meter_quarter.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 - ) - splash.append(meter_sprite) - elif full == 4 or 5: - splash.remove(meter_sprite) - meter_sprite = displayio.TileGrid( - meter_half, - pixel_shader=meter_half.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 - ) - splash.append(meter_sprite) - elif full == 6 or 7: - splash.remove(meter_sprite) - meter_sprite = displayio.TileGrid( - meter_three_quarters, - pixel_shader=meter_three_quarters.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 - ) - elif full == 0 or 1: - splash.remove(meter_sprite) - meter_sprite = displayio.TileGrid( - meter_empty, - pixel_shader=meter_empty.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 - ) - splash.append(meter_sprite) - current_time = time.time() - if current_time - last_spawn_time >= 5: - spawn_pill() - spawn_shoe() - spawn_shoe() - spawn_challah() - spawn_challah() - last_spawn_time = current_time - teddy_sprite[0] = frame - display.refresh() - time.sleep(0.01) \ No newline at end of file From 64c99690b293146ba85964e6eeb7a9eaa0b6346c Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Sun, 9 Feb 2025 11:51:48 -0500 Subject: [PATCH 20/23] Add files via upload god please let this work --- pets/silly_dog/HACKAPET_CODE_FINAL.py | 278 ++++++++++++++++++++++++++ pets/silly_dog/forestbackground.bmp | Bin 0 -> 65674 bytes 2 files changed, 278 insertions(+) create mode 100644 pets/silly_dog/HACKAPET_CODE_FINAL.py create mode 100644 pets/silly_dog/forestbackground.bmp diff --git a/pets/silly_dog/HACKAPET_CODE_FINAL.py b/pets/silly_dog/HACKAPET_CODE_FINAL.py new file mode 100644 index 00000000..cab11752 --- /dev/null +++ b/pets/silly_dog/HACKAPET_CODE_FINAL.py @@ -0,0 +1,278 @@ +import os +import time +import random +import pygame +from blinka_displayio_pygamedisplay import PyGameDisplay +import displayio + +# Initialize Pygame +pygame.init() + +# Set up the display +display = PyGameDisplay(width=128, height=128) +splash = displayio.Group() +display.show(splash) + +forest_background = displayio.OnDiskBitmap("C:/Users/Nili/Pictures/forestbackground.bmp") + +bg_sprite = displayio.TileGrid( + forest_background, + pixel_shader=forest_background.pixel_shader +) + +splash.append(bg_sprite) + +teddy_idle = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/teddy_idle.bmp") +teddy_right = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/teddy_walking.bmp") +teddy_left = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/teddywalking! left.bmp") + +# Correctly declare tile_width and tile_height as integers +tile_width = 32 +tile_height = 32 + +teddy_sprite = displayio.TileGrid( + teddy_idle, + pixel_shader=teddy_idle.pixel_shader, + width=1, + height=1, + tile_width=tile_width, + tile_height=tile_height, + default_tile=0, + x=int((display.width - tile_width) // 2), + y=int(display.height - tile_height - 10) +) + +splash.append(teddy_sprite) + +frame = 0 +speed = 4 +game_over = False + +food = [] +shoes = [] +pill_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/pill.bmp") +shoe_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/shoe.bmp") + +def spawn_pill(): + x_position = random.randint(0, display.width - pill_bitmap.width) + y_position = random.randint(0, 50) + pill_sprite = displayio.TileGrid( + pill_bitmap, + pixel_shader=pill_bitmap.pixel_shader, + width=1, + height=1, + tile_width=16, + tile_height=16, + default_tile=0, + x=random.randint(0, display.width - 16), + y=random.randint(0, display.height - 16), + ) + splash.append(pill_sprite) + food.append(pill_sprite) + +def spawn_shoe(): + x_position = random.randint(0, display.width - shoe_bitmap.width) + y_position = random.randint(0, 50) + shoe_sprite = displayio.TileGrid( + shoe_bitmap, + pixel_shader=shoe_bitmap.pixel_shader, + width=1, + height=1, + tile_width=16, + tile_height=16, + default_tile=0, + x=random.randint(0, display.width - 16), + y=random.randint(0, display.height - 16), + ) + splash.append(shoe_sprite) + shoes.append(shoe_sprite) + +# Call spawn_pill and spawn_shoe to spawn them initially +spawn_pill() +spawn_shoe() +full = 0 +meter_empty = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/meter empty.bmp") +meter_full = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/meter full.bmp") +meter_quarter = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/meter quarter.bmp") +meter_half = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/meter half.bmp") +meter_three_quarters = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/meter three quarters.bmp") +win_screen = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/youwin.bmp") + +meter_sprite = displayio.TileGrid( + meter_empty, + pixel_shader=meter_empty.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 +) +splash.append(meter_sprite) + +def check_collision(sprite1, sprite2): + return ( + sprite1.x < sprite2.x + 32 and + sprite1.x + 32 > sprite2.x and + sprite1.y < sprite2.y + 32 and + sprite1.y + 32 > sprite2.y + ) + +last_spawn_time = time.time() +spawn_pill() +spawn_shoe() + +while True: + try: + for event in pygame.event.get(): + if event.type == pygame.QUIT: + pygame.quit() + exit() + + keys = pygame.key.get_pressed() + if not game_over: + if keys[pygame.K_RIGHT]: + teddy_sprite.x += speed + splash.remove(teddy_sprite) + teddy_sprite = displayio.TileGrid( + teddy_right, + pixel_shader=teddy_right.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=teddy_sprite.x, + y=teddy_sprite.y + ) + splash.append(teddy_sprite) + elif keys[pygame.K_LEFT]: + teddy_sprite.x -= speed + splash.remove(teddy_sprite) + teddy_sprite = displayio.TileGrid( + teddy_left, + pixel_shader=teddy_left.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=teddy_sprite.x, + y=teddy_sprite.y + ) + splash.append(teddy_sprite) + elif keys[pygame.K_UP]: + if keys[pygame.K_UP]: + teddy_sprite.y -= speed + teddy_sprite.y -= speed + time.sleep(0.1) + teddy_sprite.y += speed + teddy_sprite.y += speed + splash.remove(teddy_sprite) + teddy_sprite = displayio.TileGrid( + teddy_idle, + pixel_shader=teddy_idle.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=teddy_sprite.x, + y=teddy_sprite.y + ) + splash.append(teddy_sprite) + # Check for collisions with food + for pill in food: + pill.y += 1 + if pill.y > display.height: + splash.remove(pill) + food.remove(pill) + if check_collision(teddy_sprite, pill): + splash.remove(pill) + food.remove(pill) + full += 2 + for shoe in shoes: + shoe.y += 1 + if shoe.y > display.height: + splash.remove(shoe) + shoes.remove(shoe) + if check_collision(teddy_sprite, shoe): + splash.remove(shoe) + shoes.remove(shoe) + full -= 1 + for challah in food: + challah.y += 1 + if challah.y > display.height: + splash.remove(challah) + food.remove(challah) + if check_collision(teddy_sprite, challah): + splash.remove(challah) + food.remove(challah) + full += 1 + if full == 8: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_full, + pixel_shader=meter_full.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + splash.append(meter_sprite) + display.show(win_screen) + time.sleep(3) + full = 0 + game_over = True + elif full == 2: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_quarter, + pixel_shader=meter_quarter.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + splash.append(meter_sprite) + elif full == 4: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_half, + pixel_shader=meter_half.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + splash.append(meter_sprite) + elif full == 6: + splash.remove(meter_sprite) + meter_sprite = displayio.TileGrid( + meter_three_quarters, + pixel_shader=meter_three_quarters.pixel_shader, + width=1, + height=1, + tile_width=32, + tile_height=32, + x=0, + y=0 + ) + splash.append(meter_sprite) + + # Check if 5 seconds have passed to spawn a new pill and shoe + current_time = time.time() + if current_time - last_spawn_time >= 5: + spawn_pill() + spawn_shoe() + last_spawn_time = current_time + + display.refresh() + time.sleep(0.01) + except Exception as e: + print(f"An error occurred: {e}") + pygame.quit() + exit() \ No newline at end of file diff --git a/pets/silly_dog/forestbackground.bmp b/pets/silly_dog/forestbackground.bmp new file mode 100644 index 0000000000000000000000000000000000000000..5f554edf590a827555c63535c9f2dd8b1a092151 GIT binary patch literal 65674 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 literal 0 HcmV?d00001 From 9e9013ecd8c7dec5f754f1724db890d03472dc9b Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Sun, 9 Feb 2025 11:52:11 -0500 Subject: [PATCH 21/23] Delete pets/silly_dog/forest_background.bmp --- pets/silly_dog/forest_background.bmp | Bin 65590 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 pets/silly_dog/forest_background.bmp diff --git a/pets/silly_dog/forest_background.bmp b/pets/silly_dog/forest_background.bmp deleted file mode 100644 index 06915f7d69d248e44b748531665aaf8518cb35b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65590 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 SIWb+@PF$zj=U_Qy^M3*AnEX!w From 9fa9b5822becc0c84be9f3944362c3979b0cbb11 Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Sun, 9 Feb 2025 11:52:31 -0500 Subject: [PATCH 22/23] Delete pets/silly_dog/hackapet_code.py --- pets/silly_dog/hackapet_code.py | 336 -------------------------------- 1 file changed, 336 deletions(-) delete mode 100644 pets/silly_dog/hackapet_code.py diff --git a/pets/silly_dog/hackapet_code.py b/pets/silly_dog/hackapet_code.py deleted file mode 100644 index 18faffee..00000000 --- a/pets/silly_dog/hackapet_code.py +++ /dev/null @@ -1,336 +0,0 @@ -import os -import time -import pygame -from blinka_displayio_pygamedisplay import PyGameDisplay -import displayio -import random -#thanks to my akiva for helping me set this up, i love you sm -# Initialize Pygame -pygame.init() - -# Set up the display -display = PyGameDisplay(width=128, height=128) -splash = displayio.Group() -display.show(splash) - -forest_background = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/forest_background.bmp") - -bg_sprite = displayio.TileGrid( - forest_background, - pixel_shader=forest_background.pixel_shader -) - -splash.append(bg_sprite) - -# SILLY PIXEL THINGS (IM TRYING TO ORGANIZE MY CODE) - -teddy_idle = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddy_idle.bmp") -teddy_left = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddywalking! left.bmp") -teddy_right = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/teddywalking!.bmp") -pill_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/pill.bmp") -shoe_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/shoe.bmp") -challah_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/challah.bmp") -meter_empty = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter empty.bmp") -meter_full = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter full.bmp") -meter_quarter = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter quarter.bmp") -meter_three_quarters = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter three quarters.bmp") -meter_half = displayio.OnDiskBitmap("C:/Users/Nili/Downloads/meter half.bmp") - - - -# Correctly declare tile_width and tile_height as integers -tile_width = 32 -tile_height = 32 - -teddy_sprite = displayio.TileGrid( - teddy_idle, - pixel_shader=teddy_idle.pixel_shader, - width=1, - height=1, - tile_width=tile_width, - tile_height=tile_height, - default_tile=0, - x=int((display.width - tile_width) // 2), - y=int(display.height - tile_height - 10), -) - -splash.append(teddy_sprite) -frame = 0 -speed = 4 -full = -5 -game_over = False -keys = pygame.key.get_pressed() -# ADDING THE ICONS THINGIES -food = [] -shoes = [] -# SPAWN FUNCTIONS -def spawn_pill(): - x_position = random.randint(0, 128) - y_position = 128 - pill_sprite = displayio.TileGrid( - pill_bitmap, - pixel_shader=pill_bitmap.pixel_shader, - width=1, - height=1, - tile_width=16, - tile_height=16, - default_tile=0, - x=random.randint(0, display.width - 16), - y=random.randint(0, display.height - 16), - ) - splash.append(pill_sprite) - food.append(pill_sprite) -def spawn_shoe(): - x_position = random.randint(0,128) - y_position = 0 - shoe_sprite = displayio.TileGrid( - shoe_bitmap, - pixel_shader=shoe_bitmap.pixel_shader, - width=1, - height=1, - tile_width=16, - tile_height=16, - default_tile=0, - x=random.randint(0, display.width - 16), - y=random.randint(0, display.height - 16), - ) - splash.append(shoe_sprite) - shoes.append(shoe_sprite) -win_screen = displayio.TileGrid( - displayio.OnDiskBitmap("C:/Users/Nili/Downloads/youwin.bmp"), - pixel_shader=displayio.OnDiskBitmap("C:/Users/Nili/Downloads/youwin.bmp").pixel_shader, - width=1, - height=1, - tile_width=128, - tile_height=128, - x=0, - y=0 -) -challah_sprite = displayio.TileGrid( - challah_bitmap, - pixel_shader=challah_bitmap.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 -) -def spawn_challah(): - x_position = random.randint(0, 128) - y_position = 128 - challah_sprite = displayio.TileGrid( - challah_bitmap, - pixel_shader=challah_bitmap.pixel_shader, - width=1, - height=1, - tile_width=16, - tile_height=16, - default_tile=0, - x=random.randint(0, display.width - 16), - y=random.randint(0, display.height - 16), - ) - splash.append(challah_sprite) - food.append(challah_sprite) - -meter_sprite = displayio.TileGrid( - meter_empty, - pixel_shader=meter_empty.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 -) -splash.append(meter_sprite) -def check_collision(sprite1, sprite2): - return ( - sprite1.x < sprite2.x + sprite2.tile_width and - sprite1.x + sprite1.tile_width > sprite2.x and - sprite1.y < sprite2.y + sprite2.tile_height and - sprite1.y + sprite1.tile_height > sprite2.y - ) -last_spawn_time = time.time() -sleep_time = 3 -spawn_pill() -spawn_shoe() -spawn_challah() - -def reset_game(): - global full, game_over - full = 0 - game_over = False - splash.remove(win_screen) - splash.append(meter_sprite) - for pill in food: - splash.remove(pill) - food.remove(pill) - for shoe in shoes: - splash.remove(shoe) - shoes.remove(shoe) - for challah in food: - splash.remove(challah) - food.remove(challah) - -# i THINK my game is gonna be like collecting pills to get points and avoiding things that take points down -while True: - for event in pygame.event.get(): - if event.type == pygame.QUIT: - pygame.quit() - exit() - keys = pygame.key.get_pressed() - if game_over == False: - if keys[pygame.K_RIGHT]: - teddy_sprite.x += speed - splash.remove(teddy_sprite) - teddy_sprite = displayio.TileGrid( - teddy_right, - pixel_shader=teddy_right.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=teddy_sprite.x, - y=teddy_sprite.y - ) - splash.append(teddy_sprite) - elif keys[pygame.K_LEFT]: - teddy_sprite.x -= speed - splash.remove(teddy_sprite) - teddy_sprite = displayio.TileGrid( - teddy_left, - pixel_shader=teddy_left.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=teddy_sprite.x, - y=teddy_sprite.y - ) - splash.append(teddy_sprite) - elif keys[pygame.K_UP]: - teddy_sprite.y -= speed - teddy_sprite.y -= speed - - time.sleep(0.05) - teddy_sprite.y += speed - teddy_sprite.y += speed - splash.remove(teddy_sprite) - teddy_sprite = displayio.TileGrid( - teddy_idle, - pixel_shader=teddy_idle.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=teddy_sprite.x, - y=teddy_sprite.y - ) - splash.append(teddy_sprite) - - for pill in food: - pill.y += 1 - if pill.y > display.height: - splash.remove(pill) - food.remove(pill) - if check_collision(teddy_sprite, pill): - splash.remove(pill) - food.remove(pill) - full += 2 - for shoe in shoes: - shoe.y += 1 - if shoe.y > display.height: - splash.remove(shoe) - shoes.remove(shoe) - if check_collision(teddy_sprite, shoe): - splash.remove(shoe) - shoes.remove(shoe) - full -= 1 - for challah in food: - challah.y += 1 - if challah.y > display.height: - splash.remove(challah) - food.remove(challah) - if check_collision(teddy_sprite, challah): - splash.remove(challah) - food.remove(challah) - full += 1 - if full == 8: - splash.remove(meter_sprite) - meter_sprite = displayio.TileGrid( - meter_full, - pixel_shader=meter_full.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 - ) - splash.append(win_screen) - time.sleep(3) - reset_game() - game_over = True - elif full == 2 or 3: - splash.remove(meter_sprite) - meter_sprite = displayio.TileGrid( - meter_quarter, - pixel_shader=meter_quarter.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 - ) - splash.append(meter_sprite) - elif full == 4 or 5: - splash.remove(meter_sprite) - meter_sprite = displayio.TileGrid( - meter_half, - pixel_shader=meter_half.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 - ) - splash.append(meter_sprite) - elif full == 6 or 7: - splash.remove(meter_sprite) - meter_sprite = displayio.TileGrid( - meter_three_quarters, - pixel_shader=meter_three_quarters.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 - ) - elif full == 0 or 1: - splash.remove(meter_sprite) - meter_sprite = displayio.TileGrid( - meter_empty, - pixel_shader=meter_empty.pixel_shader, - width=1, - height=1, - tile_width=32, - tile_height=32, - x=0, - y=0 - ) - splash.append(meter_sprite) - current_time = time.time() - if current_time - last_spawn_time >= 5: - spawn_pill() - spawn_shoe() - spawn_shoe() - spawn_challah() - spawn_challah() - last_spawn_time = current_time - teddy_sprite[0] = frame - display.refresh() - time.sleep(0.01) \ No newline at end of file From 920537efcba1bcb13fb138a79f19a8fce1bf0cc4 Mon Sep 17 00:00:00 2001 From: NiliUnger <149992205+NiliUnger@users.noreply.github.com> Date: Sun, 9 Feb 2025 11:57:11 -0500 Subject: [PATCH 23/23] Add files via upload okay why do things keep on getting pulled out... this should be it? --- pets/silly_dog/HACKAPET_CODE_FINAL.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/pets/silly_dog/HACKAPET_CODE_FINAL.py b/pets/silly_dog/HACKAPET_CODE_FINAL.py index cab11752..8a4c2a60 100644 --- a/pets/silly_dog/HACKAPET_CODE_FINAL.py +++ b/pets/silly_dog/HACKAPET_CODE_FINAL.py @@ -13,7 +13,7 @@ splash = displayio.Group() display.show(splash) -forest_background = displayio.OnDiskBitmap("C:/Users/Nili/Pictures/forestbackground.bmp") +forest_background = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/forestbackground.bmp") bg_sprite = displayio.TileGrid( forest_background, @@ -52,6 +52,7 @@ shoes = [] pill_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/pill.bmp") shoe_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/shoe.bmp") +challah_bitmap = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/challah.bmp") def spawn_pill(): x_position = random.randint(0, display.width - pill_bitmap.width) @@ -69,6 +70,22 @@ def spawn_pill(): ) splash.append(pill_sprite) food.append(pill_sprite) +def spawn_challah(): + x_position = random.randint(0, display.width - pill_bitmap.width) + y_position = random.randint(0, 50) + challah_sprite = displayio.TileGrid( + challah_bitmap, + pixel_shader=challah_bitmap.pixel_shader, + width=1, + height=1, + tile_width=16, + tile_height=16, + default_tile=0, + x=random.randint(0, display.width - 16), + y=random.randint(0, display.height - 16), + ) + splash.append(challah_sprite) + food.append(challah_sprite) def spawn_shoe(): x_position = random.randint(0, display.width - shoe_bitmap.width) @@ -90,6 +107,7 @@ def spawn_shoe(): # Call spawn_pill and spawn_shoe to spawn them initially spawn_pill() spawn_shoe() +spawn_challah full = 0 meter_empty = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/meter empty.bmp") meter_full = displayio.OnDiskBitmap("C:/Users/Nili/OneDrive/silly_dog/meter full.bmp") @@ -121,6 +139,7 @@ def check_collision(sprite1, sprite2): last_spawn_time = time.time() spawn_pill() spawn_shoe() +spawn_challah() while True: try: