roxtii
Published © GPL3+

micro:bit SpaceCraft

A retro-like game with a spacecraft steering through asteroids.

IntermediateShowcase (no instructions)3 hours994
micro:bit SpaceCraft

Things used in this project

Hardware components

BBC micro:bit board
BBC micro:bit board
×1
Micro-USB to USB Cable (Generic)
Micro-USB to USB Cable (Generic)
×1

Hand tools and fabrication machines

python.microbit.org
micro:bit python.microbit.org

Story

Read more

Code

microbit.hex

haXe
the compiled hex file for the microbit board
:020000040000FA
:1000000000400020ED530100295401002B54010051
:1000100000000000000000000000000000000000E0
:100020000000000000000000000000002D5401004E
:1000300000000000000000002F54010031540100B6
:10004000335401004D440100E55D010033540100CB
:100050003354010000000000F59701003354010003
:10006000B9B000003354010055940100335401002D
:100070003354010033540100335401003354010060
:1000800033540100D15A01003354010033540100AC
:1000900033540100799101005591010001B2000033
:1000A00011B2000033540100000000000000000005
:1000B0000000000000000000000000000000000040
:1000C00008B5054B054803331B1A062B03D9044B0F
:1000D000002B00D0984708BD2801002028010020EF
:1000E000000000000648074908B5091A8910CB0F1F
:1000F0005918491003D0044B002B00D0984708BD75
:1001000028010020280100200000000010B5074C45
:100110002378002B09D1FFF7D3FF054B002B02D02A
:10012000044800E000BF0123237010BD2801002017
:100130000000000078B1030008B5094B002B03D084
:100140000848094900E000BF08480368002B02D1B5
:10015000FFF7C8FF08BD064B002BF9D09847F7E71B
:100160000000000078B103002C01002028010020CD
:1001700000000000144B002B00D1124B9D46402282
:1001800092029A1A924600218B460F461148124A53
:10019000121A2BF04EF80D4B002B00D098470C4B49
:1001A000002B00D098470020002104000D000B48D0
:1001B0002AF018FF20F038FF2000290028F02FFD3A
:1001C00020F07EFC0000080000400020000000003D
:1001D0000000000028010020D82F0020D90D0200C7
:1001E000C4600561466187614146C161494601625B
:1001F00051464162594681626946C16271468160D9
:10020000124B1A6802601860002070470F4B1A6882
:1002100012681A6070470D4B1A68002A01D124F049
:10022000CFFC506010681860D468156956699769EA
:10023000D1698846116A8946516A8A46916A8B4615
:10024000D16A8D4691688E4601207047902E00201D
:10025000074BDB68002B09D05A68904204D3801A00
:1002600004308000C05802E01B68F3E7181C704798
:10027000882E002038B5114D041CEB689868DB68A7
:1002800083420FD30230C00023F0E2F9EB68DA6852
:10029000596803609B6852185B00836000234260CA
:1002A000C360E860E968CB6848685A1C04339B0067
:1002B0000138CA6080185C5038BDC046882E0020C6
:1002C000074B4118884205D25A01D31802780130F1
:1002D0005340F7E7D8B2002800D101307047C0463C
:1002E00005150000034B044ADA6000228C331A60C3
:1002F0007047C046882E002098B90200F0B585B03E
:10030000071C0E1CFFF7DCFF164B0290DC68002C6C
:1003100024D0231C10330193E368019D04339B0018
:10032000E3180393039B9D4216D22868029A037830
:1003300093420FD14378B3420CD10230391C321CA6
:100340002AF04BFF002805D1019BE81A636885104D
:10035000E81804E00435E5E72468D8E7201C05B078
:10036000F0BDC046882E0020F0B585B00290019106
:10037000FFF7C4FF021E5BD12F4C019B271C8C375B
:100380003868DD1C002819D0261C2C4B90361B68C1
:1003900031680393EB188B4210D9691823F07BF96D
:1003A0000390002807D1254B3868196823F066F9B7
:1003B000039B3B6002E03368EB183360231C8C33F3
:1003C0001B68002B17D12E1E7F2E00D88026301CD4
:1003D000271C23F04AF98C373860002804D1281CE8
:1003E00023F036F92E1C3860231C90331E60231C2A
:1003F000002294331A60221C943213688C342468CF
:10040000ED1801990298E4181560FFF759FF6B4643
:100410001B79207063700299019AA01C2AF0ECFEEF
:100420000022019B201CE3189A70FFF723FF021C97
:10043000101C05B0F0BDC046882E00201C2F0020E7
:10044000F7B51D1C161C0023071C03600B603360EE
:100450002B60174B0091DC68002C24D0154B9C427C
:1004600021D03B6801333B60E268009B94461B68E7
:10047000009A019363441360221CE3681032043332
:100480009B00E3189A4206D23168C81C02CA497818
:1004900041183160F6E7201C06F0B4FD2B68246893
:1004A00018182860D8E733682A68D3182B60F7BD7E
:1004B000882E002098B902000C4B70B5DC68002C27
:1004C00013D00B4B9C4210D0261CE36810361D1D28
:1004D000AD006519AE4206D204CE06490232064886
:1004E00026F067FBF6E72468E9E770BD882E002058
:1004F00098B902007224030010F0020038B5051C00
:10050000141C22F00CFB024B2560636038BDC04612
:10051000DD2A020010B50C1E7F2C06D8012122F026
:1005200066FB002844D0047042E0224B99420FD869
:10053000022122F05CFB00283AD04022A30952425B
:10054000134303703F231C40BF3B1C4344702FE008
:10055000194B994214D8032122F049FB002827D0D7
:100560002022230B52421343037080213F23A20910
:1005700049421A401C400A430C434270847017E001
:10058000042122F034FB002812D01022A30C524286
:100590001343037080213F23220B49421A400A4330
:1005A0004270A2091A401C400A430C438270C47076
:1005B00010BDC046FF070000FFFF000007B5034B5A
:1005C0000090684601930EF0A9F807BDDD2A0200ED
:1005D00008B50348096801F0B1FA024808BDC046F1
:1005E00010F0020074E0020010B5041C02A80078AC
:1005F000002906D0002804D10F49104827F07FFCBD
:1006000008E09A4208D1944214D00C480C49231CAB
:1006100010F0BAFEFFF7FFFD944205D2121B094904
:10062000064810F0B1FEF5E79C4203D9034806499D
:100630001A1CECE710BDC046573F030000FD020046
:10064000803F0300B93F0300EB3F0300F0B50025F6
:10065000171C87B00C9C0D9E039004910593029586
:100660000195059B9D4239D0039B9D4209D2636849
:100670009B0537D4019B049A01330193AB00D058FA
:1006800019E006212368381CDB001943002204F01E
:1006900007FA00280BD16368DB0505D519492268E4
:1006A000194810F071FE21E0A368336012E0029B4C
:1006B0004068013302932379012B03D101F02AFC16
:1006C000307007E0022B02D101F0E4FA01E0032BC5
:1006D00000D1306001350C340436C2E7019B039A27
:1006E000934205D20848094927F009FCFFF793FD1A
:1006F0003B68029ADB089A4202D203480449F3E7B6
:1007000007B0F0BD1A40030000FD020031400300B5
:1007100052400300002805D0012809D18B685B00F6
:10072000184306E08B680348002B02D1024800E022
:100730000020704734CD020078CD02007FB5041C44
:100740000122081C01A901F065FC0022217940204A
:1007500009F0B8F8061C0298311C19F07DF962689E
:10076000051C130A834208D2A368C1187143E068CC
:1007700022F084FF2379E06003E01B1A1B02D2B24F
:100780001343321CA06863607043E3686A4318181F
:1007900001992AF031FDA36802485D19A56004B0F3
:1007A00070BDC04674E00200F7B5FF254668041C22
:1007B0000191AE431DD10179321C402009F082F82D
:1007C0006368071C1D408023A1681B011D4308317D
:1007D00041436560E06822F051FF6368E0601A0AF7
:1007E000A368013A01337A435F43311CC0192AF0F0
:1007F00020FD2079019BE168A26809F0BDF9A3689A
:1008000003480133A3606368013BFF3B6360FEBDA7
:1008100074E0020010B5041C102022F02BFF024BE4
:100820004460036010BDC046D8C5020070B50A79A7
:10083000041C0D1C002A09D1194926F0EEF8201CD1
:10084000E968AA6801230BF04DFA23E0154926F068
:10085000B0F9AB68002B1DD0201C134926F0DDF841
:100860000026AB689E4211D2002E03D0201C0F49F7
:1008700026F0D3F8321CE968287909F045F80122FE
:10088000011C201C01F036F90136EAE7201C08495A
:1008900026F0C3F8201C074926F0BFF870BDC046FB
:1008A000704003007C400300874003008B4003003E
:1008B0006AB003001B430300F8B5071C0D1C402061
:1008C000391C002208F0FEFF061E05D10C490D4818
:1008D00027F015FBFFF79FFC102022F0B9FE0A4B12
:1008E000041C002F00D0094B281C2360FBB2A5601C
:1008F0007043636022F0ACFEE060201CF8BDC0468F
:100900008E40030010F8020050C6020014C6020018
:10091000F0B5061C8BB00D1C141C12283AD034D82C
:10092000052800D087E0081C012204A922F0F4F970
:10093000201C07A9012201F06DFB069B00220393F6
:100940006B464020197B08F0BDFF061C0898311C3F
:1009500019F082F8069B071C03936B46A968187B65
:100960007918FFF7A9FF059B041C1A1C0499C0689D
:1009700003932AF041FC321CE36805987A43181867
:1009800007992AF039FC231C56E01B2839D01F2870
:1009900006D050E0081C111CFFF7D0FE2B1C4BE0CA
:1009A000101C07A9012222F02CFD0322002814D0DC
:1009B000234B154240D1234A296891423CD104A9D6
:1009C000281C012222F0A8F901230498009305991C
:1009D000079A089B24F00EFF28E0E3070ED4144288
:1009E00003D1194B22689A4208D00322144B2240AB
:1009F000022A21D1154A1440062C1DD0144808F0B3
:100A000065F9081C012204A922F086F9201C07A917
:100A1000012222F0F6FC0A4B00280DD0089B301C66
:100A200000930499059A079B24F02CFD094B00289C
:100A300002D1034B00E00023181C0BB0F0BDC046F0
:100A400078CD020050C6020030D30200070080FFBC
:100A5000BF74030034CD0200F0B5051C87B00E1C36
:100A6000002808D08B0724D10B68264A934202D075
:100A7000254A93421DD1301C03A9012222F0C1FC5A
:100A8000002816D00022291C402008F01BFF061C5D
:100A90000498311C18F0E0FF071C281C391CFFF7D4
:100AA0000BFF321C041C7A430399C0682AF0A4FB94
:100AB00024E0301C01F00AFA071E00D04710391C50
:100AC000281CFFF7F9FE041C301C07F051FB002620
:100AD0000090009807F09AFB031E0FD0002F04D15E
:100AE000201C191CFFF760FEF3E7721C0192281C02
:100AF000321CE16809F040F8019EEAE7201C07B0CB
:100B0000F0BDC04648EF020050C6020070B586B086
:100B1000002A44D00324161C051C0A1C0C402CD1AE
:100B2000204B0968994228D1111C806803AA0AF059
:100B300093FB002802D11C4808F0C8F8221C042EA0
:100B40002DD12979402008F0BDFE049B061C287990
:100B50000093039B0193019A009B991AFFF7ACFE47
:100B6000041C0399049AEB68521A71437243591892
:100B7000C0682AF041FB221C11E0A9682868002304
:100B800001F060F9E968021C2879042E03D108F00D
:100B9000BBFE021C03E0331C08F0EEFF034A101CEE
:100BA00006B070BD00E202009B40030074E002004A
:100BB00037B51D1C00230C1C0093081C111C1A1CAB
:100BC0000133FFF711FD002C04D1201C211CFFF77D
:100BD00073FE1BE02968CB0705D48B0713D10C4BA0
:100BE0000A689A420FD1081C01F054F8051C002035
:100BF000291CFFF761FE041C0021C0682A1C2AF092
:100C000018FB201C02E00020FFF726FF3EBDC04677
:100C100030D30200002805D0012809D18B685B0081
:100C2000184306E08B680348002B02D1024800E01D
:100C30000020704734CD020078CD02000021F0B5CD
:100C40008568EA0F5219521091420DDA074BC668B7
:100C5000EB185B1A8C009B003419F6582768266045
:100C6000C4680131E750EFE70148F0BDFFFFFF3FE7
:100C700074E0020038B50D1C83684168041C8B4287
:100C800012D3C900C06822F0F9FC63680A495A000F
:100C9000A3686260D21A013352189B00E060920090
:100CA000C01800212AF0C5FAA368E268591C9B000D
:100CB000A16002489D5038BDFFFFFF3F74E0020075
:100CC000F8B5071C161C4C10836803D5E418E243E2
:100CD000D21714409C4200D91C1C0C4D381C291CF6
:100CE000FFF7C8FFAC46BB6809495A1E5B189B005A
:100CF0001D1FF968A24204DD4859013AC8502B1C57
:100D0000F6E7A4000E516046F8BDC04674E002004C
:100D1000FFFFFF3F38B50025041C85601021C06827
:100D200022F0ACFC0423291CE060636010222AF04E
:100D300080FA014838BDC04674E002007FB50C1C43
:100D4000114B02AD04310093013802230195FFF7E6
:100D50007DFC23680D4C9968012911D9D868029A45
:100D60000B4B2D79C918131B5E1EB34189005B42E2
:100D70001A404118074B002D00D1074B22F018F8FC
:100D8000201C04B070BDC046D8C6020074E002004A
:100D9000FFFFFF3F78CD020034CD020070B50C6834
:100DA000021CA368002B05D11A491B4827F0A7F89D
:100DB000FFF731FA2068012A01D04A6801E00122D8
:100DC0005242191C002301F03DF8E268A36881003B
:100DD0005618013B043151181A1A35689200A36065
:100DE000301C2AF012FA0021A368E0689A00115022
:100DF000616804290BD95B00994208D94908890028
:100E0000E06822F03BFC6368E0605B086360281CDC
:100E100070BDC046CC4003006CF9020007B50090DD
:100E200001910220694622F025F8694601900220CE
:100E3000FFF7B4FF00480EBD74E0020070B50E1C51
:100E40000D49051C002425F0E8FDB3689C420ED234
:100E5000002C03D0281C094925F0DFFDF268A3000F
:100E60009958281C012200F045FE0134EDE7281CAA
:100E7000034925F0D2FD70BD894003008B4003007B
:100E80006AB0030070B50326041C0D1C0E4028D167
:100E9000174B0A689A4224D18B6882689918436874
:100EA000994210D904318900C06822F0E7FBAB6891
:100EB000A268E0609B181A1D9B006260C018311C7C
:100EC00010222AF0B6F9A368E9689800E3681818B8
:100ED000AB689A002AF090F9AB68A268D318A360B7
:100EE00003E0201C291C21F0CEFF024870BDC04643
:100EF0009CC6020074E0020010B5041C102022F011
:100F0000A7FB044B84600360034B43600023C36072
:100F100010BDC0463CE20200932D020038B50B4BD9
:100F2000051C03600C1C081E042800D20420686005
:100F3000AC60800022F08CFB6A68E860121BA400A1
:100F40009200001900212AF074F938BD9CC60200F5
:100F50007FB50D1C161C12282AD004D8052807D0EE
:100F600007282BD058E0031C193B042B41D953E030
:100F70000322002332409A424FD1131C3168284A81
:100F800091424AD1B368AA68981821F095FF041CD1
:100F9000AB68E9689A00C0682AF02EF9A868E3688F
:100FA00080001818B368F1689A002AF025F91EE04D
:100FB000081C111CFFF766FF2B1C2EE0101C03A958
:100FC00000F0A6FE0023984227D0039A9A4200DA46
:100FD0000393039BA868584321F06EFFC368041C69
:100FE0000093E8680421AA68039B24F017FA231CE5
:100FF00013E00C4BB20710D1094A316891420CD171
:10100000B368E9680093AA68F3680AF05FF9064BD1
:10101000002802D1034B00E00023181C04B070BD6F
:101020009CC6020078CD020034CD0200F0B50B1C46
:1010300087B0041C171C0326002A16D10E400DD1C0
:10104000524A0968914209D1191C03AA80680AF022
:1010500003F90398049AE368851A78E003A902204B
:1010600003940493FFF79AFE8DE0042A2DD13142B8
:1010700021D1464A096891421DD18068191C03AAF2
:101080000AF0EAF8002805D1A068E16803AA24F074
:10109000D8F979E0039B0498C01A21F00DFF051CD4
:1010A0008368E1689A00039BC0689B00C9182AF016
:1010B000A3F8281C68E01A1C20680023A16800F02F
:1010C000C1FEE3688000C0585EE00E4056D12F4A52
:1010D0000968914252D1191C03AA80680AF0BCF831
:1010E000BA680398049B85180193ED1A002D22DD40
:1010F000A368E9186368994207D98900E06822F07B
:10110000BDFAA368E060EB186360039AE368A8186F
:101110009100800059181818A3689A1A92002AF0B2
:1011200074F8039BF9689800E3681818BB689A0084
:101130002AF062F81EE0E368800018189200F9684F
:101140002AF05AF8B8680399E368049A40189100A5
:10115000800059181818A3689A1A92002AF055F8B6
:10116000A3686A42E818E368800092001818311CEE
:101170002AF05FF8A3685D19A56004E0201C191C23
:101180003A1C21F0DBFE024807B0F0BD00E202008D
:1011900074E00200002313B5046A00930A05A16BF2
:1011A000024C920C125921F068FF13BDDCC70200FB
:1011B000F0B51C7887B07C2C06D185686D5C002D5D
:1011C00002D09A2D00D0DEE00393231C6B3B0292E9
:1011D0000091071C022B29D884687D686018037869
:1011E000032B00D0ACE004A922F03AF8631998422E
:1011F00000D19EE00378032B00D0A1E005A922F0E6
:101200002FF8039B1B786B2B03D1049B059A134388
:101210000AE06C2B03D1049B059A534004E06D2B2C
:10122000E4D1059B049A13400493DFE76E2C04D0AD
:101230000223221C9A43702A63D1009BBE68F018D7
:101240007B6801930378032B7AD104A922F008F874
:10125000051C019BF3189D426BD0AB78A81C6C78E1
:10126000032B6DD105A921F0FBFF051C372C0ED1F6
:10127000059A1F2A64DC4549049B11418B425FDCBF
:10128000C021090611418B425ADB934009E0392CF9
:1012900009D1059B1F2B01DD1F230593049B059A94
:1012A0001341049328E02F2C03D1049B059A9B182B
:1012B000F7E7302C03D1049B059A9B1AF1E7312CF8
:1012C00009D10498059907F00BFD002838D1059B3A
:1012D000049A5343E5E7332C32D00599352C05D1D8
:1012E00000292DD0049823F08FFB04E0002927D09B
:1012F000049823F099FB0490049B5A005340A8D50E
:101300001EE0752C1CD18368009A98188378447865
:10131000032B15D1023021F0B2FF2F2C08D0302C36
:1013200005D1404243000490584002D508E0C04334
:101330000490009B381C7B60049921F0CEFE22E0D3
:1013400000267B68009A029C9D1A0136E409FCD1B4
:101350002B1C0134DB09FCD1731C1A19381C0099B1
:10136000019321F07EFC071C039B311C1B78029A21
:101370001A330370013021F02CFE019B211CF81858
:101380002A1C21F026FE07B0F0BDC046FFFFFF3F3C
:10139000F0B597B00990C020002540230AAC80002A
:1013A0000F1C161C25706360A56022F05EF9256194
:1013B000E0606561A561E5612762E562A84202D14E
:1013C000BF48C049C0E1331E03D00423022E00D021
:1013D000033B0026BC4A9B000096201CB96B9A5820
:1013E000331C21F04AFE102022F032F91021041C97
:1013F00021F095FB0AADAB68002B00D181E12A7882
:10140000002A00D07DE1013B0C32AB605343EA6817
:10141000AD49D318DA785D689200525803921A6881
:101420009B681202120A0493039B06925B7807934F
:101430000F23079A1A400592002D01D16368049387
:101440003023079A1340102B02D0202B40D0F4E019
:10145000002D03D0002E01D10026CBE7039B6A00AC
:101460009A18059B9D4231D25388190B012916D138
:10147000391C403109781B0502321B0D994221D1DC
:101480000AA8211C21F05EFE0028E5D13B1C403358
:101490001B78062B00D04CE18C488D4954E1059A0D
:1014A0006B1C934206D2049A0AA800920699039AEA
:1014B00021F0E3FD039B6D005D1969880AA8FFF721
:1014C00069FEC9E70135CCE7012DDFD8012691E798
:1014D000002E0BD0039A6B009B5A1B0B032BF3D1EE
:1014E000201C012121F083FB00230370039B6E006D
:1014F0009E191AE073881A0B012A29D13A1C40322E
:101500001278DBB29A4220D1082A07D1B96CF86C64
:10151000FEF72AFF011C201C21F0A5FD002D08D09C
:10152000381C23F031FF01350236059B9D42E1D383
:1015300010E0039B5B787F2BF2D90E9B201C591C7B
:1015400007930E9121F0C9FDEAE7002DBED09DE77B
:101550006B1CA8E700231E1C059A93420CD203992A
:101560005A008A185288110B012903D1D2B2072AD6
:1015700000D901260133EFE7A368049A98180023E5
:101580000793A2686368D318984206D2079B01218B
:101590000133079321F03DFDF3E7039B1B781F2BDD
:1015A00001D02E2B00D10126039B597840230B40FC
:1015B000181C4342434149B25B421E40002900DAF5
:1015C00001260025049B0595D0180895079B9D4290
:1015D0000FD0059A037801320592002B04D0089BA6
:1015E0000133089300230593012121F012FD0135F9
:1015F000ECE7002E02D1089B012B04D0201C05999A
:1016000021F062FB76E0A268049B944663441D1CB3
:10161000079B9E4200D11FE72B78002B06D1A368C1
:10162000201CE91A012221F05DFB04E0281C0121A5
:1016300021F0EFFC051C0136EAE7002E1FD0059BC8
:10164000022B03D10023012D45D13FE7012D00D10D
:101650003CE701232A1C1A403CD0059A032A3AD0C1
:1016600014E73A1C0899403212780905090D8A429C
:1016700017D1002B10D0381C23F086FE0135012332
:10168000079A039913402B405A008A1852880892EF
:10169000120B012AE5D006E00AA8211C21F052FD18
:1016A000ECE70135CBE7049A0AA8009206996B1C77
:1016B000039A21F0E2FC0AA80899FFF76BFD99E66E
:1016C00090F80200E9400300DCC70200F8FA0200CB
:1016D00011410300131C079A691ED20705D5039A0E
:1016E0009288120B012A00D16908012902D1002B2E
:1016F00000D1B1E6201C0499069A039BFFF758FD20
:10170000AAE62B78002B00D05AE63B1C40331E780B
:10171000002E00D0BAE66368002B00D1B6E62B6934
:10172000201C591C21F0D9FCA3686B62EB69AB62E9
:101730000FE0022B02D11448144905E00B3B14487A
:101740001449012B00D9144926F0D9FB0023061CAB
:1017500013930D9821F0A3FF002E0BD0301C396895
:10176000BA6B00230FF07EFE381C23F09BFD301C6B
:10177000FEF751FD381C23F095FD099A13AB13CBEE
:1017800013C2099817B0F0BDF8FA02002341030014
:1017900078FD0200574103007E41030010B5041C90
:1017A000102021F055FF044B84600360034B43601D
:1017B0000023C36010BDC0463CE20200713302004A
:1017C00013B5041C081C01A90AF06CFB002C07D0FF
:1017D000012C0BD1019922F033FB4000204306E09D
:1017E000019B0348002B02D1024800E0002016BDF7
:1017F00034CD020078CD0200F0B585B0041C081C81
:1018000003A9151C0AF04EFB061C002D06D1201C56
:101810003549039A331C25F0CCF963E0011C002202
:10182000039BC3180093009B99420ED20B78272B81
:1018300004D0223B58424341DBB201E000230122A5
:101840000131002BEFD0272703E02727002A00D003
:10185000053F264D201C291C3A1C25F0AAF90195AC
:10186000009B9E4239D2301C22F0B9FA051C301C74
:1018700022F0D0FA061CBD4203D1201C1C493A1CA0
:1018800028E05C2D02D1201C1A4914E02B1C203BBF
:101890005E2B02D8201C01991BE00A2D02D1201CCE
:1018A000154908E00D2D02D1201C144903E0092D33
:1018B00004D1201C124925F0B0F8D1E7FF2D02D841
:1018C000201C104905E0104B201C10499D4200D9F6
:1018D0000F492A1C25F06DF9C2E7201C01993A1C1A
:1018E00025F067F905B0F0BD8D4103009341030079
:1018F0009241030096410300994103009C4103007B
:101900009F410300A2410300FFFF0000A941030023
:10191000B0410300F7B51F1C08AB0C1C161C1D784A
:10192000FB0702D57F1001970EE0381C01A900F0DB
:10193000EFF9002808D1381C21F04DFD1B49021C8D
:101940001B480FF021FD0DE0019BA019002B17DAB9
:101950000138A04208D20193002D25D1154816491F
:101960000FF012FDFEF757FC3F21027801388A4341
:10197000803A511E8A419B18002BEAD1013014E0B5
:10198000002B11D0844203D30193002D0DD1E5E744
:101990003F2122788A43802A01D10134F8E7002BC5
:1019A00002D00134013BEDE7201CFEBDB74103002E
:1019B00000FD02006CF90200DF410300F0B587B0C2
:1019C000061C0D1C171C00F07BF802A9041C301C1F
:1019D0000AF068FA061C042F4FD1AB0735D1284B0B
:1019E0002A689A4231D105AB281C03A904AA23F026
:1019F00006FD059B234FBB4204D0032B02D0224897
:101A000007F064F9039B351CBB4207D00122201C60
:101A10000092311C029AFFF77DFF051C049BBB421C
:101A200008D00122201C0092311C029AFFF772FF9D
:101A3000021C01E0029BF2180E20AA421ED3521B88
:101A4000201C291C23F0F5FE18E00023311C009314
:101A5000029A2B1C201CFFF75DFF0278012153B274
:101A6000002B06DA402301211A4202D001315B0823
:101A7000FAE701220AF0D8F900E0002007B0F0BD33
:101A800000E2020074E002009B40030013B5041C56
:101A9000A06806F0BBFB019000280ED06368074ADF
:101AA000934205D0181C0121002201AB06F066FA12
:101AB00000F030FA0028EBD0019816BD74E0020067
:101AC000084BC2070BD4084A084B0240062A06D02E
:101AD00003230340022B01D1054B00E00368181CCF
:101AE0007047C04630D30200070080FF80CA020062
:101AF0000CD00200F8B50D1C041C161C01F0B8FE39
:101B0000281CFFF7DDFF8768031C201C002F03D073
:101B1000291C321CB84703E002495A6825F049F8ED
:101B2000F8BDC046F941030008B5031C0A1C024871
:101B3000191CFFF7DFFF08BD10F00200F7B5051C08
:101B4000081C0E1C26F0DFF900282AD0301C69463C
:101B500001AA0FF0BFFC009B002B22D0281C1649C5
:101B600024F05BFF009C154BE71EE418A400002F37
:101B700017DB019A281C13195B681259104925F0CC
:101B800018F8019B281C1B199A68002A03D10D49DB
:101B900024F043FF02E00C4925F00BF8033F0C3C16
:101BA000E5E7281C311C0222FFF7A4FF281C054989
:101BB00024F033FFF7BDC046FE410300FDFFFF3FA9
:101BC000224203003F4B03003742030010B5041CC0
:101BD000FFF776FF054B0069984203D0431E9841FA
:101BE000C0B202E0201C23F07FFD10BDF9B8000058
:101BF00038B5051C0C1C01208D4241D0214B9D4263
:101C000001D100203CE09942FBD001231D4204D0C9
:101C10001942F6D12B1C0D1C1C1C2A1C1A4B1A40F5
:101C2000062A05D0AA0711D1184A296891420DD178
:101C30002340062B05D0A307E3D1144B22689A4218
:101C4000DFD1281C211C0AF057FD19E02340062B88
:101C5000D7D0A30703D10D4B22689A42D1D0281CBC
:101C6000FFF72EFF8369002BCBD01B20291C221CE1
:101C700098470028C5D0064BC01A42424241D0B214
:101C800038BDC04674E00200070080FF80CA020031
:101C900034CD020008B5104B984219D00F4A0123E9
:101CA000904217D0184201D0184114E0830706D1A2
:101CB0000B4B02689A4202D103F014F90BE021F0B9
:101CC0008AFB0849021C08480FF05EFBFEF7A3FAE6
:101CD000002000E0181C08BD78CD020034CD0200C1
:101CE00030D302004042030000FD020008B5C307E4
:101CF00005D4830706D1054B02689A4202D122F02F
:101D000036F801E0FFF7C6FF08BDC04630D3020039
:101D100038B50F4B0124984202D100230B6014E028
:101D20000C4B984201D10C600FE0031C234002D001
:101D30004010086009E0820708D1074A056895420B
:101D400004D10D1C03F0CEF82860231C181C38BDEC
:101D500078CD020034CD020030D3020008B5184B14
:101D6000984228D0174B984227D0C30703D540107C
:101D700018F060FF23E00323184206D1124A0168DD
:101D8000914202D121F0FCFF19E00340022B09D15E
:101D90000E4B0340062B05D0FF23DB05C0180323A1
:101DA00098430CE021F017FB0949021C09480FF089
:101DB000EBFAFEF730FA002001E0FE20800508BDB6
:101DC00078CD020034CD020030D30200070080FF3E
:101DD0005842030000FD020010B583070CD10368D0
:101DE0000A4CA34202D123F0C7F80EE0084CA342EC
:101DF00002D121F09CF808E021F0EDFA0549021C1F
:101E000005480FF0C1FAFEF706FA10BDBCDC02006F
:101E10009CC602007242030000FD020013B50C1CB8
:101E200001A9FFF7D9FF019BA34206D00349221C59
:101E300003480FF0A9FAFEF7EEF913BD954203002F
:101E400010F80200F7B5051C0C1C171C1E1CD3074C
:101E500002D55710019710E0101C01A9FFF758FF99
:101E600000280AD1381C6C6821F0B5FA1349031C0C
:101E7000221C13480FF088FA1BE0019B002B08DAA4
:101E80001B190193002E0AD0002B04DA00230193C2
:101E900011E0002E03D0A3420DD901940BE0019B69
:101EA000002B01DBA34206D3064807496A680FF0FE
:101EB0006BFAFEF7B0F90198FEBDC046C2420300BE
:101EC00000FD02006CF90200E642030010B5041C9C
:101ED000830710D10D4B02689A420CD10C4B034082
:101EE000062B03D1C00820F0C5FD00E08068012367
:101EF0004000184308E0201CFFF7E2FD4369181E6C
:101F000002D00120211C984710BDC04648EF0200B6
:101F1000070080FF174A70B50023904227D0164C67
:101F2000A04201D1012322E0144A002390421ED096
:101F3000012606409E4201D0401015E0051CFFF727
:101F4000BFFD4369002B09D0301C291C984700288D
:101F500004D0031B58424341DBB208E0281CFFF7C2
:101F6000B5FF0028DED00138431E9841C3B2181CCB
:101F700070BDC04678CD020034CD020074E002008E
:101F800010B5041CFFF7A2FF002809D1201C21F086
:101F900022FA0449021C04480FF0F6F9FEF73BF957
:101FA00010BDC046FC42030000FD020070B5041CD9
:101FB0000D1C161CFFF784FD036A002B05D0201CA6
:101FC000291C321C984700281AD10E4D201C002EC7
:101FD00005D121F000FA0C49021C281C06E0042E51
:101FE00008D121F0F8F9021C281C08490FF0CCF99F
:101FF000FEF711F921F0EFF90549021C281CF5E75D
:1020000070BDC04600FD02001D43030048430300AD
:102010006943030008B521F0F4F9002805D103490C
:10202000034825F06CFFFEF7F6F808BD9643030061
:1020300000FD0200F0B585B000AF7A601D1C7B6822
:10204000C26BCB18061C0C1CFB60934204D02B49BE
:102050002B480FF099F93BE0FB68994245D09A0074
:10206000131C69460E33DB08DB00CB1A9D46181C97
:102070000021BB6029F0DDF80023A200934204D0C8
:10208000E858B968C8500433F8E7F9687A688C46AC
:1020900062447A60ED1803E06A6802341A60083519
:1020A0007B689C4220D2286809F0E0FE0021021CD7
:1020B000F36B3B603B68994206D08B00F018006CD4
:1020C000904207D1013107D10D480E490FF05CF95C
:1020D000FEF7A1F80131EDE7B968CB1819680029BE
:1020E000DAD007480849F1E7BD68F868291C07F00D
:1020F000E9FDBD46066005B0F0BDC046803F030067
:1021000000FD0200BB430300DC43030038B50C1C98
:10211000051C0B6805495A6824F04BFD2168281CF2
:102120004031221C10F0A6F838BDC0465B83030086
:10213000F0B585B00C1C032509F098FE2540071C5E
:10214000002D03D11E4B22689A4205D01D491E481E
:1021500025F0D5FEFEF75FF8201C02A903AA20F0A7
:10216000E6FE029E039B301C10308000019321F09C
:102170006FFA041C291C3C2229F05BF8134B6760A2
:102180002360134BE663A360124BE360124B636161
:10219000124BA361124BE361124B2362124B636239
:1021A000124B6363B54208D0019BAF00D85909F0C8
:1021B0005DFEE71938640135F4E7201C05B0F0BD79
:1021C0009CC602000B44030000FD02006CEB020001
:1021D0000D21000035200000459C0000099D0000F5
:1021E000F1210000019E0000A19C0000D4CB020060
:1021F000136870B5002B11D10568EE6BB34213D094
:102200009C002C19246C8C4201D00133F6E7591C38
:102210000AD002339B001B58136005E003490448B1
:1022200025F06DFEFDF7F7FF70BDC04619440300B1
:1022300034FB0200F8B5214D2E687368012B3BD9A1
:10224000B1685C1E0A5D0A2A36D1002C03DD621ECD
:10225000885C0A2801D1221C05E0141CF5E7885C83
:10226000202802D101329A42F9D3002C0BDD501CF8
:10227000984208D1601E002805D001380F5C0A2F53
:102280001AD0202FF7D0CB18023B1B78141B3A3BF7
:1022900059425941A4086418013C0DD3084F301C21
:1022A000391C042220F01AFC381C042111F00CFE09
:1022B0002B6904332B61EFE7F8BDC04644010020D1
:1022C000CAA7030008B503480021202228F0B1FF67
:1022D00008BDC046D02E002008B5084B42681860E3
:1022E0000020986018750138D860081C5A601A617F
:1022F000996126F0E2FAFFF79DFF08BD4401002036
:10230000F8B50378002B1ED00F4D041CA86C0028D4
:1023100004D0211C29F088F8002814D0201C29F0B2
:102320008DF8471C381C21F0A0F9061E0BD03A1C72
:10233000211C28F061FF054B054A1968043B996090
:102340009342FAD1AE64F8BD882E0020E82E00201A
:10235000CC2E0020F0B5BD4B051C18689E68426865
:1023600085B001921C1C002E00D0C5E06B1E042B12
:102370001BD820F01CFC6368984200D163E1012D5A
:1023800000D106E1022D0AD00FE09A60412D37D02E
:10239000422D2ED0432D19D0442D00D0E8E02369E2
:1023A0006268934200D91CE158E1032D00D14AE153
:1023B000042D06D1206821694368994200D3E0E0EA
:1023C000FCE0052D00D1EFE0062D06D123685D6805
:1023D0002369AB42AD416D4228E10B2D07D1019B32
:1023E00022692068991A20F06FFC002504E10E2D67
:1023F00004D1E368002B00DBA1E02FE1102D04D114
:10240000E368062B00DC8DE028E1152D0BD1236954
:10241000626820689A1A616820F064FC2369626827
:1024200000259E1A1DE10D2D0AD1894826F045FA96
:10243000206820F0EEFB6368C018FFF761FF14E12D
:102440001B2D02D10123A36008E1082D01D07F2DAF
:102450001BD121696268914200D8FFE0131C2068FB
:102460009D1A8B4205D08568ED5C202D06D1013385
:10247000F6E70126032D02DD033600E00126891B65
:10248000321C20F02FFC0127ADE0092D28D1236854
:1024900061689868236940186E4A591A03AB0EF0B8
:1024A000D7FD061E00D1D9E00025431C0BD1A06941
:1024B00026F003FA23686168986823694018591A5E
:1024C00011F002FD98E023692068E918039B0135AB
:1024D0005A1C03921A7820F0E5FBB542F3D18BE049
:1024E0002B1C203B5E2B00D9B8E02A1C20682169F8
:1024F00020F0E1FB01257FE00022012E07D14F2DC6
:1025000003D05B2D6BD1023269E0042267E0022E1A
:1025100033D1291C3039092900D936E703221D752A
:102520009A609BE05A1C4C4913339B005958002970
:1025300000D193E020686368E26043600FE02068A8
:10254000013BE36062684368991A20F0BDFBE368D1
:10255000002B06DB1233404A9B002068995820F07C
:1025600074FB63682269D61A22685568ED1A78E010
:10257000482D0ED0462D71D116E0032E29D17E2D87
:1025800002D000252F1C1EE01B7D312B01D0372BE4
:1025900005D10025236962682F1C9E1A14E01A1CBD
:1025A000FB21343A0A4206D1002723683E1C5D68AD
:1025B0002369ED1A08E0332BE3D1FBE6012220F07A
:1025C00091FB002501272E1C0023A3609E420BDCFB
:1025D00010E0042E03D1462DE6D0482DD9D09A60C4
:1025E0003CE0002701260025301C11F091FC2369F6
:1025F0009E1B2661002F19D02368019A5B689342C5
:1026000004D2131C2269981A11F092FC22682369E3
:102610009168C8185168C91A11F056FC23685868A7
:102620002369C01A401B11F073FC08E0002D15DD72
:102630002368291C98682369C01811F045FC236998
:10264000ED1825610AE02E1C0FE0C0464401002071
:102650003E4B030010F00200882E00200126764237
:1026600003E00127002EBFDCC6E7301C05B0F0BD3B
:10267000F7B51F1C13780E1C0A3BD9B2051C1F4866
:102680000F2904D850781B02184320F0F8F91524BC
:10269000037801931A4B01331522121B009219780B
:1026A000019A91421CD1427859788A4218D1827895
:1026B0009978914214D100290FD1009B9A00104BB8
:1026C000D45CBC4217D93B1C0E480F49321C0EF09B
:1026D0005BFEAB68002418600DE0C1780029ECD0E7
:1026E000013C0433002CD7D106480849321C0EF0B7
:1026F0004BFEAB681860201CFEBDC046BF740300D3
:102700002846030078FD020093440300AC44030014
:10271000F0B5177885B0051C0E1C992F47D1101CF9
:1027200001A920F0D6FD019B021E9A423FD00378FA
:10273000191C0A390F2908D80F23281C311CFFF750
:1027400097FF01238340181C39E0AE2B2FD120F0D6
:10275000BBFD041C20F0B3FD02900378B22B26D100
:10276000221CA33B311C281CFFF782FF012403A974
:102770008440029820F0ADFD039B0290984203D064
:1027800002A8391C20F0B4FD029A039B9A420CD097
:10279000311C0F23281CFFF76BFF01238340029895
:1027A0001C4320F08CFD0290EEE7201C07E005485A
:1027B0000549321C0EF0E8FDAB681860002005B03A
:1027C000F0BDC04678FD0200C4440300F0B585B0FA
:1027D000041C0D1C101C03A91E1C20F056FD071E16
:1027E00008D10E480E492A1C0EF0CEFDA3681860D1
:1027F0003B1C0FE00398FFF779FA021C031CB2435D
:1028000008D00096054807492A1C0EF0BDFDA368B4
:1028100018600023181C05B0F0BDC04678FD02000A
:10282000DF440300F744030038B513780D1C0A3B5E
:10283000D9B2041C0F2908D92A1C124812490EF0DB
:10284000A3FDA368002518601AE052781B02134309
:10285000C2680020904208D02569810049599942F8
:1028600001D1051C0CE00130F4E722880025042A80
:1028700006D11A1C034805490EF086FDA3681860AE
:10288000281C38BD78FD02002345030038450300AD
:10289000F0B587B0041C0F1C081C04A91E1C019273
:1028A00020F0F2F8019B051C002B13D1322F03D12D
:1028B000BF2160690902EAE1482F08D0019BBE48A8
:1028C000BE492A1C0EF060FDA3681860E1E1606952
:1028D000BB49DCE1019B012B00D08BE0412F09D1EA
:1028E000291C201C3268FFF79FFF011C606923F040
:1028F000AAF90AE0422F12D1291C201C3268FFF7E6
:1029000093FF011C606923F0F5F9002800D0C0E1B5
:10291000A948AC49A46825F0F2FA2060B9E1432F38
:1029200009D1291C201C32680F23FFF7A1FE8E213C
:10293000C000C901A9E10378622B33D1049B032BAA
:1029400007D0052B2ED1C3785F2B2BD103796E2BAB
:1029500028D101279C4A6978531C7F422B32187872
:10296000884206D1A87884465878844501D1581EFB
:10297000077803339342F2D17B1C9FD03268201C2E
:10298000291CFFF751FF049B021C00266069052BE0
:1029900003D12B79773B5E425E41331C391C23F017
:1029A0006EF9B2E7462F02D1606988496FE1472F7F
:1029B00002D1606986496AE1442F0BD1291C201C91
:1029C0003268FFF7A5FEFF231B02B421184200D096
:1029D00074E70DE0452F00D070E7201C291C3268F9
:1029E000FFF796FEFF231B02184200D066E7BC21CA
:1029F00009024AE1019B022B00D0D4E073681B78E6
:102A00000A3B0F2B49D8332F12D1291C3268201CC6
:102A10000F23FFF72DFE291C071C7268201C0F23B3
:102A2000FFF726FE391C021C606923F0F7F830E13D
:102A300000230293342F1BD18027FF01291C326809
:102A4000201C0723FFF714FE291C01907268201C2C
:102A50000723FFF70DFE391C031C019A606923F060
:102A6000D6F816E1029B013302930F2B00D125E724
:102A7000029B281C9F00574B791C5918032228F0F1
:102A8000E4FC0028EED1EB78002BEBD1514BFF5C3E
:102A900080233F01DB011F43D0E7332F01D1802783
:102AA00002E0352F13D1A027291C32680723201CF0
:102AB000FFF7DEFD291C0190FF23201C7268FFF741
:102AC00085FE019BBF01074319023943DEE0362F23
:102AD00001D1C027E8E7372F01D1E027E4E7002341
:102AE0003D4A990050184088874258D18B5A201C83
:102AF000029332680723291CFFF7BAFD766803901A
:102B00003378982B28D1301C20F01EFC002823D1CC
:102B1000301C20F0D9FB03789A2B1DD105A920F099
:102B2000D8FB0599071C20F0BEFB022814D1381CE5
:102B300020F0C5FB3A1C0723061C291C201CFFF7AC
:102B400097FD029B071CDB040ED5201C291C321CA0
:102B50001F23FFF73BFE17E0174820492A1C0EF001
:102B600013FCA3681860A9E6029B201CDB0B291C40
:102B7000321C002B04D03E23FFF728FE400803E060
:102B80007C23FFF723FE80080399029BFF00194373
:102B90000F43F8218001C9000840391C75E001335A
:102BA000062B9DD18AE6019B032B00D086E6382FA9
:102BB00016D1002718E0C04678FD02004F450300FB
:102BC00030BF0000AF4503006944030072B6000047
:102BD00062B600002D440300262403008445030050
:102BE000392F1DD180273F01291C32680723201C63
:102BF000FFF73EFD291C019072680723201CFFF798
:102C000037FD291C02901F23201CB268FFF7DEFD50
:102C10000199029B394380010143DB00194335E0F0
:102C20003A2F02D180277F01DEE7362F01D1C0275E
:102C300003E0372F00D041E6D027291C3268072354
:102C4000201CFFF715FD726801900723201C291C2A
:102C5000FFF70EFDB2687F01137802900A3B0F2B3D
:102C600005D8201C291C0723FFF702FD07E080235D
:102C7000DB001F43201C291C0723FFF7A7FD029B35
:102C80008001D900019B194339430143606922F057
:102C900087FF07B0F0BDC046F7B5061C0D1C002429
:102CA0000192019B9D4228D0631C0093052B03D108
:102CB000B4681348134907E028780A38C3B20F2BC9
:102CC00007D9B4680E48104925F019F92060002092
:102CD00014E06B78000218431FF0D1FE0235071C88
:102CE00028F0ACFB0228ECD13B78722BE9D17B7841
:102CF0003034A342E5D1009CD3E7201CFEBDC04682
:102D000078FD0200C3450300F645030030B50724F3
:102D100002784160A243053C224302707F22039C5B
:102D200005882240D400034A83602A40224302805F
:102D300030BDC04607FCFFFF10B5072403782140D3
:102D4000A34319437F230170049904880B40D900E1
:102D5000084B426023400B430380039B04685B05E0
:102D6000D90A054B23400B430360029B8360059BFC
:102D7000C36010BD07FCFFFFFF03E0FFC3790248FB
:102D8000002B00D10148704734CD020078CD0200FD
:102D900008B501F03FFA014808BDC04674E00200E2
:102DA00008B5086801F036FA004808BD74E0020072
:102DB00073B50D1C022823D10126486801A909F02A
:102DC000EBFC7642341C019BC31898421BD001785F
:102DD000722901D0772905D1621C0ED172394C427B
:102DE0004C4108E0622901D0742906D1721C04D13B
:102DF00074394E424E410130E7E70E480E4913E068
:102E000001267642341C01A9286809F0C5FC7342EA
:102E1000734162426241DBB2D2B2019901F04EFBD2
:102E2000002805D10548064925F069F8FDF7F3F9B2
:102E300076BDC04610F802007C460300C0F90200CF
:102E400089460300F8B5061C10200D1C141C1F1C1D
:102E500020F00BFC011E09D02C190F604D608D6015
:102E6000CC60301C024A034B22F030FAF8BDC04659
:102E7000BF350200D53502000022114B1A60031C39
:102E8000104A1233FF33811800225A701A7004332B
:102E90008B42F9D1011C031C09310833FF31002298
:102EA0001A709A705A70DA7004338B42F7D1C323C8
:102EB0007F329B00C254044A044B1A607047C046DC
:102EC00060010020110300002948030004000020D5
:102ED0000023F7B5071C1C1CA200BA18FF32517C56
:102EE0007F2951D0927C651C9B18DBB2EF2B2AD92D
:102EF000EBB20193C1239B00FE187D23351C009388
:102F0000009B019A934209DB281D291C042228F00A
:102F100073F9009B043D013B0093F1E7002395000A
:102F20007D19FF356B74AB74EB742B757D25023402
:102F3000E4B2A5421CDB301D311C042228F05CF9F0
:102F4000013D043EF5E77D291BD8104A525CD207AB
:102F500017D5C1237D269B00ECB2FD18A64207DBE6
:102F6000281D291C042228F047F9013E043DF5E7FD
:102F70007E23A200BA18FF32537400239374D374D3
:102F800013750134E4B2A7E7F7BDC046DB47030081
:102F9000012110B54B1EDBB29B00C318FF335A7CD6
:102FA0007F2A15D00B4CA25C520602D40131C9B263
:102FB000F0E75A7D7F2AF9D0A25C7F2AF6D9DA7D24
:102FC000002AF3D054B2002CF0DB0132DA74EDE7C2
:102FD00010BDC0463A470300031CF7B54B4A1333F4
:102FE000FF3382180021197004339342FAD10B1C6D
:102FF0005AB2002A01DA464A7DE0021CFC32176907
:10300000B94205D37F2244339B001A5401207CE04F
:10301000D668755C602D01D9203DEDB24C1CE4B240
:10302000BC4223D0325D0092602A02D9203AD2B24B
:103030000092232D1ED1009A303A092A01D9354A2F
:1030400059E00231CCB2BC4204D3FF2AF7D8427017
:10305000211CCDE7315D0D1C303D092DF5D80A2529
:103060006A430134303A5218E4B2ECE7232DE6D03B
:10307000002200920026F7B20197274FF25DAA4284
:1030800014D1264AB25C94462A2A0FD0009A94455D
:103090000CD16C469A0024798218FF32547444781B
:1030A000013302311475DBB2CCB2D1E70136512EB7
:1030B000E1D10022194ED1B2965D2A2E0BD1BE5C11
:1030C000AE4208D19A008218FF3251744178013320
:1030D0001175DBB2BCE70132512AEBD1493A1049F4
:1030E000895CA94204D0002A04D0013AD2B2F6E7A2
:1030F000002A04D10B4A0C4B00201A6005E0191C71
:103100004331890041188A70A2E7FEBD1203000016
:103110002C4803003E48030098460300E94603009C
:103120000B4903004C480300040000201130FF301D
:1031300003787F2B0AD002228256002A01DC044A3F
:1031400000E0044AD35C43700430F1E77047C046A6
:10315000BB4803008B4703000023F0B589B0019002
:103160000093009B019A9B00D3180393FF335E7C6E
:103170007F2E00D1C6E064498A5D900702D4009B8F
:103180000133BDE0D2074BD4009A7D25571C721C39
:10319000D2B204925D4AFFB2921952780592DA7C5B
:1031A0001B7D0692C122920094460793019B6344C3
:1031B0001C1C0293BD4207DB201D211C042228F0A9
:1031C0001BF8013D043CF5E7019BBF00DF196B468E
:1031D0001B7CFF377B746B461B7DB51CBB746B4639
:1031E0001B7EEDB2FB746B461B7F3B75009B9C1CEA
:1031F000464BE4B29E19B7787D26039BFF33DA7CF9
:103200001B7D03920493A6426CDB029B0422181DD3
:10321000191C27F0F1FF029B013E043B0293F2E7E9
:10322000009A0132D2B2131C019844339B001B5CFC
:10323000002BF6D0009A571C7F2B07D0CA5C1207D0
:1032400002D4243B012B01D8FBB289E7731CDBB20B
:1032500004932E4B7D259B195B78FFB20593039B4E
:10326000FF33DA7C1B7D0692C122920094460793BD
:10327000019B63441C1C0293BD4207DB201D211CE3
:10328000042227F0B9FF013D043CF5E7019BBF0094
:10329000DF196B461B7CFF377B746B461B7DB51CAF
:1032A000BB746B461B7EEDB2FB746B461B7F3B759C
:1032B000009B9C1C154BE4B29E19B7787D26039B9E
:1032C000FF33DA7C1B7D03920493A6420ADB029B48
:1032D0000422181D191C27F08FFF029B013E043B9E
:1032E0000293F2E7019BA4001C196B46FF3465743E
:1032F000A7741B7BE3746B461B7C2375009B033315
:10330000DBB22DE709B0F0BD3A470300BB4803002C
:10331000F0B5002587B00190019AAB00D318029355
:10332000FF335A7C002A00D12EE17F2A00D155E1DB
:10333000AB496C1C895CC8062AD5DA7C7D260492D0
:10334000202211404A424A4115218A1A0392C12281
:103350001B7D92000593019BE7B29C18BE4207DBE0
:10336000201D211C042227F047FF013E043CF5E705
:10337000019BBF00DF196B461B7BFF377B7400236B
:10338000BB746B461B7CFB746B461B7D3B75ADE0D1
:1033900018264E2A02D04F2A23D11B26DA7C7D27FD
:1033A00002920D225A74C1221B7D92000393019B4D
:1033B000E4B29D18A74207DB281D291C042227F030
:1033C0001BFF013F043DF5E7019AA300D31800223B
:1033D000FF339A746A46127A5E74DA746A46127B14
:1033E000B1E0502A01D11C26D8E7C90933D0D97CD5
:1033F000002930D0E4B2211C019844318900095CD5
:10340000002928D1A91CC9B20391890041180F1CB9
:10341000FF37787C7F281ED0714E305CC0091AD0EF
:10342000F97C002917D0C1227D26019B92009D18AE
:10343000039B9E4207DB281D291C042227F0DCFE8B
:10344000013E043DF4E71F237B740023BB74FB742F
:103450003B75251C60E76C1C172A12D1597B6A1E2C
:10346000D2B2452901D11B3902E0392902D10D39E7
:1034700059738DE05A4A525CD20900D1ACE0122255
:10348000A9E0182A07D15A7B55498A5C7F2A00D8BF
:10349000A2E013229FE0202A05D15A7B3C2A00D0CB
:1034A0009AE0262297E0482A09D15A7D7F2A03D044
:1034B0004B498A5C92060FD44B225A740CE03C2A8A
:1034C0000AD15A7D7F2A00D186E045498A5C92065E
:1034D00000D581E03F227EE05A7C4149895CC907E2
:1034E00004D5597B20294BD10C3A74E0029B6C1C0B
:1034F000FF335A7C352A06D15A7B3A498A5C5207F7
:103500006AD5102267E02A2A1FD1C1227D26DF7CDE
:103510001B7D92000293019BE4B29D18A64207DB3B
:10352000281D291C042227F067FE013E043DF5E713
:10353000019AA300D3182B22FF335A7400229A74E5
:103540006A46DF74127A1A7583E72C2A18D1C122D1
:103550007D26DF7C1B7D92000293019BE4B29D18C7
:10356000A64207DB281D291C042227F045FE013E48
:10357000043DF5E7019AA300D318FF332D22DCE7C1
:10358000452A04D0392A02D00135ECB261E72A1C61
:10359000111C019843318900114B095C6C1C595C6A
:1035A0007F2919D901320199D2B292008A18FF32CB
:1035B000517C002906D05B5C7F2B0DD9D37C002B7E
:1035C00006D009E0527D7F2A06D09B5CDB0903D040
:1035D0001E22029BFF335A74E4B23AE707B0F0BDF3
:1035E0003A470300DB470300F7B501214C1EE4B264
:1035F000231C44339B001B5C7F2B2CD0554DEB5C74
:10360000DB0702D40131C9B2F0E7231C013BDBB276
:10361000002B21D01A1C44329200125C7F2A03D066
:103620004D4EB25C7F2AF1D99A008218FF32567C47
:103630007F2E0BD0AF5DBF0603D5474FBE5D76072B
:1036400004D5967C77080136F61996740133DBB2FF
:10365000A342E9D1D6E700239A008218FF32517CB9
:103660007F2976D03C4D6E5CF40933D04127591C3C
:10367000C9B28C000419FF34667C0194BC467F2ECD
:1036800001D0AF5DBC464024AF5D27420FD1123E52
:10369000012E01D90B1CDFE70233DBB244339B0060
:1036A0001B5CEB5C2342F5D0937C013B08E0634656
:1036B0005B0707D46346DB07ECD5937CDC081B1B58
:1036C0009374E7E7019B9B7B5A1C9B08D318019AD4
:1036D0009373DFE71F4C645C21070FD50133D9B228
:1036E0008B00C318FF335A7C7F2AD3D0AA5C920781
:1036F000D0D506229A74013A9A73CBE702210E4282
:103700001BD01C1C0134E4B2211C44318900095C2B
:103710000029F7D001337F2919D00F4D695C890743
:1037200015D5A4000419FF34A17C49080131A17406
:10373000947C64080134947409E0E40606D5547B53
:103740002C5D0C4202D0917C023991740133D9B2C4
:10375000A0E7F7BDDB4703003A47030070B5041C40
:10376000FFF78AFB201CFFF737FC231C0022FC33E9
:10377000011EDA601A61914244D0261C224D113696
:103780002B68FF36934203D02048311C02F07CF8AE
:10379000201CFFF7BDFD201CFFF7FAFB201CFFF7E4
:1037A000C5FC201CFFF720FF201CFFF7D5FCC4221E
:1037B000331C9200A1181A78502A06D97F2A07D004
:1037C000134A144B00211A601CE004338B42F2D1DF
:1037D0002B68002B02D010481EF0BCF9201CFFF70C
:1037E00077FB2B68002B03D00C48311C02F04CF8FF
:1037F000201C1FF0FFFE074B0949186827F014FE34
:1038000041424141081C70BD6C0100206348030027
:10381000724803000400002098480300A8480300F1
:1038200029480300034B82B001AA98331A6002B002
:103830007047C046882E0020034B82B098331B6827
:1038400001A8181A02B07047882E0020014B9C3343
:1038500018607047882E002008B50349034824F0FB
:1038600047FBFCF7D8FCC046260900004CF80200D4
:10387000064B07B51A1C9C33983212681B6801A9C5
:10388000521A9A4201D3FFF7E7FF07BD882E0020A6
:1038900008B50B790349002B00D1034923F0BDF88B
:1038A00008BDC0466B2903006329030037B51D1C02
:1038B0000023081C00930C1C111C1A1C0133FCF77C
:1038C00093FE064B002C06D02868FEF723FB044B22
:1038D000002800D1014B181C3EBDC04678CD020027
:1038E00034CD020010B50B1C041C002906D0054A7B
:1038F000096802609A6B00230DF0B4FD201CFCF7F0
:103900008AFCC04678FD0200F0B5041C87B0039223
:1039100002936718002A0ED0023A222A0BD93D4999
:103920003D4824F0ECFAFCF776FC207802F06AF9C6
:10393000002803D00134BC42F7D30AE023782B2BB4
:1039400001D1013405E0061C2D2B03D101340126E1
:1039500000E00026391B201C03AA1FF0FDFA2318E3
:103960001D1C00240093BD4210D22B78181C01931B
:1039700002F060F9039B002806D0019A2F3A9A4280
:1039800002DC019B303B0DE0102B03D0002E19D040
:10399000644217E02023019A13431A1C613A052A56
:1039A000F4D8573B201C0399019305F099F900289E
:1039B0001AD1039B5C43019B1C196300634013D421
:1039C0000135D0E7012364001C43009B9D4216D0C3
:1039D000BD4206D2287802F015F900280FD0013533
:1039E000F6E7BD4213D00AE0009B05A80593F91A3B
:1039F000321C039B20F0A4F9059D041CE5E7074950
:103A00000548039A0DF0C0FC0299FFF76BFF201CDC
:103A100007B0F0BD1449030010F802003749030055
:103A2000F0B5041C8BB00993431808920193019BD5
:103A30009C4200D30EE1207802F0E4F8002801D087
:103A40000134F4E723782B2B02D10134049005E0F4
:103A500004902D2B0ED12C3B01340493019B9C42EE
:103A600008D3824B002706930023251C07973E1C92
:103A7000039356E0202322781A43692A2ED1019914
:103A8000A21C914200D8BEE062781A436E2A00D090
:103A9000B9E0A2781A43662A00D0B4E0E21DE51C22
:103AA000914200D8A8E0E2781A43692A00D0A3E046
:103AB00022791A436E2A00D09EE062791A43692A5D
:103AC00000D099E0A2791A43742A00D094E0E279F8
:103AD0001343792B00D08FE005358DE06E2AC0D1DD
:103AE0000199A21C914200D88DE062781A43612AA4
:103AF00000D088E0A27813436E2B00D083E0E51C51
:103B000000265B4F7BE06B1C02932B781A1C303A2B
:103B10000592092A30D8022E07D10A237B43D718F1
:103B2000029D019B9D42EED354E0012E15D10598D4
:103B300017F0C8F8069916F0ADFD011C039816F0B1
:103B40003BFA0390069818F0F1FE4A4A4A4B18F0E7
:103B500067F818F03FFF0690E2E74849039816F02F
:103B600099FD051C059817F0ADF8011C281C16F0EE
:103B700023FA00260390D3E7002E02D12E2B02D188
:103B800026E0022E19D020221A43652A15D1029B65
:103B9000019A93420BD26B782B2B02D1AB1C029370
:103BA00005E02D2B03D1AB1C029301230793029B4D
:103BB000019A934247D00226B2E70026089AB24201
:103BC00009D0202213436A2B05D1029D013602E061
:103BD0000126A5E70026079B002B00D07F42381C5A
:103BE00017F028F8011C254819F028FF011C03983C
:103BF00016F050FD071C02E0FF270026FF05049B7E
:103C0000002B09D005E0049B002B1CD0251C0026AE
:103C1000002780231B06FF18A54214D0019B9D425C
:103C200006D2287801F0EEFF00280CD00135F5E728
:103C3000019B9D4207D1002E02D1099B002B0CD085
:103C40000F48104901E00E480F4924F058F9109927
:103C5000FFF748FE0023049303E7032302209F435A
:103C60000A4B0743F8180BB0F0BDC046CDCCCC3D95
:103C70000000C07F9A9999999999B93F0000204115
:103C800010F802005F4903007C49030000008080B7
:103C900038B5051C0C200C1C1FF0DAFC024B4560EB
:103CA0000360846038BDC04680CD020010B5041C9E
:103CB0000C201FF0CDFC034B4460036001235B42EA
:103CC000836010BDBCCD020010B5041C0C201FF099
:103CD000BFFC034B446003600223037210BDC04667
:103CE000ACCF020010B5041C10201FF0B1FC044B37
:103CF0000360237A0371636883600023C36010BD8F
:103D000044CF020010B5041C10201FF0A1FC044B8E
:103D100084600360034B43600023C36010BDC04652
:103D20003CE20200A737020008B504301FF0DFFEB6
:103D3000004808BD74E00200F8B5041C0D1C0B7AA5
:103D4000124A9B00995822F068FE1149201C22F06B
:103D500064FE281CFFF7C6FF0126071C381C1FF055
:103D60002CFD051E0CD0002E03D1201C094922F089
:103D700054FE201C291C0122FDF7BCFE0026EDE7A5
:103D8000201C054922F049FEF8BDC04604CE0200C1
:103D9000964903008B40030099490300F7B50B686F
:103DA0001C4A041C0D1C934203D01B495A6822F084
:103DB00000FF201C194922F030FE00230127019347
:103DC000281C01A91FF0DAFC061E15D0002F03D114
:103DD000201C134922F021FE0122201C3168FDF72E
:103DE00089FE1049201C22F018FE201C7168012257
:103DF000FDF780FE0027E3E7201C0B4922F00DFEB3
:103E00002B68044A934203D0201C084922F005FE87
:103E1000F7BDC04664CE02009C490300A0490300E0
:103E20008B400300A1870300DD4403001B43030014
:103E3000002806D001280BD14B68DB085B00184333
:103E400007E007224B680348934302D1024800E091
:103E50000020704734CD020078CD020038B5151C23
:103E60001A1C1C1C00F01CFE002802D04368002B0A
...

This file has been truncated, please download it to see its full contents.

spacecraft-v3.py

MicroPython
Source code of the spacecraft game
from microbit import *
from random import randint


# SETTINGS #
asteroidDensity = 3  # sets the possibility of an asteroid inversely
#                     (random bool has to be True X times)
loopTime = 10  # refresh time of the game logic (<> game speed)
gameSpeed = 600  # defines the start speed of the game 1000 = 1s
nextLvlAt = 20    # game steps per level


# VARIABLES #
bJustStarted = True
grid = []
bYouLose = False
lvl = 1
stpsUntlNxtLvl = nextLvlAt
stpsUntlNxtRfrsh = 0


# FUNCTIONS #
def getStepsUntilNextRefresh():
    global loopTime
    global gameSpeed
    return int((gameSpeed / loopTime))
# END getStepsUntilNextRefresh


def drawGrid():
    global bYouLose
    if (len(grid) > 0):
        # if an asteroid collides with the ship
        # then the game is lost
        if (grid[4][4]):
            bYouLose = True
        # draw the grid with the center 5 cols
        for row in range(0, len(grid)):
            for col in range(2, len(grid[row])-2):
                isOn = 0
                if (grid[row][col] or (row == 4 and col == 4)):
                    isOn = 5
                display.set_pixel(col-2, row, isOn)
# END drawGrid


def is_On():
    ret = True
    # if the randomint is true X times then the pixel is on
    for i in range(0, asteroidDensity):
        rnd = randint(0, 1)
        if (rnd == 0):
            ret = False
            break
    return ret
# END is_On


def createRow():
    cols = []
    # go for all 9 pixels in row
    # (5 for the grid and 2 on every side for memory)
    for i in range(0, 9):
        isOn = is_On()
        cols.append(isOn)
    return cols
# END createRow


def buildGrid():
    global stpsUntlNxtLvl
    global gameSpeed
    global lvl
    # if start of game -> build empty grid
    if (len(grid) == 0):
        for i in range(0, 5):
            grid.append([False for i in range(0, 9)])
    # if grid is already built, delete last row and create new one at the top
    else:
        grid.pop(4)
        grid.insert(0, createRow())
    # draw grid
    drawGrid()
    # count steps and increase difficulty
    stpsUntlNxtLvl -= 1
    if (stpsUntlNxtLvl == 0):
        if ((gameSpeed - 100) > 100):  # until 200
            gameSpeed -= 100
        elif ((gameSpeed - 20) > 20):  # until 20
            gameSpeed -= 20
        if (gameSpeed > 20):
            stpsUntlNxtLvl = nextLvlAt
            lvl += 1
            # flash screen
            display.show(Image("99999:90009:90009:90009:99999"))
            sleep(10)
            drawGrid()
# END buildGrid


def shiftLeft():
    for row in range(0, len(grid)):
        grid[row].pop(8)
        grid[row].insert(0, is_On())
# END shiftLeft


def shiftRight():
    for row in range(0, len(grid)):
        grid[row].pop(0)
        grid[row].append(is_On())
# END shiftRight


# GAME LOOP #
stpsUntlNxtRfrsh = getStepsUntilNextRefresh()
while True:
    if (bJustStarted and button_a.was_pressed()):
        bJustStarted = False
        display.scroll("SpaceCraft", delay=100)
        sleep(500)
        for i in range(3, 0, -1):
            display.show(str(i))
            sleep(500)
    elif (bJustStarted):
        display.show(Image.ARROW_W)
    elif (bYouLose):
        display.show(Image.NO)
        sleep(500)
        display.scroll("You lost at lvl " + str(lvl) + "!")
    else:
        if (len(grid) > 0):
            if (button_a.was_pressed()):
                shiftLeft()
                drawGrid()
            if (button_b.was_pressed()):
                shiftRight()
                drawGrid()
        if (stpsUntlNxtRfrsh == 0):
            buildGrid()
            stpsUntlNxtRfrsh = getStepsUntilNextRefresh()
        stpsUntlNxtRfrsh -= 1
        sleep(loopTime)

Credits

roxtii

roxtii

1 project • 1 follower

Comments

Add projectSign up / LoginAbout BBC micro:bit