diff --git a/.github/makecode/blocks.png b/.github/makecode/blocks.png new file mode 100644 index 0000000..ac20ef9 Binary files /dev/null and b/.github/makecode/blocks.png differ diff --git a/main.blocks b/main.blocks index d7f4283..d0556c1 100644 --- a/main.blocks +++ b/main.blocks @@ -1,4 +1,4 @@ -PlayerProjectileFoodEnemymySpriteitemmySprite2projectilepxpycanTPvaluelisttypemySprite3typeSpritelevelsleveltext listlevelStartMessageassets.image`myImage`{"commentRefs":[],"fieldData":{"img":"myImages.image3"}}500assets.image`myImage0`{"commentRefs":[],"fieldData":{"img":"myImages.image4"}}100mySprite0img` +PlayerProjectileFoodEnemymySpriteitemmySprite2projectilepxpycanTPvaluelisttypemySprite3typeSpritelevelsleveltext listlevelStartMessageassets.image`myImage`{"commentRefs":[],"fieldData":{"img":"myImages.image3"}}500assets.image`myImage0`{"commentRefs":[],"fieldData":{"img":"myImages.image4"}}100mySprite0img` . . . . . . . . . . . . . . . . . . . . . f f f f f f . . . . . . . . f f e e e e f 2 f . . . . @@ -15,7 +15,58 @@ . . . f f f e e f 5 5 f f . . . . . . f f f f f f f f f f . . . . . . . f f . . . f f f . . . . -`{"commentRefs":[],"fieldData":{"img":".WX)h{],0Z_I)E8dv9V|"}}PlayermySpritemySprite1000Sprite.ay@setmySprite500typeSprite0assets.image`red`{"commentRefs":[],"fieldData":{"img":"myImages.image1"}}Playertype0levels0tilemap`level6`{"commentRefs":[],"fieldData":{"tilemap":"level6"}}0tilemap`level1`{"commentRefs":[],"fieldData":{"tilemap":"level1"}}0tilemap`level3`{"commentRefs":[],"fieldData":{"tilemap":"level3"}}0tilemap`level4`{"commentRefs":[],"fieldData":{"tilemap":"level4"}}0tilemap`level5`{"commentRefs":[],"fieldData":{"tilemap":"level5"}}0tilemap`level7`{"commentRefs":[],"fieldData":{"tilemap":"level7"}}levelStartMessageThis is portal.py, you need to find the edgeless yum cube to find pass this test.You now have a portal device, use b to place portalsYou are much faster at this than the otherssome portals require great timingsome portals require you to look up when you place themlevel5202"E B C5 A B G A F "220startLevelimg` +`{"commentRefs":[],"fieldData":{"img":"l_ujQ0a=odZU{rtH!!)h"}}PlayermySpritemySprite1000Sprite.ay@setmySprite500typeSprite0assets.image`red`{"commentRefs":[],"fieldData":{"img":"myImages.image1"}}Playertype0levels0tilemap`level6`{"commentRefs":[],"fieldData":{"tilemap":"level6"}}0tilemap`level1`{"commentRefs":[],"fieldData":{"tilemap":"level1"}}0tilemap`level3`{"commentRefs":[],"fieldData":{"tilemap":"level3"}}0tilemap`level4`{"commentRefs":[],"fieldData":{"tilemap":"level4"}}0tilemap`level5`{"commentRefs":[],"fieldData":{"tilemap":"level5"}}0tilemap`level7`{"commentRefs":[],"fieldData":{"tilemap":"level7"}}levelStartMessageThis is portal.py, you need to find the edgeless yum cube to find pass this test.You now have a portal device, use b to place portalsYou are much faster at this than the otherssome portals require great timingsome portals require you to look up when you place themYou, can't portal through bricks.level5202"E B C5 A B G A F "220TRUELT0Sprite.vxmySprite0mySpriteimg` +. . . . . . . . . . . . . . . . +. . . . f f f f f f . . . . . . +. . . f 2 f e e e e f f . . . . +. . f 2 2 2 f e e e e f f . . . +. . f e e e e f f e e e f . . . +. f e 2 2 2 2 e e f f f f . . . +. f 2 e f f f f 2 2 2 e f . . . +. f f f e e e f f f f f f f . . +. f e e 4 4 f b e 4 4 e f f . . +. . f e d d f 1 4 d 4 e e f . . +. . . f d d d e e e e e f . . . +. . . f e 4 e d d 4 f . . . . . +. . . f 2 2 e d d e f . . . . . +. . f f 5 5 f e e f f f . . . . +. . f f f f f f f f f f . . . . +. . . f f f . . . f f . . . . . +`{"commentRefs":[],"fieldData":{"img":"EQT`0weFr(s-fMYbhA:O"}}px-1TRUEGT0Sprite.vxmySprite0mySpriteimg` +. . . . . . . . . . . . . . . . +. . . . . f f f f f f . . . . . +. . . f f e e e e f 2 f . . . . +. . f f e e e e f 2 2 2 f . . . +. . f e e e f f e e e e f . . . +. . f f f f e e 2 2 2 2 e f . . +. . f e 2 2 2 f f f f e 2 f . . +. f f f f f f f e e e f f f . . +. f f e 4 4 e b f 4 4 e e f . . +. f e e 4 d 4 1 f d d e f . . . +. . f e e e e e d d d f . . . . +. . . . f 4 d d e 4 e f . . . . +. . . . f e d d e 2 2 f . . . . +. . . f f f e e f 5 5 f f . . . +. . . f f f f f f f f f f . . . +. . . . f f . . . f f f . . . . +`{"commentRefs":[],"fieldData":{"img":"$Q;n#UY@xVz*H*cSo,Ut"}}px1typeSprite0MINUS0ADD0CameraProperty.X0DIVIDE0280ADD0MINUS0CameraProperty.Y0DIVIDE0281000canTP1tilemap`level8`{"commentRefs":[],"fieldData":{"tilemap":"level8"}}controller.menuControllerButtonEvent.PressedTRUEtypetypeSpriteassets.image`red`{"commentRefs":[],"fieldData":{"img":"myImages.image1"}}type0typeSpriteassets.image`blue`{"commentRefs":[],"fieldData":{"img":"myImages.image2"}}type1controller.upControllerButtonEvent.Releasedpy0controller.upControllerButtonEvent.Pressedpy1controller.AControllerButtonEvent.PressedTRUEEQ0Sprite.vymySprite0music.footstepSprite.vy@setmySprite-150controller.downControllerButtonEvent.Pressedpy-1controller.downControllerButtonEvent.Releasedpy0controller.BControllerButtonEvent.Pressedmusic.pewPewprojectile0img` +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . 2 2 . . . . . . . +. . . . . . 3 1 1 3 . . . . . . +. . . . . 2 1 1 1 1 2 . . . . . +. . . . . 2 1 1 1 1 2 . . . . . +. . . . . . 3 1 1 3 . . . . . . +. . . . . . . 2 2 . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +`{"commentRefs":[],"fieldData":{"img":"@kvwz2a%)+@Fb@y(Byoz"}}mySprite50MULTIPLY0px20050MULTIPLY0py-200spritePlayersprites.dungeon.doorClosedNorthlocationTRUEcanTPmusic.knockmySpritesprites.dungeon.doorOpenNorthcanTP0spritePlayersprites.dungeon.doorOpenNorthlocationTRUEcanTPmusic.knockmySpritesprites.dungeon.doorClosedNorthcanTP0spritePlayersprites.dungeon.collectibleRedCrystallocationlevel1TRUEEQ0level0levelstruemusic.baDingspritePlayersprites.swamp.swampTile7locationfalsespritePlayersprites.swamp.swampTile9locationfalsespriteProjectilelocationTRUE00locationsprites.dungeon.floorDark0valuelistsprites.dungeon.doorClosedNorthsprites.castle.tilePath500valuetrue00valuesprites.dungeon.doorClosedNorth00locationfalse00locationstartLevelimg` 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 @@ -136,72 +187,4 @@ dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd -`{"commentRefs":[],"fieldData":{"img":"z+dNX#6bTD59ZK#).]79"}}tilemap`level1`{"commentRefs":[],"fieldData":{"tilemap":"level1"}}levels0levelmySprite7540DialogLayout.BottomlevelStartMessage0levelcontroller.menuControllerButtonEvent.PressedTRUEtypetypeSpriteassets.image`red`{"commentRefs":[],"fieldData":{"img":"myImages.image1"}}type0typeSpriteassets.image`blue`{"commentRefs":[],"fieldData":{"img":"myImages.image2"}}type1typeSprite0MINUS0ADD0CameraProperty.X0DIVIDE0280ADD0MINUS0CameraProperty.Y0DIVIDE028controller.upControllerButtonEvent.Releasedpy0controller.upControllerButtonEvent.Pressedpy1CameraProperty.Ycontroller.AControllerButtonEvent.PressedTRUEEQ0Sprite.vymySprite0music.footstepSprite.vy@setmySprite-150controller.downControllerButtonEvent.Pressedpy-1controller.downControllerButtonEvent.Releasedpy0controller.BControllerButtonEvent.Pressedmusic.pewPewprojectile0img` -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . 2 2 . . . . . . . -. . . . . . 3 1 1 3 . . . . . . -. . . . . 2 1 1 1 1 2 . . . . . -. . . . . 2 1 1 1 1 2 . . . . . -. . . . . . 3 1 1 3 . . . . . . -. . . . . . . 2 2 . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -`{"commentRefs":[],"fieldData":{"img":"6+cEbMqc|jC[i~?u*iCW"}}mySprite50MULTIPLY0px20050MULTIPLY0py-200TRUELT0Sprite.vxmySprite0mySpriteimg` -. . . . . . . . . . . . . . . . -. . . . f f f f f f . . . . . . -. . . f 2 f e e e e f f . . . . -. . f 2 2 2 f e e e e f f . . . -. . f e e e e f f e e e f . . . -. f e 2 2 2 2 e e f f f f . . . -. f 2 e f f f f 2 2 2 e f . . . -. f f f e e e f f f f f f f . . -. f e e 4 4 f b e 4 4 e f f . . -. . f e d d f 1 4 d 4 e e f . . -. . . f d d d e e e e e f . . . -. . . f e 4 e d d 4 f . . . . . -. . . f 2 2 e d d e f . . . . . -. . f f 5 5 f e e f f f . . . . -. . f f f f f f f f f f . . . . -. . . f f f . . . f f . . . . . -`{"commentRefs":[],"fieldData":{"img":"w84kZc+S04_~uwfJu`*="}}px-1TRUEGT0Sprite.vxmySprite0mySpriteimg` -. . . . . . . . . . . . . . . . -. . . . . f f f f f f . . . . . -. . . f f e e e e f 2 f . . . . -. . f f e e e e f 2 2 2 f . . . -. . f e e e f f e e e e f . . . -. . f f f f e e 2 2 2 2 e f . . -. . f e 2 2 2 f f f f e 2 f . . -. f f f f f f f e e e f f f . . -. f f e 4 4 e b f 4 4 e e f . . -. f e e 4 d 4 1 f d d e f . . . -. . f e e e e e d d d f . . . . -. . . . f 4 d d e 4 e f . . . . -. . . . f e d d e 2 2 f . . . . -. . . f f f e e f 5 5 f f . . . -. . . f f f f f f f f f f . . . -. . . . f f . . . f f f . . . . -`{"commentRefs":[],"fieldData":{"img":"L?aVvP}QM5k^Y!EEDAY{"}}px1locationspritePlayersprites.dungeon.doorClosedNorthlocationTRUEcanTPmusic.knockmySpritesprites.dungeon.doorOpenNorthcanTP0mySprite20img` -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -. . . . . . . . . . . . . . . . -`{"commentRefs":[],"fieldData":{"img":"4W~a-}!2eu7LNjU4nTwc"}}PlayermySprite00Sprite.x@setmySprite01000canTP1spriteProjectilelocationvaluelistsprites.dungeon.doorClosedNorthsprites.castle.tilePath500valuetrue00valuesprites.dungeon.doorClosedNorth00locationfalse00locationspritePlayersprites.dungeon.doorOpenNorthlocationTRUEcanTPmusic.knockmySpritesprites.dungeon.doorClosedNorthcanTP0locationlocationspritePlayersprites.dungeon.collectibleRedCrystallocationlevel1TRUEEQ0level0levelstruemusic.baDingspritePlayersprites.swamp.swampTile7locationfalsespritePlayersprites.swamp.swampTile9locationfalse \ No newline at end of file +`{"commentRefs":[],"fieldData":{"img":"z_s[c8MqFb}-2L+}iZR*"}}tilemap`level1`{"commentRefs":[],"fieldData":{"tilemap":"level1"}}levels0levelmySprite7540DialogLayout.BottomlevelStartMessage0level \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..4e2a2ae --- /dev/null +++ b/main.py @@ -0,0 +1,373 @@ +def on_up_pressed(): + global py + py = 1 +controller.up.on_event(ControllerButtonEvent.PRESSED, on_up_pressed) + +def on_b_pressed(): + global projectile + music.pew_pew.play() + projectile = sprites.create_projectile_from_sprite(img(""" + . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . + . . . . . . . 2 2 . . . . . . . + . . . . . . 3 1 1 3 . . . . . . + . . . . . 2 1 1 1 1 2 . . . . . + . . . . . 2 1 1 1 1 2 . . . . . + . . . . . . 3 1 1 3 . . . . . . + . . . . . . . 2 2 . . . . . . . + . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . + """), + mySprite, + px * 200, + py * -200) +controller.B.on_event(ControllerButtonEvent.PRESSED, on_b_pressed) + +def on_a_pressed(): + if mySprite.vy == 0: + music.footstep.play() + mySprite.vy = -150 +controller.A.on_event(ControllerButtonEvent.PRESSED, on_a_pressed) + +def on_down_released(): + global py + py = 0 +controller.down.on_event(ControllerButtonEvent.RELEASED, on_down_released) + +def on_overlap_tile(sprite, location): + global canTP + if canTP: + music.knock.play() + tiles.place_on_random_tile(mySprite, sprites.dungeon.door_open_north) + canTP = 0 +scene.on_overlap_tile(SpriteKind.player, + sprites.dungeon.door_closed_north, + on_overlap_tile) + +def on_up_released(): + global py + py = 0 +controller.up.on_event(ControllerButtonEvent.RELEASED, on_up_released) + +def on_down_pressed(): + global py + py = -1 +controller.down.on_event(ControllerButtonEvent.PRESSED, on_down_pressed) + +def on_menu_pressed(): + global _type + if _type: + typeSprite.set_image(assets.image(""" + red + """)) + _type = 0 + else: + typeSprite.set_image(assets.image(""" + blue + """)) + _type = 1 +controller.menu.on_event(ControllerButtonEvent.PRESSED, on_menu_pressed) + +def on_overlap_tile2(sprite2, location2): + game.over(False) +scene.on_overlap_tile(SpriteKind.player, + sprites.swamp.swamp_tile7, + on_overlap_tile2) + +def on_hit_wall(sprite3, location3): + if not (tiles.tile_at_location_equals(location3, sprites.dungeon.floor_dark0)): + for value in tiles.get_tiles_by_type(sprites.dungeon.door_closed_north): + tiles.set_tile_at(value, sprites.castle.tile_path5) + tiles.set_wall_at(value, True) + tiles.set_tile_at(location3, sprites.dungeon.door_closed_north) + tiles.set_wall_at(location3, False) +scene.on_hit_wall(SpriteKind.projectile, on_hit_wall) + +def on_overlap_tile3(sprite4, location4): + game.over(False) +scene.on_overlap_tile(SpriteKind.player, + sprites.swamp.swamp_tile9, + on_overlap_tile3) + +def on_overlap_tile4(sprite5, location5): + global level + level += 1 + if level == len(levels): + game.over(True) + else: + music.ba_ding.play() + startLevel() +scene.on_overlap_tile(SpriteKind.player, + sprites.dungeon.collectible_red_crystal, + on_overlap_tile4) + +def startLevel(): + scene.set_background_image(img(""" + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999d99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 999999999999999999999999999dd999999d9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 999999999999999999999999999ddd99999d999999999999d999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 99999999999999999999999999ddddd9999dd9999999999ddd99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999ddddddd999dd9999999999ddd99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999d9dddd999ddd999999999ddddd9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 99999999999999999999999999ddddd999dddd99999999dddddd999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999ddddddd999dd9999999999dddd9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 99999999999999999999999999dddd9dd99ddd9999999dddddd9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999dddddd999ddd999999999dddddd999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 999999999999999999999999dd9ddddd99dddd9999999ddddd9dd99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 99999999999999999999999999dddddddddddd999999ddddddd9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999ddddddddddddddddddd99dddddd999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999d9999999999ddddddddddddddddddddd99dddddd9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d999999999999999999 + 999999999999ddd99999999999ddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999999999999999999999999999d9999dd999999999999999999 + 999999999999dd9999999999dddddddddddddddddddddddddd9999999999999999999999999999999999d99999999999999999999999999999999999999999999999999dd999dd999999999999999999 + 99999999999ddd999999999dddddddddddddddddddddddddddd999999999999999999999999999999999dd9999999999999999999999999999999999999999999999999dd99ddd999999999999999999 + 9999999999ddddd999999ddddddddddddddddddddddddddddddd99999999999999999999999999999999dd99999999999999999999999999999999999999999999d999dddd9ddddd9999999999999999 + 99999999999ddd99999dddddddddddddddddddddddddddddddddd999999999999999999999999999999dddd999999999999999999999999999999999999999999ddd99dddd99dd999999999999999999 + 999999999999ddd999dddddddddddddddddddddddddddddddddddd99999999999999999999999999999dddd9999d9999999999999999999999999999999999999ddd999dd99dddddd999999999999999 + 9999999999dddd99ddddddddddddddddddddddddddddddddddddddd999999999999999999999dd999999dd99999d999999999999999999999999999999999999dddd9ddddddddd999999999d99999999 + 99999999999ddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999ddd9999dddddd999dd9999999999999999999999999999999999999ddd9dddd999dd99999999d99999999 + 999999999999ddddddddddddddddddddddddddddddddddddddddddddd99999999999999999dddd99999dddd9999dd999999999999999999999999999999999999ddd99ddddd99d99999999dddd999999 + 999999999999dddddddddddddddddddddddddddddddddddddddddddddd999999999999999999ddd9999ddddd99ddd9999999999999d99999999999999999999ddddddddddddd9d999999999d99999999 + 99999999999ddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999dddddd9dddddddd9dddd99999999999dd999999999999999999999ddddddddddddddddd9999dddd9999999 + 9999999999ddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999dddddd9dddddddddd9dd999999999999ddd9999999999999d99999ddddd99ddddddddddddd999ddd9999999 + 99999999dddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999dddddd99dddd9999ddd9999999999ddddd999999999999d9999dddddddddddddddddddddd99ddddd99999 + 9999999dddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999dddddd99dddddd99ddd9999999999ddddddd99999999999dd99999dddddddddddddddddddddddddd999999 + 999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999ddddddddddddddddddddddd9999999d9dddd999999999999dd9999dddddddddddddddddddddddddd9999999 + 99999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999ddddddddddddddddddddddd99999ddddd99999999999ddd9999dddddddddddddddddddddddddd9999999 + 999ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999dddddddddddddddddddddddddd99ddddddd99999999999d9999dddddddddddddddddddddddddddd999999 + 99ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999dddddddddddddddddddddddddddddd9dddd9d9999999999dddd99dddddddddddddddddddddddddddddd9999 + 9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999ddddddddddddddddddddddddddddddddddddd999999999999dd99ddddddddddddddddddddddddddddddddd99 + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999ddddddddddddddddddddddddddddddddddddddd999999999ddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999dddddddddddddddddddddddddddddddddddddddd + ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999ddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999ddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999dddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + """)) + tiles.set_current_tilemap(levels[level]) + mySprite.set_position(75, 40) + game.show_long_text(levelStartMessage[level], DialogLayout.BOTTOM) + +def on_overlap_tile5(sprite6, location6): + global canTP + if canTP: + music.knock.play() + tiles.place_on_random_tile(mySprite, sprites.dungeon.door_closed_north) + canTP = 0 +scene.on_overlap_tile(SpriteKind.player, + sprites.dungeon.door_open_north, + on_overlap_tile5) + +canTP = 0 +px = 0 +projectile: Sprite = None +py = 0 +level = 0 +levelStartMessage: List[str] = [] +levels: List[tiles.TileMapData] = [] +_type = 0 +typeSprite: Sprite = None +mySprite: Sprite = None +scene.set_background_image(assets.image(""" + myImage +""")) +pause(500) +scene.set_background_image(assets.image(""" + myImage0 +""")) +pause(100) +mySprite = sprites.create(img(""" + . . . . . . . . . . . . . . . . + . . . . . f f f f f f . . . . . + . . . f f e e e e f 2 f . . . . + . . f f e e e e f 2 2 2 f . . . + . . f e e e f f e e e e f . . . + . . f f f f e e 2 2 2 2 e f . . + . . f e 2 2 2 f f f f e 2 f . . + . f f f f f f f e e e f f f . . + . f f e 4 4 e b f 4 4 e e f . . + . f e e 4 d 4 1 f d d e f . . . + . . f e e e e e d d d f . . . . + . . . . f 4 d d e 4 e f . . . . + . . . . f e d d e 2 2 f . . . . + . . . f f f e e f 5 5 f f . . . + . . . f f f f f f f f f f . . . + . . . . f f . . . f f f . . . . + """), + SpriteKind.player) +scene.camera_follow_sprite(mySprite) +controller.move_sprite(mySprite, 100, 0) +mySprite.ay = 500 +typeSprite = sprites.create(assets.image(""" + red +"""), SpriteKind.player) +_type = 0 +levels = [tilemap(""" + level6 + """), + tilemap(""" + level1 + """), + tilemap(""" + level3 + """), + tilemap(""" + level4 + """), + tilemap(""" + level5 + """), + tilemap(""" + level7 + """)] +levelStartMessage = ["This is portal.py, you need to find the edgeless yum cube to find pass this test.", + "You now have a portal device, use b to place portals", + "You are much faster at this than the others", + "some portals require great timing", + "some portals require you to look up when you place them", + "You, can't portal through bricks."] +level = 5 +music.set_volume(20) +for index in range(2): + music.play_melody("E B C5 A B G A F ", 220) +startLevel() + +def on_on_update(): + typeSprite.set_position(scene.camera_property(CameraProperty.X) + scene.screen_width() / 2 - 8, + scene.camera_property(CameraProperty.Y) - scene.screen_height() / 2 + 8) +game.on_update(on_on_update) + +def on_update_interval(): + global canTP + canTP = 1 +game.on_update_interval(1000, on_update_interval) + +def on_forever(): + global px + if mySprite.vx < 0: + mySprite.set_image(img(""" + . . . . . . . . . . . . . . . . + . . . . f f f f f f . . . . . . + . . . f 2 f e e e e f f . . . . + . . f 2 2 2 f e e e e f f . . . + . . f e e e e f f e e e f . . . + . f e 2 2 2 2 e e f f f f . . . + . f 2 e f f f f 2 2 2 e f . . . + . f f f e e e f f f f f f f . . + . f e e 4 4 f b e 4 4 e f f . . + . . f e d d f 1 4 d 4 e e f . . + . . . f d d d e e e e e f . . . + . . . f e 4 e d d 4 f . . . . . + . . . f 2 2 e d d e f . . . . . + . . f f 5 5 f e e f f f . . . . + . . f f f f f f f f f f . . . . + . . . f f f . . . f f . . . . . + """)) + px = -1 + if mySprite.vx > 0: + mySprite.set_image(img(""" + . . . . . . . . . . . . . . . . + . . . . . f f f f f f . . . . . + . . . f f e e e e f 2 f . . . . + . . f f e e e e f 2 2 2 f . . . + . . f e e e f f e e e e f . . . + . . f f f f e e 2 2 2 2 e f . . + . . f e 2 2 2 f f f f e 2 f . . + . f f f f f f f e e e f f f . . + . f f e 4 4 e b f 4 4 e e f . . + . f e e 4 d 4 1 f d d e f . . . + . . f e e e e e d d d f . . . . + . . . . f 4 d d e 4 e f . . . . + . . . . f e d d e 2 2 f . . . . + . . . f f f e e f 5 5 f f . . . + . . . f f f f f f f f f f . . . + . . . . f f . . . f f f . . . . + """)) + px = 1 +forever(on_forever) diff --git a/main.ts b/main.ts index 4517933..7c671ac 100644 --- a/main.ts +++ b/main.ts @@ -57,12 +57,14 @@ scene.onOverlapTile(SpriteKind.Player, sprites.swamp.swampTile7, function (sprit game.over(false) }) scene.onHitWall(SpriteKind.Projectile, function (sprite, location) { - for (let value of tiles.getTilesByType(sprites.dungeon.doorClosedNorth)) { - tiles.setTileAt(value, sprites.castle.tilePath5) - tiles.setWallAt(value, true) + if (!(tiles.tileAtLocationEquals(location, sprites.dungeon.floorDark0))) { + for (let value of tiles.getTilesByType(sprites.dungeon.doorClosedNorth)) { + tiles.setTileAt(value, sprites.castle.tilePath5) + tiles.setWallAt(value, true) + } + tiles.setTileAt(location, sprites.dungeon.doorClosedNorth) + tiles.setWallAt(location, false) } - tiles.setTileAt(location, sprites.dungeon.doorClosedNorth) - tiles.setWallAt(location, false) }) scene.onOverlapTile(SpriteKind.Player, sprites.swamp.swampTile9, function (sprite, location) { game.over(false) @@ -261,7 +263,7 @@ levelStartMessage = [ "You are much faster at this than the others", "some portals require great timing", "some portals require you to look up when you place them", -"" +"You, can't portal through bricks." ] level = 5 music.setVolume(20) @@ -274,9 +276,6 @@ game.onUpdate(function () { }) game.onUpdateInterval(1000, function () { canTP = 1 -}) -forever(function () { - }) forever(function () { if (mySprite.vx < 0) { diff --git a/pxt.json b/pxt.json index c64c92c..f3741a3 100644 --- a/pxt.json +++ b/pxt.json @@ -12,7 +12,8 @@ "tilemap.g.jres", "tilemap.g.ts", "images.g.jres", - "images.g.ts" + "images.g.ts", + "main.py" ], "testFiles": [ "test.ts" diff --git a/tilemap.g.jres b/tilemap.g.jres index 863d2b9..72b92e5 100644 --- a/tilemap.g.jres +++ b/tilemap.g.jres @@ -86,18 +86,25 @@ "level7": { "id": "level7", "mimeType": "application/mkcd-tilemap", - "data": "MTAxMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMTAxMDEwMTAxMDEwMzAzMDMwMzAzMDMwMzAzMDMwMjAyMDIwMjAyMDIwMjAyMDIwMjAxMDEwMTAxMDEwMTAyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMDAwMDAwMDAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMDAxMDAwMDAwMDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDAwMDAwMDUwMDAyMDIwMjA0MDIwMjAyMDIwMjAyMDEwMTAxMDEwMTAxMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwNDAyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyMjIyMjAyMDAwMDAwMDAwMDAwMDAwMDAwMjIyMjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyMjIyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMA==", + "data": "MTAxMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDAwMDAwMDEwMTAxMDEwMTAxMDEwMTAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDIwMDAwMDAwMzAwMDAwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDIyMjIyMjIyMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMjIyMjIyMjIyMjIyMjIyMg==", "tileset": [ "myTiles.transparency16", - "sprites.castle.tilePath2", - "sprites.swamp.swampTile9", - "sprites.swamp.swampTile7", - "sprites.swamp.swampTile13", + "sprites.dungeon.floorDark0", + "sprites.dungeon.doorOpenNorth", "sprites.dungeon.collectibleRedCrystal", - "sprites.dungeon.doorOpenNorth" + "sprites.castle.tilePath5" ], "displayName": "level7" }, + "level8": { + "id": "level8", + "mimeType": "application/mkcd-tilemap", + "data": "MTAxMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMA==", + "tileset": [ + "myTiles.transparency16" + ], + "displayName": "level8" + }, "*": { "mimeType": "image/x-mkcd-f4", "dataEncoding": "base64", diff --git a/tilemap.g.ts b/tilemap.g.ts index c17de80..41b9449 100644 --- a/tilemap.g.ts +++ b/tilemap.g.ts @@ -120,7 +120,7 @@ namespace myTiles { 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 `, [myTiles.transparency16,sprites.castle.tilePath2,sprites.castle.tilePath5,sprites.dungeon.collectibleRedCrystal], TileScale.Sixteen); case "level7": - case "level7":return tiles.createTilemap(hex`1000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000010101010101010303030303030303030202020202020202020201010101010102020202020202020202000000000000020202020202020202020001000000000202020202020202020200000000050002020204020202020202010101010101020202020202020202020202020202020202020202020202020202020202020202020202020402020202020202020202`, img` + case "level7":return tiles.createTilemap(hex`1000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000040000000000000000010101010101010100000000000000010000000000000000000000000000010000000000000000000000000000010000020000000300000001010101010101010101010101010101`, img` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . @@ -128,16 +128,35 @@ namespace myTiles { . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -2 2 2 2 2 2 2 . . . . . . . . . -. . . . . . . . . . 2 2 2 2 2 2 . . . . . . . . . . . . . . . . -. . . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . -. . . . . . . . . . 2 2 2 2 2 2 +. . . . . . . . . . . . . . . 2 +. . . . . . . . . . . . . . . 2 +. . . . . . . . 2 2 2 2 2 2 2 2 +. . . . . . . 2 . . . . . . . . +. . . . . . 2 . . . . . . . . . +. . . . . 2 . . . . . . . . . . +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +`, [myTiles.transparency16,sprites.dungeon.floorDark0,sprites.dungeon.doorOpenNorth,sprites.dungeon.collectibleRedCrystal,sprites.castle.tilePath5], TileScale.Sixteen); + case "level8": + case "level8":return tiles.createTilemap(hex`1000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000`, img` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -`, [myTiles.transparency16,sprites.castle.tilePath2,sprites.swamp.swampTile9,sprites.swamp.swampTile7,sprites.swamp.swampTile13,sprites.dungeon.collectibleRedCrystal,sprites.dungeon.doorOpenNorth], TileScale.Sixteen); +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +`, [myTiles.transparency16], TileScale.Sixteen); } return null; })