From 65122da4cc50528f6e7cba51519eb73c4e445ccc Mon Sep 17 00:00:00 2001 From: HalloSpaceBoy <111699451+HalloSpaceBoy5@users.noreply.github.com> Date: Fri, 19 Jul 2024 16:49:20 -0400 Subject: [PATCH] Add files via upload --- Data/Images/starship-assets/Big Starship.png | Bin 0 -> 2287 bytes Data/Images/starship-assets/bullet.png | Bin 205 -> 142 bytes Data/Images/starship-assets/enemy_down.png | Bin 0 -> 251 bytes Data/Images/starship-assets/enemy_left.png | Bin 0 -> 279 bytes .../old files/Starship (Title Image) old.png | Bin 0 -> 1237 bytes .../starship-assets/old files/Starship old.py | 589 ++++++++++++++++++ .../starship-assets/old files/bullet.png | Bin 0 -> 205 bytes .../starship-assets/old files/enemy-down.png | Bin 0 -> 282 bytes .../starship-assets/old files/enemy-left.png | Bin 0 -> 286 bytes .../old files/starship-down.png | Bin 0 -> 338 bytes .../old files/starship-left.png | Bin 0 -> 351 bytes .../old files/starship-right.png | Bin 0 -> 358 bytes .../starship-assets/old files/starship-up.png | Bin 0 -> 345 bytes .../old files/starship_title.png | Bin 0 -> 2642 bytes Data/Images/starship-assets/starship_down.png | Bin 0 -> 285 bytes Data/Images/starship-assets/starship_left.png | Bin 0 -> 303 bytes .../Images/starship-assets/starship_right.png | Bin 0 -> 308 bytes Data/Images/starship-assets/starship_up.png | Bin 0 -> 287 bytes Data/Images/starship-assets/title.png | Bin 0 -> 817 bytes 19 files changed, 589 insertions(+) create mode 100644 Data/Images/starship-assets/Big Starship.png create mode 100644 Data/Images/starship-assets/enemy_down.png create mode 100644 Data/Images/starship-assets/enemy_left.png create mode 100644 Data/Images/starship-assets/old files/Starship (Title Image) old.png create mode 100644 Data/Images/starship-assets/old files/Starship old.py create mode 100644 Data/Images/starship-assets/old files/bullet.png create mode 100644 Data/Images/starship-assets/old files/enemy-down.png create mode 100644 Data/Images/starship-assets/old files/enemy-left.png create mode 100644 Data/Images/starship-assets/old files/starship-down.png create mode 100644 Data/Images/starship-assets/old files/starship-left.png create mode 100644 Data/Images/starship-assets/old files/starship-right.png create mode 100644 Data/Images/starship-assets/old files/starship-up.png create mode 100644 Data/Images/starship-assets/old files/starship_title.png create mode 100644 Data/Images/starship-assets/starship_down.png create mode 100644 Data/Images/starship-assets/starship_left.png create mode 100644 Data/Images/starship-assets/starship_right.png create mode 100644 Data/Images/starship-assets/starship_up.png create mode 100644 Data/Images/starship-assets/title.png diff --git a/Data/Images/starship-assets/Big Starship.png b/Data/Images/starship-assets/Big Starship.png new file mode 100644 index 0000000000000000000000000000000000000000..35b7ecd4bbeee922f51b9e7ef5082c15be91d526 GIT binary patch literal 2287 zcmV2_S00001b5ch_0Itp) z=>Px-sYygZRCr$PTuYYQMht9{%OqzRT_VX5VlPFVOVZNgBgChW&XQzFGLHlbD3CoP zjzZ1Yd7Vu(GCxfaKotsTRlD78NGtxkTrPIhZns-;#*cl-JxB-XXu{}v^@?U}`xsTgww$m9;$ z+%p-;hCvcBmq`e^T7hUwFaiM7U;egd9X!g@@abm>_owZuu-x%U z#hB51wliiA;PJOI=xYPYtx3*nqwbOTJ@oNr42(yC|T(^mOV zm@CjWS_ugNF8OXg%!@H20^MUwM{xq1z7r2&dZL~Z0qFk91SRWuoBGQ?i~HqxS+5jH zy!8HikLLsQCePI8t@wd85-ajd7=-T~JhK?H81wt_%nE2Sxi~oGGWnts;*jSspXGs7 z!T=D4!@PNxFz+agIn3*?0!;lU;hS#_a}H_eub#sY=79oOrRR1rB43F-H)XYHn&!>ga%xDL8gdOj z=%ZLCr;M|uDO&qp!kpO)R5HqGmI>?H#g8%c?MlU%DeeD@F_{{5>X|HRAosK9Rm!bi z0w5gg9-1%t00tZh^|SCu%IoY9_L<8`oS!QzA)MgE)A?xEfETfJX#hm6UbtaK;mmle+;QWr?tbsv^!N{gbsD*%tifsj15A);k@6*YvHd}GXBl7K@)^2NxNlLCyQyxL+D8_WB zxX+kDY0oszG^=BbaC{p_)U;vffnKkE;tDec9WsAG#UKiV@BiNgbWYT&^t6ESAg(AGYsM>#6qO8&~` z%!~qrL0Gv?G3Iv0tccY3+g!TEk)$j1KVtptE^ttB*jvXb`JgCKBb%NeTBQ|5-)a7y zc}}G?Dpxy)*0Vm$K(qMcT{sH7lJhlLQA8fi`4eB`43-bab6p(PBXdo(V$7H?iZLJU znOwV|C&I1^uE>eo-^#M}IVEpM{{Xb{A+%x%^XaxdWLa|6gv?9>!6|bTw_)ySVIKJ= z1BL@Bd7Vjsl(v*}p0qVAL|FbEk{y7|?pBQH{Stl!hqcD!oN09{;SW5ME0QyTk#iP5 zsnte)m+?%_JOGhQ0g}*Xn$xLH0VT(rYMT4OHRriC!NOr~P!=kT0l7*bG;fU7GLjHzCSkA(ixOdEjo z7ipIKHH2Ng(t$i4y&DU4iH$x=g?6oC%xS)`7<04$*WDlDnOp&7sgYJQxy}259}J$l>U6 zy0;qm@tz#`NYsXt&7ktA_v{$H&y+qCfLI{M-COp|V$2!&bX>Pj#h4%AnYjumyQk-c zp#Z$T`Lx-*+OXH0Y2Jj{SoCgkTN|d*IkS-5+N`XJ{}_H1#@4cI^-`f^WmDLxfgX_U zd6ERQsDO$wgDKY=llKAH+$GI8*uY1|qp)X2ZtVxaslLabgybD-Iovq`gl}y`QqSM( zrrQY`i!q}Y7Gut$^0hx7>Y2B4CU_k;+p*ZKe#__$ws`oVz6H^5b>`s%{TfvwcsLmF zs{mAtnbI4KNewj}ujXF{fRx4icy9f|>BHUU9d5ws;E26M8NE7GK%qNXjA^f_7;{69 zz0a65IqYj$GO#Uw$Zo@DewRzxFV1k7V+TeE{bJ0UFJ!GT{{_=94gR2~RFMDx002ov JPDHLkV1oIARgM4v literal 0 HcmV?d00001 diff --git a/Data/Images/starship-assets/bullet.png b/Data/Images/starship-assets/bullet.png index 58627f19747cbca68da01e4528c18adc4eda93c8..ecad9af90b24ccf86e7de21adca0655e8079b996 100644 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJg literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^{2Q#@T9Ln`JhowQM~L4n7W+1>Lg z4_`xXv%!ky3p*N>11uYket)!|<4)zW$N$ASJY&2(HMV_zlH513f8p_sD=ZH#_-$gi z_X?LdXI;Z4Cbd1iF{gajXqW6!P-G2co#^NA%Cx&(BWL^R}TRmMILoEE0 zQyLon2h5V`nkbldVw!HWhuMMS$Jv*#UlmxP5ZKnJb2PJK_H1cK=d!oAjyhC3b67F2 zVp#6&@JXRwujJc-%&e+r%xSbDVLUb@+{bJFq1=3zcHriy1)$M z`8N}fO}e7!v8I8+&)H#;f&N2dmJ|k#gs*&?6nE@l`OFpOydkqndoh!^SX~kO^qn74 y`h5@9>$DyCB-K^5rfGwZWd+Z{NA7F%*cnP+)(W+6ce4h1fWgz%&t;ucLK6Vv$zKlu literal 0 HcmV?d00001 diff --git a/Data/Images/starship-assets/enemy_left.png b/Data/Images/starship-assets/enemy_left.png new file mode 100644 index 0000000000000000000000000000000000000000..65b2eebce006068ba2766a6064bfd7c8f0e8b9f0 GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn1|+R>-G2co#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!;2KXC#}Etu{;GZ zE)9G3*l2Kz{`m33V1vWW2*zD*6WCHVq@ETt=)EeCa`uH(;<`Iqv&CnyF|KJ_kR9{l z4db%M-`_D@e$l|$;mFw8bMV2;xzZBC%noe^d!`0D9$dn-L2(MxD@mn4Px!dhL>qV* zRV`9@*n-;28VwB@vPBLH334HEC?U@6eu44$rjF6*2UngDagVTk|$ literal 0 HcmV?d00001 diff --git a/Data/Images/starship-assets/old files/Starship (Title Image) old.png b/Data/Images/starship-assets/old files/Starship (Title Image) old.png new file mode 100644 index 0000000000000000000000000000000000000000..d80fb259e9ec18b37e4b811bcbbf4d59016f16f4 GIT binary patch literal 1237 zcmeAS@N?(olHy`uVBq!ia0vp^A3&Ic2}o`$_qjH8k<08S^RJ#u zd%Jx4^y&NoACK;3XUG;Z(QHz4y|9F1mWbnIrHmjJ->wCoKR?}L-qHEIU;cdUD}$fs zU-+L-*Z=qR!_TAk|32JJm;d?pyZ!O@jUV1^ZY$jL`^&P;>ne59Kw7_md?-Rtd!y^}I3G*>X*}Zr9zy#OcXL zKB~{%`uy{YGa$E2`7tTE+5J`2ZEoe=GS_FWv#rwZRW=4WRdwGJ3B$W_GwfdXpYELK zEF!*5T+imUdzob#@8en{XOI`>?YYRK3U&|BD}osQJ9Qy*_w(n^qx+ffl~~B!+jEQu z-hY1iwfix%@87pQ`NaTs5HRdw z_P5DJa?dj^f4d`vNBO!=bU?hrW4Zf2Z3 z$X567@$J?7zfFJte^y)Dxp{rtT<1#n&COow*P-R$vCgTx~Ju%Y?A{pAUBYo#SkE65^uk zlMdgOkf}7iRSI*)ruC*7(zfEt3xawxo z$%j05IsU80w!#8f7>p2{vhccy9A7&y$%Q47teJRg e23F;i{|u9Iy=QX#WUK)eR}7x6elF{r5}E){UoTGp literal 0 HcmV?d00001 diff --git a/Data/Images/starship-assets/old files/Starship old.py b/Data/Images/starship-assets/old files/Starship old.py new file mode 100644 index 0000000..0d15f6a --- /dev/null +++ b/Data/Images/starship-assets/old files/Starship old.py @@ -0,0 +1,589 @@ +# Original game designed for the PicoBoy by HalloSpaceBoy +from os import rename +from PicoGameBoy import PicoGameBoy +from rpmidi import RPMidi +rename("main.py","/Starship/Starship.py") +rename("title.py","main.py") +del rename +pgb=PicoGameBoy() +starship=bytearray(b'1\x861\x861\x86\x00\x001\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x86\x00\x001\x861\x861\x861\x861\x861\x86\x00\x001\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x86\x00\x001\x861\x861\x861\x861\x86\x00\x00\xff\xff\x00\x001\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x86\x00\x00\xff\xff\x00\x001\x861\x861\x861\x86\x00\x00\xff\xff\x00\x001\x861\x861\x861\x861\x861\x861\x86\x00\x001\x861\x861\x861\x861\x861\x861\x86\x00\x00\xff\xff\x00\x001\x861\x861\x86\x00\x00\xff\xff\xff\xff\xff\xff\x00\x001\x861\x861\x861\x861\x86\x00\x00\x05^\x00\x001\x861\x861\x861\x861\x86\x00\x00\xff\xff\xff\xff\xff\xff\x00\x001\x861\x86\x00\x00\xff\xff\xff\xff\xff\xff\x00\x001\x861\x861\x861\x861\x86\x00\x00\x05^\x00\x001\x861\x861\x861\x861\x86\x00\x00\xff\xff\xff\xff\xff\xff\x00\x001\x861\x86\x00\x00\xff\xff\xff\xff\xff\xff\x00\x001\x861\x861\x861\x86\x00\x00\x05^\x05^\x05^\x00\x001\x861\x861\x861\x86\x00\x00\xff\xff\xff\xff\xff\xff\x00\x001\x86\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x001\x861\x861\x86\x00\x00\x05^\x00\x00\x05^\x00\x001\x861\x861\x86\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x9c\xf3\x00\x001\x861\x86\x00\x00\x05\xdf\x00\x00\x05^\x00\x00\x05\xdf\x00\x001\x861\x86\x00\x00\x9c\xf3\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x9c\xf3\x9c\xf3\x00\x001\x86\x00\x00\x00\x00\x05^\x05^\x05^\x00\x00\x00\x001\x86\x00\x00\x9c\xf3\x9c\xf3\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x9c\xf3\x9c\xf3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\xf3\x9c\xf3\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x9c\xf3\x9c\xf3\x9c\xf3\x9c\xf3\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x9c\xf3\x9c\xf3\x9c\xf3\x9c\xf3\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x9c\xf3\x9c\xf3\x9c\xf3\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x9c\xf3\x9c\xf3\x9c\xf3\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x9c\xf3\x9c\xf3\x9c\xf3\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x9c\xf3\x9c\xf3\x9c\xf3\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x9c\xf3\x9c\xf3\x9c\xf3\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x9c\xf3\x9c\xf3\x9c\xf3\x00\x00\x00\x00\x00\x00\x00\x00\x9c\xf3\x00\x00\x9c\xf3\x9c\xf3\x9c\xf3\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x9c\xf3\x9c\xf3\x9c\xf3\x00\x00\x9c\xf3\x00\x00\x00\x00\x9c\xf3\x00\x00\x00\x00\x9c\xf3\x9c\xf3\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x9c\xf3\x9c\xf3\x00\x00\x00\x00\x9c\xf3\x00\x00\x00\x00\x9c\xf3\x00\x00\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x9c\xf3\x00\x00\x00\x00\x9c\xf3\x00\x00\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x9c\xf3\x00\x00\x00\x00\x9c\xf3\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x9c\xf3\x00\x00\x00\x00\x9c\xf3\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x9c\xf3\x00\x00\x00\x00\x9c\xf3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\xf3\x00\x00\x00\x00\x9c\xf3\x9c\xf3\x9c\xf3\x9c\xf3\x00\x00\x00\x001\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x86\x00\x00\x00\x00\x9c\xf3\x9c\xf3\x9c\xf3\x9c\xf3\x00\x00\x00\x00\x9c\xf3\x9c\xf3\x00\x00\x00\x001\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x86\x00\x00\x00\x00\x9c\xf3\x9c\xf3\x00\x00\x00\x00\x00\x00\x00\x001\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x86\x00\x00\x00\x00\x00\x00') +#OS Version detection +try: + f=RPMidi(pgb) + del f +except: + while True: + if pgb.button_Home(): + homebootstop=open("/noboot", "w") + homebootstop.close() + pgb.fill(PicoGameBoy.color(0,0,0)) + pgb.show() + machine.reset() + break + pgb.fill(PicoGameBoy.color(0,0,0)) + pgb.create_text("Update your OS!",-1,25,PicoGameBoy.color(255,255,255)) + pgb.create_text("Update your PicoBoy",-1,140,PicoGameBoy.color(255,255,255)) + pgb.create_text("to play this game.",-1,150,PicoGameBoy.color(255,255,255)) + pgb.show() +pgb.add_sprite(starship, 25,25,1) +pgb.add_sprite(starship,25,25,3) +pgb.add_sprite(starship,25,25,4) +pgb.add_sprite(starship,25,25,2) +del starship +enemy=bytearray(b'1\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x001\x861\x861\x861\x86\x00\x00{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf\x00\x00\xa5\x14\xa5\x14\x00\x00\x00\x001\x861\x861\x861\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x14\xa5\x14\xa5\x14\x00\x00\x00\x001\x861\x861\x861\x86\x00\x00{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf\x00\x00\xa5\x14\xa5\x14\xa5\x14\x00\x00{\xcf\x00\x001\x861\x861\x861\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x14\xa5\x14\xa5\x14\xa5\x14\x00\x00{\xcf\x00\x001\x861\x861\x861\x86\x00\x00\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00{\xcf{\xcf\x00\x001\x861\x861\x861\x86\x00\x00\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00R\xaaR\xaaR\xaaR\xaa\x00\x00{\xcf{\xcf\x00\x001\x861\x861\x861\x86\x00\x00\xa5\x14\xa5\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\xa6\x81\xa6\x81\xa6\x81\xa6\x00\x00R\xaaR\xaaR\xaaR\xaa\x00\x00{\xcf{\xcf\x00\x001\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9$\xd9$\xd9$\x00\x00\x81\xa6\x81\xa6\x81\xa6\x81\xa6\x00\x00R\xaaR\xaaR\xaaR\xaa\x00\x00{\xcf{\xcf\x00\x001\x86\x00\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\x00\x00\xd9$\xd9$\xd9$\x00\x00\x81\xa6\x81\xa6\x81\xa6\x81\xa6\x00\x00R\xaaR\xaaR\xaaR\xaa\x00\x00{\xcf{\xcf\x00\x001\x86\x00\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\x00\x00\xd9$\xd9$\xd9$\x00\x00\x81\xa6\x81\xa6\x81\xa6\x81\xa6\x00\x00R\xaaR\xaaR\xaaR\xaa\x00\x00{\xcf{\xcf\x00\x001\x86\x00\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\x00\x00\xd9$\xd9$\xd9$\x00\x00\x81\xa6\x81\xa6\x81\xa6\x81\xa6\x00\x00R\xaaR\xaaR\xaaR\xaa\x00\x00{\xcf{\xcf\x00\x001\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9$\xd9$\xd9$\x00\x00\x81\xa6\x81\xa6\x81\xa6\x81\xa6\x00\x00R\xaaR\xaaR\xaaR\xaa\x00\x00{\xcf{\xcf\x00\x001\x861\x861\x861\x86\x00\x00\xa5\x14\xa5\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\xa6\x81\xa6\x81\xa6\x81\xa6\x00\x00R\xaaR\xaaR\xaaR\xaa\x00\x00{\xcf{\xcf\x00\x001\x861\x861\x861\x86\x00\x00\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00R\xaaR\xaaR\xaaR\xaa\x00\x00{\xcf{\xcf\x00\x001\x861\x861\x861\x86\x00\x00\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\xa5\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00{\xcf{\xcf\x00\x001\x861\x861\x861\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x14\xa5\x14\xa5\x14\xa5\x14\x00\x00{\xcf\x00\x001\x861\x861\x861\x86\x00\x00{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf\x00\x00\xa5\x14\xa5\x14\xa5\x14\x00\x00{\xcf\x00\x001\x861\x861\x861\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x14\xa5\x14\xa5\x14\x00\x00\x00\x001\x861\x861\x861\x86\x00\x00{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf{\xcf\x00\x00\xa5\x14\xa5\x14\x00\x00\x00\x001\x861\x861\x861\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x001\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x861\x86') +pgb.add_sprite(enemy,25,25) +pgb.add_sprite(enemy,25,25,2) +del enemy +bullet=bytearray(b'1\x861\x861\x861\x861\x86\xd9$\xd9$\xd9$\xd9$\xd9$1\x861\x861\x861\x861\x861\x861\x861\x86\xd9$\xd9$\xd9$\xd9$\xd9$\xd9$\xd9$\xd9$\xd9$1\x861\x861\x861\x861\x86\xd9$\xd9$\xd9$\xa9\xa6\xa9\xa6\xa9\xa6\xa9\xa6\xa9\xa6\xd9$\xd9$\xd9$1\x861\x861\x86\xd9$\xd9$\xd9$\xa9\xa6\xa9\xa6\xa9\xa6\xa9\xa6\xa9\xa6\xa9\xa6\xa9\xa6\xd9$\xd9$\xd9$1\x861\x86\xd9$\xd9$\xa9\xa6\xa9\xa6\xa9\xa6\xf8\x00\xf8\x00\xf8\x00\xa9\xa6\xa9\xa6\xa9\xa6\xd9$\xd9$1\x86\xd9$\xd9$\xa9\xa6\xa9\xa6\xa9\xa6\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xa9\xa6\xa9\xa6\xa9\xa6\xd9$\xd9$\xd9$\xd9$\xa9\xa6\xa9\xa6\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xa9\xa6\xa9\xa6\xd9$\xd9$\xd9$\xd9$\xa9\xa6\xa9\xa6\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xa9\xa6\xa9\xa6\xd9$\xd9$\xd9$\xd9$\xa9\xa6\xa9\xa6\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xa9\xa6\xa9\xa6\xd9$\xd9$\xd9$\xd9$\xa9\xa6\xa9\xa6\xa9\xa6\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xf8\x00\xa9\xa6\xa9\xa6\xa9\xa6\xd9$\xd9$1\x86\xd9$\xd9$\xa9\xa6\xa9\xa6\xa9\xa6\xf8\x00\xf8\x00\xf8\x00\xa9\xa6\xa9\xa6\xa9\xa6\xd9$\xd9$1\x861\x86\xd9$\xd9$\xd9$\xa9\xa6\xa9\xa6\xa9\xa6\xa9\xa6\xa9\xa6\xa9\xa6\xa9\xa6\xd9$\xd9$\xd9$1\x861\x861\x86\xd9$\xd9$\xd9$\xa9\xa6\xa9\xa6\xa9\xa6\xa9\xa6\xa9\xa6\xd9$\xd9$\xd9$1\x861\x861\x861\x861\x86\xd9$\xd9$\xd9$\xd9$\xd9$\xd9$\xd9$\xd9$\xd9$1\x861\x861\x861\x861\x861\x861\x861\x86\xd9$\xd9$\xd9$\xd9$\xd9$1\x861\x861\x861\x861\x86') +pgb.add_sprite(bullet,15,15) +del bullet +from time import sleep, ticks_diff, ticks_ms +from random import randint, choice as randomchoice +from math import sqrt +import _thread +from gc import collect +currentmusic=[0000] +rept=True +starcoords=[] +for i in range(75): + x=randint(10,200) + y=randint(35,210) + starcoords.append([x,y]) +bullets=[] +static=[] +followers=[] +lives=3 +playerx=100 +playery=100 +playerwidth=25 +playerheight=25 +exitthread=False +playerspeed=5 +bulletspeed=3 +followspeed=5 +tick=0.0001 +direction=0 #0=up, 1=down, 2=left, 3=right +level=0 +class new_bullet: + def __init__(self,posx,posy,direction,pos_in_list): + self.posx=posx + self.posy=posy + self.direction=direction + self.width=10 + self.height=10 + self.pil=pos_in_list + def check_collision(self): + global playerx + global playery + global playerwidth + global playerheight + global playerspeed + cenpoint1=[self.posx+self.width/2,self.posy+self.height/2] + cenpoint2=[playerx+playerwidth/2,playery+playerheight/2] + dist=sqrt((cenpoint1[0]-cenpoint2[0])**2+(cenpoint1[1]-cenpoint2[1])**2) + if dist<30: + playerpos=[[self.posx,self.posy],[self.posx+self.width,self.posy],[self.posx,self.posy+self.height],[self.posx+self.width,self.posy+self.height]] + colliderpos=[[playerx,playery],[playerx+playerwidth, playery],[playerx,playery+playerheight],[playerx+playerwidth,playery+playerheight]] + if (playerpos[0][0]>colliderpos[0][0] or playerpos[1][0]>colliderpos[0][0]) and (playerpos[0][0]colliderpos[0][1]-(playerspeed*2): + return True + elif (playerpos[0][0]>colliderpos[0][0] or playerpos[1][0]>colliderpos[0][0]) and (playerpos[0][0]colliderpos[0][1] and self.posycolliderpos[1][1] or playerpos[2][1]>colliderpos[1][1]) and (playerpos[1][1]colliderpos[2][0] and self.posxcolliderpos[1][1] or playerpos[2][1]>colliderpos[1][1]) and (playerpos[1][1]colliderpos[2][0]-(playerspeed*2): + return True + def update(self): + global pgb + global bulletspeed + global bullets + global lives + if self.direction=="left": + if self.posx<0: + bullets.remove(self) + del self + return + self.posx=self.posx-int(bulletspeed) + elif (self.direction=="down"): + if self.posy>=210-self.height: + try: + bullets.remove(self) + del self + except: + "" + return + self.posy=self.posy+int(bulletspeed) + pgb.sprite(6,self.posx,self.posy) + if self.check_collision(): + try: + bullets.remove(self) + except: + "no bullet" + lives=lives-1 + lfreq=-100 + for i in range(500): + pgb.sound(500) + pgb.sound(1500) + pgb.sound(0) + for i in bullets: + del i + bullets=[] +class enemy: + def __init__(self, posx, posy, axis, delay,idd): + self.posx=posx + self.posy=posy + self.axis=axis + self.delay=delay + self.counter=0 + self.idd=idd + def update(self): + global bullets + global playerx + global playery + global followspeed + if self.idd==0: + if self.axis==0: + pgb.sprite(5, self.posx, self.posy) + if self.counter % self.delay == 0: + if len(bullets)-1<=0: + tlen=0 + else: + tlen=len(bullets)-1 + newB=new_bullet(self.posx+5, self.posy+35, "down", tlen) + bullets.append(newB) + if self.axis==1: + pgb.sprite(4, self.posx, self.posy) + if self.counter % self.delay == 0: + if len(bullets)-1<=0: + tlen=0 + else: + tlen=len(bullets)-1 + newB = new_bullet(self.posx-25, self.posy+5, "left", tlen) + bullets.append( newB ) + self.counter=self.counter+1 + if self.idd==1: + if self.axis==0: + if self.posxplayerx: + self.posx=self.posx-followspeed + pgb.sprite(5, self.posx, self.posy) + if self.counter % self.delay == 0: + if len(bullets)-1<=0: + tlen=0 + else: + tlen=len(bullets)-1 + newB=new_bullet(self.posx+5, self.posy+35, "down", tlen) + bullets.append(newB) + if self.axis==1: + if self.posyplayery: + self.posy=self.posy-followspeed + pgb.sprite(4, self.posx, self.posy) + if self.counter % self.delay == 0: + if len(bullets)-1<=0: + tlen=0 + else: + tlen=len(bullets)-1 + newB = new_bullet(self.posx-25, self.posy+5, "left", tlen) + bullets.append( newB ) + self.counter=self.counter+1 +def play_music(): + global midi + global rept + global currentmusic + global exitthread + midi=RPMidi(pgb) + while True: + if exitthread: + exitthread=False + _thread.exit() + if not currentmusic==[0000]: + if rept and not currentmusic==[0000]: + while rept and not currentmusic==[0000]: + midi.play_song(currentmusic) + else: + midi.play_song(currentmusic) + currentmusic=[0000] + sleep(tick) +def no_music(): + global currentmusic + global rept + global midi + rept=False + currentmusic=[0000] + midi.stop_all_music() + midi.stop_all() +def new_level(): + global direction + global playerx + global playery + global level + global tick + global musicthread + global currentmusic + global rept + global ls + global starcoords + global followers + global exitthread + global static + global bullets + playerx=100 + playery=100 + no_music() + tps=1/tick + aot=randint(15,20) + counter=1 + level=level+1 + for i in followers: + del i + for i in static: + del i + for i in bullets: + del i + followers=[] + static=[] + bullets=[] + lastaxs=-1 + axis=-2 + if level<=10: + s=4 + elif level<=20: + s=5 + else: + s=6 + for i in range(s): + while axis==lastaxs: + axis=randint(0,1) + lastaxs=axis + if axis==0: + x=randint(10,180) + y=0 + static.append(enemy(x,y,axis,randint(40,80),0)) + elif axis==1: + x=215 + y=randint(45,180) + static.append(enemy(x,y,axis,randint(40,80),0)) + for i in range(2): + while axis==lastaxs: + axis=randint(0,1) + lastaxs=axis + if axis==0: + x=randint(10,160) + y=0 + followers.append(enemy(x,y,axis,randint(40,80),1)) + elif axis==1: + x=215 + y=randint(45,205) + followers.append(enemy(x,y,axis,randint(40,80),1)) + while True: + musicchoice=randint(0,2) + if not musicchoice==ls: + ls=musicchoice + break + while True: + rept=True + if musicchoice==0: + currentmusic=[0x90,48, 0x91,72, 1,228, 0x81, 0,5, 0x80, 0,10, 0x90,47, 1,234, 0x80, 0,10, 0x90,46, 0x91,75, 1,234, 0x80, +0x81, 0,16, 0x90,45, 0,234, 0x80, 0,10, 0x90,47, 0,235, 0x80, 0,15, 0x90,48, 0x91,72, 1,234, 0x80, 0x81, 0,10, +0x90,47, 1,229, 0x80, 0,15, 0x90,46, 0x91,70, 1,234, 0x80, 0x81, 0,16, 0x90,45, 0x91,70, 0,229, 0x80, 0,5, +0x81, 0,10, 0x90,47, 0x91,71, 0,250, 0x80, 0x81, 0xF0] + elif musicchoice==1: + currentmusic=[0x90,72, 0x91,48, 1,238, 0x80, 0x81, 0,5, 0x90,49, 0x91,73, 1,234, 0x80, 0x81, 0,10, 0x90,47, 0x91,76, 0,245, +0x81, 0,5, 0x91,75, 0,245, 0x80, 0x81, 0,5, 0x90,46, 1,234, 0x80, 0,10, 0x90,48, 0x91,72, 1,234, 0x81, 0,5, +0x80, 0,5, 0x90,49, 0x91,73, 1,234, 0x80, 0x81, 0,10, 0x90,47, 0x91,76, 0,245, 0x81, 0,11, 0x91,75, 0,234, +0x80, 0,5, 0x81, 0,5, 0x90,46, 0,6, 0x91,74, 0,239, 0x81, 0,5, 0x91,73, 0,250, 0x80, 0x81, 0xF0] + else: + currentmusic=[0x90,60, 0x91,72, 0,114, 0x81, 0,135, 0x91,72, 0,115, 0x81, 0,10, 0x91,72, 0,115, 0x80, 0x81, 0,10, 0x90,65, +0x91,77, 1,234, 0x80, 0x81, 0,10, 0x90,60, 0,250, 0x91,72, 0,115, 0x81, 0,10, 0x91,72, 0,115, 0x80, 0x81, 0,10, +0x90,63, 0x91,77, 1,234, 0x80, 0x81, 0,10, 0x90,60, 0x91,72, 0,115, 0x81, 0,135, 0x91,72, 0,115, 0x81, 0,10, +0x91,72, 0,115, 0x80, 0x81, 0,10, 0x90,65, 0x91,77, 1,234, 0x80, 0x81, 0,10, 0x90,65, 1,5, 0x91,77, 0,229, +0x80, 0x81, 0,16, 0x90,72, 0,5, 0x91,67, 0,104, 0x80, 0,10, 0x90,72, 0,115, 0x80, 0,10, 0x90,79, 0,250, +0x80, 0x81, 0xF0] + try: + collect() + _thread.start_new_thread(play_music, ()) + except: + "Already running" + if lives==0: + return False + if pgb.button_Home(): + homebootstop=open("/noboot", "w") + homebootstop.close() + pgb.fill(PicoGameBoy.color(0,0,0)) + pgb.show() + machine.reset() + break + pgb.fill(PicoGameBoy.color(48,48,48)) + pgb.create_text(str(lives),225,10,PicoGameBoy.color(255,255,255)) + pgb.fill_rect(0,25,240,10,PicoGameBoy.color(175,175,175)) + pgb.fill_rect(0,215,240,10,PicoGameBoy.color(175,175,175)) + pgb.fill_rect(205,0,10,215,PicoGameBoy.color(175,175,175)) + for star in starcoords: + pgb.fill_rect(star[0],star[1],1,1,PicoGameBoy.color(255,255,255)) + pgb.create_text("Level: "+str(level),150,228,PicoGameBoy.color(255,255,255)) + counter=counter+1 + if counter%(15)==0: + aot=aot-1 + if aot<10: + aotstr="0"+ str(aot) + else: + aotstr=str(aot) + pgb.create_text("Time: "+aotstr,25,228,PicoGameBoy.color(255,255,255)) + if aot==0: + return True + for e in static: + e.update() + for e in followers: + e.update() + for bullet in bullets: + bullet.update() + if pgb.button_up() and playery>35: + playery=playery-playerspeed + direction=0 + elif pgb.button_down() and playery<215-playerheight: + playery=playery+playerspeed + direction=1 + elif pgb.button_left() and playerx>0: + playerx=playerx-playerspeed + direction=2 + elif pgb.button_right() and playerx<205-playerwidth: + playerx=playerx+playerspeed + direction=3 + pgb.sprite(direction,playerx,playery) + if pgb.button_start(): + no_music() + currentmusic=[0000] + exitthread=True + pgb.fill_rect(10,90,220,80,PicoGameBoy.color(0,0,0)) + pgb.center_text("Game Paused",PicoGameBoy.color(255,255,255)) + pgb.create_text("Press Start to resume", -1, 135, PicoGameBoy.color(255,255,255)) + pgb.show() + sleep(0.5) + while True: + pgb.fill_rect(10,90,220,80,PicoGameBoy.color(0,0,0)) + pgb.center_text("Game Paused",PicoGameBoy.color(255,255,255)) + pgb.create_text("Press Start to resume", -1, 135, PicoGameBoy.color(255,255,255)) + pgb.show() + if pgb.button_Home(): + homebootstop=open("/noboot", "w") + homebootstop.close() + pgb.fill(PicoGameBoy.color(0,0,0)) + pgb.show() + machine.reset() + break + if pgb.button_start(): + sleep(0.5) + break + sleep(tick) + pgb.show() + sleep(tick) + +rept=True +currentmusic=[0x90,48, 0x91,72, 1,244, 0x90,48, 0x91,74, 0,250, 0x90,51, 0,250, 0x92,72, 0x81, 0,250, 0x90,70, 0x82, 0,250, +0x80, 1,244, 0x90,51, 0x91,72, 1,244, 0x90,51, 0x91,74, 0,250, 0x92,48, 0x80, 0,250, 0x90,73, 0x81, 0,250, 0x91,72, +0x80, 0x82, 0,250, 0x90,71, 0x81, 0,250, 0x91,70, 0x80, 0,250, 0x81, 0xF0] +now = ticks_ms() +try: + collect() + _thread.start_new_thread(play_music, ()) +except: + "Already running" +while True: + collect() + if pgb.button_Home(): + homebootstop=open("/noboot", "w") + homebootstop.close() + pgb.fill(PicoGameBoy.color(0,0,0)) + pgb.show() + machine.reset() + break + pgb.load_image("/Starship/starship_title.bin") + pgb.show() + if ticks_diff(ticks_ms(), now) > 200: + now = ticks_ms() + pgb.create_text("HOLD A TO PLAY",-1,160,PicoGameBoy.color(255,255,255)) + pgb.show() + while ticks_diff(ticks_ms(), now) < 200: + sleep(0.020) + now = ticks_ms() + if pgb.button_start(): + x=open("Starship/highscoresStarship.sc", "r") + scores=x.read() + x.close() + del x + scores=scores.split("\n") + pgb.fill(PicoGameBoy.color(0,0,0)) + pgb.create_text("High Scores:", -1, 15, PicoGameBoy.color(255,255,255)) + for i in range(len(scores)): + pgb.create_text("Score "+str(i+1)+": Level "+str(scores[i]), -1, 50+i*15, PicoGameBoy.color(255,255,255)) + pgb.create_text("Press B to exit", -1, 220, PicoGameBoy.color(255,255,255)) + while True: + if pgb.button_B(): + break + if pgb.button_Home(): + homebootstop=open("/noboot", "w") + homebootstop.close() + pgb.fill(PicoGameBoy.color(0,0,0)) + pgb.show() + machine.reset() + break + pgb.show() + elif pgb.button_A(): + break +sleep(0.25) +ls=4 + +while True: + if new_level(): + no_music() + collect() + try: + _thread.start_new_thread(play_music, ()) + except: + "Already running" + currentmusic=[0x90,51, 0x91,63, 0,187, 0x92,50, 0x90,62, 0x81, 0,188, 0x91,51, 0x90,63, 0x82, 0,187, 0x91,52, 0x90,64, 0,188, +0x92,51, 0x91,63, 0x80, 0,187, 0x90,52, 0x91,64, 0x82, 0,188, 0x90,53, 0x91,65, 0,62, 0x90,53, 0x91,65, 0,63, +0x90,53, 0x91,65, 0,62, 0x90,53, 0x91,65, 0,63, 0x90,53, 0x91,65, 0,62, 0x90,53, 0x91,65, 0,63, 0x80, 0x81, +0xF0] + lives=3 + bulletspeed+=.25 + for i in followers: + del i + for i in static: + del i + for i in bullets: + del i + followers=[] + static=[] + bullets=[] + pgb.fill(PicoGameBoy.color(0,0,0)) + pgb.rect(70,20,100,80,PicoGameBoy.color(255,255,255)) + pgb.fill_rect(90, 30,10,10,PicoGameBoy.color(255,255,255)) + pgb.fill_rect(140, 30,10,10,PicoGameBoy.color(255,255,255)) + pgb.rect(90,60,60,20,PicoGameBoy.color(255,255,255)) + pgb.line(90,60,150,60,PicoGameBoy.color(0,0,0)) + pgb.create_text("Level Clear!",-1,125,PicoGameBoy.color(255,255,255)) + pgb.create_text("Press A to play",-1, 145, PicoGameBoy.color(255,255,255)) + pgb.create_text("the next level",-1, 160, PicoGameBoy.color(255,255,255)) + pgb.create_text("Press home to quit.", -1, 180, PicoGameBoy.color(255,255,255)) + pgb.create_text("Level: "+str(level),-1,200,PicoGameBoy.color(255,255,255)) + pgb.show() + while True: + if pgb.button_Home(): + with open("Starship/highscoresStarship.sc", "r") as s: + scores=s.read().split("\n") + for r in range(len(scores)): + scores[r]=int(scores[r]) + newscores=scores + newscores.append(int(level)) + newscores.sort(reverse=True) + for i in range(len(newscores)): newscores[i]=str(newscores[i]) + with open("Starship/highscoresStarship.sc", "w+") as w: + w.write("\n".join(newscores[:10])) + del newscores + del scores + homebootstop=open("/noboot", "w") + homebootstop.close() + pgb.fill(PicoGameBoy.color(0,0,0)) + pgb.show() + machine.reset() + break + elif pgb.button_A(): + no_music() + break + else: + no_music() + collect() + try: + _thread.start_new_thread(play_music, ()) + except: + "Already running" + currentmusic=[0x90,45, 0x91,48, 1,119, 0x80, 0x81, 0,250, 0x90,44, 0x91,47, 1,119, 0x80, 0x81, 0,250, 0x90,43, 0x91,46, 1,119, +0x80, 0x81, 1,119, 0x90,41, 0x91,44, 0,62, 0x90,41, 0x91,44, 0,63, 0x90,41, 0x91,44, 0,62, 0x90,41, 0x91,44, +0,63, 0x90,41, 0x91,44, 0,62, 0x90,41, 0x91,44, 0,63, 0x90,41, 0x91,44, 0,62, 0x90,41, 0x91,44, 0,63, +0x90,41, 0x91,44, 0,62, 0x90,41, 0x91,44, 0,63, 0x90,41, 0x91,44, 0,62, 0x90,41, 0x91,44, 0,63, 0x90,41, +0x91,44, 0,62, 0x90,41, 0x91,44, 0,63, 0x90,41, 0x91,44, 0,62, 0x90,41, 0x91,44, 0,63, 0x80, 0x81, 0xF0] + for i in followers: + del i + for i in static: + del i + for i in bullets: + del i + bulletspeed=3 + followers=[] + static=[] + bullets=[] + lives=3 + with open("Starship/highscoresStarship.sc", "r") as s: + scores=s.read().split("\n") + for r in range(len(scores)): + scores[r]=int(scores[r]) + newscores=scores + newscores.append(int(level)) + newscores.sort(reverse=True) + for i in range(len(newscores)): newscores[i]=str(newscores[i]) + with open("Starship/highscoresStarship.sc", "w+") as w: + w.write("\n".join(newscores[:10])) + del newscores + del scores + pgb.sound(0) + pgb.fill(PicoGameBoy.color(0,0,0)) + pgb.rect(70,20,100,80,PicoGameBoy.color(255,255,255)) + pgb.fill_rect(90, 30,10,10,PicoGameBoy.color(255,255,255)) + pgb.fill_rect(140, 30,10,10,PicoGameBoy.color(255,255,255)) + pgb.rect(90,60,60,20,PicoGameBoy.color(255,255,255)) + pgb.line(90,79,150,79,PicoGameBoy.color(0,0,0)) + pgb.create_text("Game Over",-1,125,PicoGameBoy.color(255,255,255)) + pgb.create_text("Press A to play again.", -1, 145, PicoGameBoy.color(255,255,255)) + pgb.create_text("Press home to quit.", -1, 160, PicoGameBoy.color(255,255,255)) + pgb.create_text("Level: "+str(level), -1, 180, PicoGameBoy.color(255,255,255)) + pgb.show() + while True: + pgb.fill(PicoGameBoy.color(0,0,0)) + pgb.rect(70,20,100,80,PicoGameBoy.color(255,255,255)) + pgb.fill_rect(90, 30,10,10,PicoGameBoy.color(255,255,255)) + pgb.fill_rect(140, 30,10,10,PicoGameBoy.color(255,255,255)) + pgb.rect(90,60,60,20,PicoGameBoy.color(255,255,255)) + pgb.line(90,79,150,79,PicoGameBoy.color(0,0,0)) + pgb.create_text("Game Over",-1,125,PicoGameBoy.color(255,255,255)) + pgb.create_text("Press A to play again.", -1, 145, PicoGameBoy.color(255,255,255)) + pgb.create_text("Press home to quit.", -1, 160, PicoGameBoy.color(255,255,255)) + pgb.create_text("Press start", -1, 175, PicoGameBoy.color(255,255,255)) + pgb.create_text("to view scores.", -1, 190, PicoGameBoy.color(255,255,255)) + pgb.create_text("Level: "+str(level), -1, 205, PicoGameBoy.color(255,255,255)) + pgb.show() + if pgb.button_Home(): + homebootstop=open("/noboot", "w") + homebootstop.close() + pgb.fill(PicoGameBoy.color(0,0,0)) + pgb.show() + machine.reset() + break + if pgb.button_start(): + x=open("Starship/highscoresStarship.sc", "r") + scores=x.read() + x.close() + del x + scores=scores.split("\n") + pgb.fill(PicoGameBoy.color(0,0,0)) + pgb.create_text("High Scores:", -1, 15, PicoGameBoy.color(255,255,255)) + for i in range(len(scores)): + pgb.create_text("Score "+str(i+1)+": Level "+str(scores[i]), -1, 50+i*15, PicoGameBoy.color(255,255,255)) + pgb.create_text("Press B to exit", -1, 220, PicoGameBoy.color(255,255,255)) + while True: + if pgb.button_B(): + break + if pgb.button_Home(): + homebootstop=open("/noboot", "w") + homebootstop.close() + pgb.fill(PicoGameBoy.color(0,0,0)) + pgb.show() + machine.reset() + break + pgb.show() + elif pgb.button_A(): + level=0 + no_music() + break diff --git a/Data/Images/starship-assets/old files/bullet.png b/Data/Images/starship-assets/old files/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..58627f19747cbca68da01e4528c18adc4eda93c8 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^{2Q#@T9Ln`JhowQM~L4n7W+1>Lg z4_`xXv%!ky3p*N>11uYket)!|<4)zW$N$ASJY&2(HMV_zlH513f8p_sD=ZH#_-$gi z_X?LdXI;Z4Cbd1iF{gajXqW6!PP000>X0ssI2ON$aT0002tNkl6tp|ySWGTB79kHbMQK>0PZL_SkM0D@_JT-dH**qohctyX;DtZrK^!_s} zHu%xDX|M@l^Y3B(qhA1;5cI6QzSx@O^`J0nRIIbA4(I(6OUsnEdC!|%;vJV!Z07*qoM6N<$g3UH~bpQYW literal 0 HcmV?d00001 diff --git a/Data/Images/starship-assets/old files/enemy-left.png b/Data/Images/starship-assets/old files/enemy-left.png new file mode 100644 index 0000000000000000000000000000000000000000..0c113b19befe37a60337d5b7e3534f072d939cde GIT binary patch literal 286 zcmV+(0pb3MP)P000>X0ssI2ON$aT0002xNklMYh>!s$=6`#B5XMT>Q&mok`;mjDWp>WfDFPfKauUYuIo@q zw^|?oP5crUtP)P000>X0ssI2ON$aT0003QNkl>F>15MQtLdbX~W5*D}4razzsI}??0Vt&a z$T`m{s*2J7?8TH~t8zjRnuIDGzC^^HiKq{b;ucIURiUXOVtM+ujVoIENh|acBFqW2 z97h*7Qx`b;MMT;{M^m}Jah4qT`ffK{R>D40Bd96YW(QSB07OJYOtF+=%y3VwKvhvX zZhJq4SnFaFFzzg&85T2t-9a=TZ_6FlXrK4v`PR$DdjwiJ=Y#N)ZCwCt>w=ejb^rhX literal 0 HcmV?d00001 diff --git a/Data/Images/starship-assets/old files/starship-left.png b/Data/Images/starship-assets/old files/starship-left.png new file mode 100644 index 0000000000000000000000000000000000000000..40677bd3f584bdbea324c16498e469e84a0f6750 GIT binary patch literal 351 zcmV-l0igbgP)P000>X0ssI2ON$aT0003dNkl|oE((r2NWbCa8_&e&Pz*EMDN`n zMZ{7{1j;!lO_?H0fOpypdTcs|!^|!_i70Ws5YgyjkH5B*B3mYpk)tNgl`j(?;fp>R zoD_@YAY$*GuV1kYktx128g#*e?;e^EQglL7qPL>!J7*2bqr)+p8+BQ>CM>3G_a^|f z1GoFLojZIMTQ7_y4Ppuav~!oW&eRLkc9RtmwR2}7qDULdF?r2(!Mh`sDUaR`6pEG; z37ph^5EaNLC55|SeGqH)F_GOCd*&xCM##wEkNP000>X0ssI2ON$aT0003kNklHSSQ2`kRm8~XaM8yw{mW8H*2zRvN}0vv zoO|z17_)`0W7vCLasZ$pt|_IQGo+0Ym>Euy;0lBjdsg*LBIV+;aG?)fSiQNRh0-iv zu52=u!Kr>7#anA7FDZbQQUZ$4iY)+B`?P000>X0ssI2ON$aT0003XNklz;#2KOFJeP+lK8YZpJDR>7_l>ABVJyfwofZ)dtr)dHJAm^;#*Wp>i zx8ws1lHay1=lrcH&${I6Vva%b0J_$4&bQ~gdmdQ-(62q1DF9t-QA<`mKLoAw*yiw$ zR%YdkWJ;+bytZ{7Z_oESk9bwxOevA9e6?0nN`>>FYQ%%e;Zq9t_9#>l3Owi<0a(96 zfy=V!szj4!+=q$YpQD6)M@SmYZd?5Iev$MA%C@&AQ+6n8Hcg8eP}kqWDOrg}c z*M(zvR@n)a)6TB7=7Tk#lio`r%(RP+)+uK%rrLW|(asJ#Gwo}2Q|);?^5vHc!08{7 ry_I2^im!_*1`9Ka6dA66fW90bAgJ2yVajt@00000NkvXXu0mjf@#&p! literal 0 HcmV?d00001 diff --git a/Data/Images/starship-assets/old files/starship_title.png b/Data/Images/starship-assets/old files/starship_title.png new file mode 100644 index 0000000000000000000000000000000000000000..30b88881dc5a2e9d9f4355bf3ced7482b9d5bb87 GIT binary patch literal 2642 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 Y+6Q!qr0;6X*R37QVODTUBGfnezgA=MfdBvi literal 0 HcmV?d00001 diff --git a/Data/Images/starship-assets/starship_down.png b/Data/Images/starship-assets/starship_down.png new file mode 100644 index 0000000000000000000000000000000000000000..4b1abd9b0be74eb8f05ad4aad178744a59131084 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn1|+R>-G2co#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!;3iKO#}EtuwG$gToeeo$e9d1(wDw59h>%r0 zE2;N2x>NIuSEd?{r36#wvzmq57T!EfK5F4@|qur;i=`9$Q6>cg!{+&K~j zvu(v0pS?PwJ^5a#pXSr7Gv`(abF&Ltc4WMsr^-G2co#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!;1N$3#}EtuwUZlp4;k>V2%9D7Ea{2v+$f=V zVNI@ZPTXOonOCz^T^)S?rW=lTJX&gTx)8XGU3(?%LG%Oz&Fpo zT6i9tHz70c$I`UqWw#Pq_IE}fpY*1tuS95;&Z7+5>0d6r`0}}RvCTV!1qv_Ey3F%z zkI3q-G2co#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!;7Lyx#}Etuxs$tj4;yf>7Mj0^m};|bY2Q`B z82d-=2klo{b~?N*aLb(JvSiy1<|*EpGx=HNZX3dis&c-%$i$1CO!he5p54Tp7@1tYt+YCGv5)N;wtN*fn&%E$FKD)^b zQa6rRF)*e~zwl4?(!2lllROtq|M-M0l`r~(b@B6AC&lJ*##{Jo;?DVQpuu_nY*I63C-w{KAJ)@4TQ_Us<#3;qvb$WLaQmpN;OhT2-wNm{22WQ%mvv4FO#oav BcEJDu literal 0 HcmV?d00001 diff --git a/Data/Images/starship-assets/starship_up.png b/Data/Images/starship-assets/starship_up.png new file mode 100644 index 0000000000000000000000000000000000000000..f593f8b78ebadfe70ab33145fd3559e68e7e6195 GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn1|+R>-G2co#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!;1*98#}EtuwUZh74l8iDmOlTyL(TeHU&7x9 z+d~4U=jbc4wD8|Dk?{JgeEiSqpFx897kxS3_y1Dwuj=~46Jp(AsvDi*vwn*g>&Hsr zz2~My_^Pc~A*6iCF79rbu*rq84v%w{v-;egJ#bfia)JHdr_#RbAGb-|>D3 literal 0 HcmV?d00001 diff --git a/Data/Images/starship-assets/title.png b/Data/Images/starship-assets/title.png new file mode 100644 index 0000000000000000000000000000000000000000..b5082b03b6a4a7f70ba11f26606bfdb5e19be3a8 GIT binary patch literal 817 zcmV-11J3-3P)X1^@s6V;J$>00001b5ch_0Itp) z=>Px%>q$gGRCr$Po85K7Fbsv00XhYJZ`gkb=m5+@Pg+tSQSj$n#W6YRTS0%m(v|Eu zv|ZO-o6+CpbRK_%|34hNiL7FeI=1{;x-=GVdsZye$C7pQNo~i9w-0HKXnYo?)Q6H^ znoELx`<6s7vaBSH05zAeNixg|w6$r>ONj8Qz-W=u_;yc(jGX@CPC=%ffXXRJb0q=| zxM><1a}dGCDkg$a8MLS2)Mt>g*zI5vON$v^^r$}{$wyY_C1-PQ=7)O zi>=Yeb&47V0OUGLgaS&9D)y)@m7~S%U8FT(#V}}_!|@A+?TLLGM6fZZAX7P31bhqN z-KbB5fO6tkTf_2lpunQG9?=&*5D;|*_!S5!CT2ZjPuuil0)qu-uCF) zyyYnNRIWsP)W=piB3K0xW>BKZ^_C+^%aJJ&AN3JLfSFSO-3nwH^H{FmU3?lpVuDa% zv8D0NZ3VZ&+1u~fUQC3T2)_tW!gv?tR(^vBunW@!dCTEe4+TraM}5>pq6rbKw@)F) z(l4yMLGiXnlS}24_&gsI&gJ$U*P+C05+V6CYz95$iH=ejl&A_&RF}#r>n%zI@rL)+ zTL<3jP_Ty+A^j_-oWoR!!c_`Q(N&T`b-fEnS+An&y$*^WsXz1W(?KycDPkg&Ib?bl vkW$QwuJ<~M5h2B-Ai|!B;D0+@GZB6O!L28%KO{4800000NkvXXu0mjfQ_*%c literal 0 HcmV?d00001