作为学习、练习与尝试,这里创建一个板条箱地牢的小游戏。
打开网页版:https://arcade.makecode.com/,设置项目名称:板条箱地牢
MicroPython实验代码
- @namespace
- class SpriteKind:
- Stupid = SpriteKind.create()
- PlaceHolder = SpriteKind.create()
- Box = SpriteKind.create()
- Item = SpriteKind.create()
- Book = SpriteKind.create()
-
- def on_overlap_tile(sprite, location):
- tiles.set_tile_at(location, assets.tile("""
- transparency8
- """))
- tiles.set_wall_at(location, False)
- scene.on_overlap_tile(SpriteKind.food,
- assets.tile("""
- breakible wall0
- """),
- on_overlap_tile)
-
- # WALLS ARE BUGGY FIX LTR
- def PushTiles(Pusher: Sprite, Pushing: Sprite):
- characterAnimations.clear_character_state(Pushing)
- sprites.set_data_boolean(Pushing, "RecentlyPushed", True)
- if characterAnimations.matches_rule(Pusher, characterAnimations.rule(Predicate.MOVING_LEFT)):
- if not (tiles.tile_at_location_is_wall(grid.add(grid.get_location(Pushing), -1, 0))):
- characterAnimations.set_character_state(Pushing, characterAnimations.rule(Predicate.MOVING_LEFT))
- grid.move(Pushing, -1, 0)
- else:
- grid.move(sprites.read_data_sprite(Something, "S-Control"), 1, 0)
- if Pusher.kind() == SpriteKind.Box:
- characterAnimations.set_character_state(Pusher, characterAnimations.rule(Predicate.MOVING_RIGHT))
- grid.move(Pusher, 1, 0)
- if characterAnimations.matches_rule(Pusher, characterAnimations.rule(Predicate.MOVING_RIGHT)):
- if not (tiles.tile_at_location_is_wall(grid.add(grid.get_location(Pushing), 1, 0))):
- characterAnimations.set_character_state(Pushing, characterAnimations.rule(Predicate.MOVING_RIGHT))
- grid.move(Pushing, 1, 0)
- else:
- grid.move(sprites.read_data_sprite(Something, "S-Control"), -1, 0)
- if Pusher.kind() == SpriteKind.Box:
- characterAnimations.set_character_state(Pusher, characterAnimations.rule(Predicate.MOVING_LEFT))
- grid.move(Pusher, -1, 0)
- if characterAnimations.matches_rule(Pusher, characterAnimations.rule(Predicate.MOVING_DOWN)):
- if not (tiles.tile_at_location_is_wall(grid.add(grid.get_location(Pushing), 0, 1))):
- characterAnimations.set_character_state(Pushing, characterAnimations.rule(Predicate.MOVING_DOWN))
- grid.move(Pushing, 0, 1)
- else:
- grid.move(sprites.read_data_sprite(Something, "S-Control"), 0, -1)
- if Pusher.kind() == SpriteKind.Box:
- characterAnimations.set_character_state(Pusher, characterAnimations.rule(Predicate.MOVING_UP))
- grid.move(Pusher, 0, -1)
- if characterAnimations.matches_rule(Pusher, characterAnimations.rule(Predicate.MOVING_UP)):
- if not (tiles.tile_at_location_is_wall(grid.add(grid.get_location(Pushing), 0, -1))):
- characterAnimations.set_character_state(Pushing, characterAnimations.rule(Predicate.MOVING_UP))
- grid.move(Pushing, 0, -1)
- else:
- grid.move(sprites.read_data_sprite(Something, "S-Control"), 0, 1)
- if Pusher.kind() == SpriteKind.Box:
- characterAnimations.set_character_state(Pusher, characterAnimations.rule(Predicate.MOVING_DOWN))
- grid.move(Pusher, 0, 1)
-
- def on_after():
- sprites.set_data_boolean(Pushing, "RecentlyPushed", False)
- timer.after(100, on_after)
-
-
- def on_background():
- pass
- timer.background(on_background)
-
-
- def on_create_renderable(screen2):
- if lvl >= 17 and not (lvl == 99):
- screen2.replace(11, 8)
- screen2.replace(15, 12)
- spriteutils.create_renderable(0, on_create_renderable)
-
- def on_overlap_tile2(sprite2, location2):
- Customeffects("Fall", sprite2, True, 1, 1, 100)
- sprites.destroy(sprite2)
- tiles.set_tile_at(location2, assets.tile("""
- BoxCovering Pit
- """))
- scene.on_overlap_tile(SpriteKind.Box,
- assets.tile("""
- Pit
- """),
- on_overlap_tile2)
-
- def on_overlap_tile3(sprite3, location3):
- if sprites.read_data_string(sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"), "H-Hand"),
- "I-Type") == "Key":
- tiles.set_tile_at(location3, assets.tile("""
- transparency8
- """))
- Customeffects("Twinkle", sprite3, True, 1, 1, 200)
- sprites.set_data_string(sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"), "H-Hand"),
- "I-Type",
- "Null")
- sprites.destroy(sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"), "H-Hand"))
- else:
- if characterAnimations.matches_rule(sprites.read_data_sprite(Something, "S-Control"),
- characterAnimations.rule(Predicate.MOVING_LEFT)):
- grid.move(sprites.read_data_sprite(Something, "S-Control"), 1, 0)
- if characterAnimations.matches_rule(sprites.read_data_sprite(Something, "S-Control"),
- characterAnimations.rule(SpriteKind.player)):
- grid.move(sprites.read_data_sprite(Something, "S-Control"), -1, 0)
- if characterAnimations.matches_rule(sprites.read_data_sprite(Something, "S-Control"),
- characterAnimations.rule(Predicate.MOVING_UP)):
- grid.move(sprites.read_data_sprite(Something, "S-Control"), 0, 1)
- if characterAnimations.matches_rule(sprites.read_data_sprite(Something, "S-Control"),
- characterAnimations.rule(Predicate.MOVING_DOWN)):
- grid.move(sprites.read_data_sprite(Something, "S-Control"), 0, -1)
- scene.on_overlap_tile(SpriteKind.player,
- assets.tile("""
- Lock
- """),
- on_overlap_tile3)
-
- def on_on_overlap(sprite4, otherSprite):
- if controller.A.is_pressed():
- sprites.set_data_sprite(sprite4, "H-Hand", otherSprite)
- music.play(music.create_sound_effect(WaveShape.NOISE,
- 1,
- 973,
- 98,
- 0,
- 100,
- SoundExpressionEffect.VIBRATO,
- InterpolationCurve.LINEAR),
- music.PlaybackMode.IN_BACKGROUND)
- sprites.on_overlap(SpriteKind.player, SpriteKind.Item, on_on_overlap)
-
- def on_overlap_tile4(sprite5, location4):
- tiles.set_tile_at(location4, assets.tile("""
- transparency8
- """))
- tiles.set_wall_at(location4, False)
- scene.on_overlap_tile(SpriteKind.food,
- assets.tile("""
- Cannon LR
- """),
- on_overlap_tile4)
-
- def on_overlap_tile5(sprite6, location5):
- tiles.set_tile_at(location5, assets.tile("""
- transparency8
- """))
- Customeffects("Twinkle", sprite6, True, 1, 1, 500)
- SwapBlocks(1)
- scene.on_overlap_tile(SpriteKind.player,
- assets.tile("""
- RButton2
- """),
- on_overlap_tile5)
-
- def on_b_pressed():
- global Placeholder
- if sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"), "H-Hand") != spriteutils.null_consts(spriteutils.NullConsts.NULL):
- sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"), "H-Hand").set_position(sprites.read_data_sprite(Something, "S-Control").x,
- sprites.read_data_sprite(Something, "S-Control").y)
- Placeholder = sprites.create(assets.image("""
- Door Open
- """), SpriteKind.Item)
- sprites.set_data_sprite(sprites.read_data_sprite(Something, "S-Control"),
- "H-Hand",
- Placeholder)
- sprites.destroy(Placeholder)
- music.play(music.create_sound_effect(WaveShape.SQUARE,
- 694,
- 583,
- 59,
- 0,
- 100,
- SoundExpressionEffect.NONE,
- InterpolationCurve.LINEAR),
- music.PlaybackMode.IN_BACKGROUND)
- controller.B.on_event(ControllerButtonEvent.PRESSED, on_b_pressed)
-
- def on_menu_pressed():
- Level(lvl)
- controller.menu.on_event(ControllerButtonEvent.PRESSED, on_menu_pressed)
-
- def ColorGrid(Color1: number, Color2: number):
- global picture
- picture = assets.image("""
- BG
- """)
- picture.replace(1, Color1)
- scene.set_background_image(picture)
- scene.set_background_color(Color2)
-
- def on_a_pressed():
- if mySprite:
- if not (sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"), "H-Hand") == spriteutils.null_consts(spriteutils.NullConsts.NULL)):
- Use_Item(sprites.read_data_string(sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"), "H-Hand"),
- "I-Type"))
- controller.A.on_event(ControllerButtonEvent.PRESSED, on_a_pressed)
-
- def on_overlap_tile6(sprite7, location6):
- tiles.set_tile_at(location6, assets.tile("""
- TeleporterOff
- """))
- sprite7.set_flag(SpriteFlag.GHOST_THROUGH_TILES, True)
- tiles.place_on_random_tile(sprite7, assets.tile("""
- Teleporter
- """))
- grid.place(sprite7, sprite7.tilemap_location())
- tiles.set_tile_at(grid.get_location(sprite7),
- assets.tile("""
- TeleporterOff
- """))
- sprite7.set_flag(SpriteFlag.GHOST_THROUGH_TILES, False)
-
- def on_background2():
- tiles.set_tile_at(location6, assets.tile("""
- Teleporter
- """))
-
- def on_pause_until():
- pass
- pause_until(on_pause_until)
-
- for value in tiles.get_tiles_by_type(assets.tile("""
- TeleporterOff
- """)):
- tiles.set_tile_at(value, assets.tile("""
- Teleporter
- """))
- timer.background(on_background2)
-
- scene.on_overlap_tile(SpriteKind.Box,
- assets.tile("""
- Teleporter
- """),
- on_overlap_tile6)
-
- def on_overlap_tile7(sprite8, location7):
- if sprites.read_data_string(sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"), "H-Hand"),
- "I-Type") == "Key":
- tiles.set_tile_at(location7, assets.tile("""
- Exit
- """))
- Customeffects("Twinkle", sprite8, True, 1, 1, 200)
- sprites.set_data_string(sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"), "H-Hand"),
- "I-Type",
- "Null")
- sprites.destroy(sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"), "H-Hand"))
- scene.on_overlap_tile(SpriteKind.player,
- assets.tile("""
- Lock0
- """),
- on_overlap_tile7)
-
- def on_left_pressed():
- if not (tiles.tile_at_location_is_wall(tiles.get_tile_location(-1 + sprites.read_data_sprite(Something, "S-Control").tilemap_location().column,
- sprites.read_data_sprite(Something, "S-Control").tilemap_location().row))):
- Customeffects("Steps",
- sprites.read_data_sprite(Something, "S-Control"),
- False,
- sprites.read_data_sprite(Something, "S-Control").x,
- sprites.read_data_sprite(Something, "S-Control").y,
- 400)
- grid.move(sprites.read_data_sprite(Something, "S-Control"), -1, 0)
- music.play(music.create_sound_effect(WaveShape.NOISE,
- randint(300, 350),
- 0,
- 127,
- 0,
- 100,
- SoundExpressionEffect.NONE,
- InterpolationCurve.LINEAR),
- music.PlaybackMode.IN_BACKGROUND)
- controller.left.on_event(ControllerButtonEvent.PRESSED, on_left_pressed)
-
- def SwapBlocks(Stage: number):
- if 1 == Stage:
- tiles.replace_all_tiles(assets.tile("""
- RedTileOFF
- """),
- assets.tile("""
- HiddenGem
- """))
- tiles.replace_all_tiles(assets.tile("""
- RedTileOn0
- """),
- assets.tile("""
- RedTileOFF
- """))
- tiles.replace_all_tiles(assets.tile("""
- HiddenGem
- """),
- assets.tile("""
- RedTileOn0
- """))
- for value2 in tiles.get_tiles_by_type(assets.tile("""
- RedTileOFF
- """)):
- Customeffects("Twinkle",
- mySprite,
- False,
- 4 + 8 * value2.column,
- 4 + 8 * value2.row,
- 100)
- tiles.set_wall_at(value2, False)
- for value22 in tiles.get_tiles_by_type(assets.tile("""
- RedTileOn0
- """)):
- Customeffects("Twinkle",
- mySprite,
- False,
- 4 + 8 * value22.column,
- 4 + 8 * value22.row,
- 100)
- tiles.set_wall_at(value22, True)
- music.play(music.create_sound_effect(WaveShape.NOISE,
- 839,
- 0,
- 255,
- 0,
- 200,
- SoundExpressionEffect.NONE,
- InterpolationCurve.LINEAR),
- music.PlaybackMode.IN_BACKGROUND)
- elif 2 == Stage:
- music.play(music.create_sound_effect(WaveShape.TRIANGLE,
- 692,
- 1,
- 131,
- 0,
- 200,
- SoundExpressionEffect.NONE,
- InterpolationCurve.LINEAR),
- music.PlaybackMode.IN_BACKGROUND)
- tiles.replace_all_tiles(assets.tile("""
- BlueTileOFF
- """),
- assets.tile("""
- HiddenGem
- """))
- tiles.replace_all_tiles(assets.tile("""
- BlueTileOn
- """),
- assets.tile("""
- BlueTileOFF
- """))
- tiles.replace_all_tiles(assets.tile("""
- HiddenGem
- """),
- assets.tile("""
- BlueTileOn
- """))
- for value3 in tiles.get_tiles_by_type(assets.tile("""
- BlueTileOFF
- """)):
- Customeffects("Wand",
- mySprite,
- False,
- 4 + 8 * value3.column,
- 4 + 8 * value3.row,
- 100)
- tiles.set_wall_at(value3, False)
- for value23 in tiles.get_tiles_by_type(assets.tile("""
- BlueTileOn
- """)):
- Customeffects("Wand",
- mySprite,
- False,
- 4 + 8 * value23.column,
- 4 + 8 * value23.row,
- 100)
- tiles.set_wall_at(value23, True)
- else:
- pass
-
- def on_on_overlap2(sprite9, otherSprite2):
- if sprites.read_data_boolean(otherSprite2, "RecentlyPushed"):
- PushTiles(otherSprite2, sprite9)
- sprites.set_data_boolean(otherSprite2, "RecentlyPushed", False)
- elif sprites.read_data_boolean(sprite9, "RecentlyPushed"):
- PushTiles(sprite9, otherSprite2)
- sprites.set_data_boolean(sprite9, "RecentlyPushed", False)
- sprites.on_overlap(SpriteKind.Box, SpriteKind.Box, on_on_overlap2)
-
- def Use_Item(Text: str):
- global Placeholder, PlayCutScene
- if Text == "Sword":
- Placeholder = sprites.create(img("""
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- """),
- SpriteKind.food)
- Placeholder.set_flag(SpriteFlag.GHOST_THROUGH_WALLS, True)
- Placeholder.set_position(sprites.read_data_sprite(Something, "S-Control").x,
- sprites.read_data_sprite(Something, "S-Control").y)
- animation.run_image_animation(Placeholder,
- [img("""
- . . . . . . . . . . . . . .
- . . . 4 4 4 4 . . 4 4 . . .
- . . 4 1 1 1 . . 1 1 1 4 . .
- . 4 1 . . . . . . . . 1 4 .
- . 4 1 . . . . . . . . 1 4 .
- . . 1 . . . . . . . . 1 4 .
- . . . . . . . . . . . . 4 .
- . 4 . . . . . . . . . . . .
- . 4 1 . . . . . . . . 1 . .
- . 4 1 . . . . . . . . 1 4 .
- . 4 1 . . . . . . . . 1 4 .
- . . 4 1 1 1 . . 1 1 1 4 . .
- . . . 4 4 . . 4 4 4 4 . . .
- . . . . . . . . . . . . . .
- """),
- img("""
- . . . . . . . . . . . . . .
- . . . 4 4 4 4 4 . . 4 . . .
- . . 4 1 1 1 1 . . 1 1 4 . .
- . 4 1 . . . . . . . . 1 4 .
- . . 1 . . . . . . . . 1 4 .
- . . . . . . . . . . . 1 4 .
- . 4 . . . . . . . . . 1 4 .
- . 4 1 . . . . . . . . . 4 .
- . 4 1 . . . . . . . . . . .
- . 4 1 . . . . . . . . 1 . .
- . 4 1 . . . . . . . . 1 4 .
- . . 4 1 1 . . 1 1 1 1 4 . .
- . . . 4 . . 4 4 4 4 4 . . .
- . . . . . . . . . . . . . .
- """),
- img("""
- . . . . . . . . . . . . . .
- . . . . 4 4 4 4 4 4 4 . . .
- . . . 4 1 1 1 1 1 1 . . . .
- . 4 . . . . . . . . . 4 . .
- . 4 1 . . . . . . . . 1 4 .
- . 4 1 . . . . . . . . 1 4 .
- . 4 1 . . . . . . . . 1 4 .
- . 4 1 . . . . . . . . 1 4 .
- . 4 1 . . . . . . . . 1 4 .
- . 4 1 . . . . . . . . 1 4 .
- . . 4 . . . . . . . . . 4 .
- . . . . 1 1 1 1 1 1 4 . . .
- . . . 4 4 4 4 4 4 4 . . . .
- . . . . . . . . . . . . . .
- """),
- img("""
- . . . . . . . . . . . . . .
- . . . . 4 4 4 4 . . . . . .
- . . . 4 1 1 1 1 1 4 4 . . .
- . . 4 1 . . . . . . 1 4 . .
- . . 4 . . . . . . . . 1 4 .
- . . 1 . . . . . . . . 1 4 .
- . 4 1 . . . . . . . . 1 4 .
- . 4 1 . . . . . . . . 1 4 .
- . 4 1 . . . . . . . . 1 . .
- . 4 1 . . . . . . . . 4 . .
- . . 4 1 . . . . . . 1 4 . .
- . . . 4 4 1 1 1 1 1 4 . . .
- . . . . . . 4 4 4 4 . . . .
- . . . . . . . . . . . . . .
- """),
- img("""
- . . . . . . . . . . . . . .
- . . . . 4 . . . . . . . . .
- . . . 4 1 4 4 4 4 4 4 . . .
- . . 4 1 1 . 1 1 1 1 1 4 . .
- . . 4 1 . . . . . . 1 1 4 .
- . . 4 1 . . . . . . . 4 . .
- . . 4 1 . . . . . . 1 4 . .
- . . 4 1 . . . . . . 1 4 . .
- . . 4 . . . . . . . 1 4 . .
- . 4 1 1 . . . . . . 1 4 . .
- . . 4 1 1 1 1 1 . 1 1 4 . .
- . . . 4 4 4 4 4 4 1 4 . . .
- . . . . . . . . . 4 . . . .
- . . . . . . . . . . . . . .
- """),
- img("""
- . . . . . . . . . . . . . .
- . . . . . . . . . . . . . .
- . . . . 4 4 4 4 4 4 . . . .
- . . . 4 1 1 1 1 1 1 4 . . .
- . . 4 1 1 . . . . 1 1 4 . .
- . . 4 1 . . . . . . 1 4 . .
- . . 4 1 . . . . . . 1 4 . .
- . . 4 1 . . . . . . 1 4 . .
- . . 4 1 . . . . . . 1 4 . .
- . . 4 1 1 . . . . 1 1 4 . .
- . . . 4 1 1 1 1 1 1 4 . . .
- . . . . 4 4 4 4 4 4 . . . .
- . . . . . . . . . . . . . .
- . . . . . . . . . . . . . .
- """),
- img("""
- . . . . . . . . . . . . . .
- . . . . . . . . . . . . . .
- . . . . . . . . . . . . . .
- . . . . . 4 4 4 4 . . . . .
- . . . . 4 1 1 1 1 4 . . . .
- . . . 4 1 . . . . 1 4 . . .
- . . . 4 1 . . . . 1 4 . . .
- . . . 4 1 . . . . 1 4 . . .
- . . . 4 1 . . . . 1 4 . . .
- . . . . 4 1 1 1 1 4 . . . .
- . . . . . 4 4 4 4 . . . . .
- . . . . . . . . . . . . . .
- . . . . . . . . . . . . . .
- . . . . . . . . . . . . . .
- """)],
- 100,
- False)
- music.play(music.create_sound_effect(WaveShape.SAWTOOTH,
- randint(770, 800),
- 0,
- 98,
- 0,
- 100,
- SoundExpressionEffect.NONE,
- InterpolationCurve.LINEAR),
- music.PlaybackMode.IN_BACKGROUND)
- Placeholder.lifespan = 700
- elif Text == "Book":
- PlayCutScene = True
- Level(99)
- else:
- pass
- def CutScene(Text1: str, Text2: str, Background: Image, Time: number):
- global textSprite, textSprite2
- if PlayCutScene:
- mySprite.set_flag(SpriteFlag.INVISIBLE, True)
- tiles.load_map(tiles.create_small_map(tilemap("""
- EmptyTilemap
- """)))
- scene.set_background_image(Background)
- scene.set_background_color(15)
- textSprite = textsprite.create(Text1, 0, 15)
- textSprite2 = textsprite.create(Text2, 0, 15)
- textSprite.scale = 0
- textSprite2.scale = 0
- textSprite.set_outline(1, 1)
- textSprite2.set_outline(1, 1)
- textSprite.set_position(80, 50)
- textSprite2.set_position(80, 70)
- for index in range(10):
- textSprite.scale += 0.1
- textSprite2.scale += 0.1
- pause(50)
- pause(Time)
- for index2 in range(10):
- textSprite.scale += -0.1
- textSprite2.scale += -0.1
- pause(50)
- sprites.destroy(textSprite)
- sprites.destroy(textSprite2)
- mySprite.set_flag(SpriteFlag.INVISIBLE, False)
- scene.set_background_color(15)
-
- def on_overlap_tile8(sprite10, location8):
- SwapBlocks(2)
- tiles.set_tile_at(location8, assets.tile("""
- BButtonPressed
- """))
- Customeffects("Wand", sprite10, True, 1, 1, 200)
-
- def on_background3():
-
- def on_pause_until2():
- pass
- pause_until(on_pause_until2)
-
- tiles.set_tile_at(location8, assets.tile("""
- BButton
- """))
- timer.background(on_background3)
-
- scene.on_overlap_tile(SpriteKind.player,
- assets.tile("""
- BButton
- """),
- on_overlap_tile8)
-
- def on_overlap_tile9(sprite11, location9):
- global Placeholder
- if sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"), "H-Hand") != spriteutils.null_consts(spriteutils.NullConsts.NULL):
- sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"), "H-Hand").set_position(sprites.read_data_sprite(Something, "S-Control").x,
- sprites.read_data_sprite(Something, "S-Control").y)
- Placeholder = sprites.create(assets.image("""
- Door Open
- """), SpriteKind.Item)
- sprites.set_data_sprite(sprites.read_data_sprite(Something, "S-Control"),
- "H-Hand",
- Placeholder)
- sprites.destroy(Placeholder)
- music.play(music.create_sound_effect(WaveShape.SQUARE,
- 694,
- 583,
- 59,
- 0,
- 100,
- SoundExpressionEffect.NONE,
- InterpolationCurve.LINEAR),
- music.PlaybackMode.IN_BACKGROUND)
- tiles.set_tile_at(location9, assets.tile("""
- TeleporterOff
- """))
- sprite11.set_flag(SpriteFlag.GHOST_THROUGH_TILES, True)
- tiles.place_on_random_tile(sprite11, assets.tile("""
- Teleporter
- """))
- grid.place(sprite11, sprite11.tilemap_location())
- tiles.set_tile_at(grid.get_location(sprite11),
- assets.tile("""
- TeleporterOff
- """))
- sprite11.set_flag(SpriteFlag.GHOST_THROUGH_TILES, False)
-
- def on_background4():
- tiles.set_tile_at(location9, assets.tile("""
- Teleporter
- """))
-
- def on_pause_until3():
- pass
- pause_until(on_pause_until3)
-
- for value4 in tiles.get_tiles_by_type(assets.tile("""
- TeleporterOff
- """)):
- tiles.set_tile_at(value4, assets.tile("""
- Teleporter
- """))
- timer.background(on_background4)
-
- scene.on_overlap_tile(SpriteKind.player,
- assets.tile("""
- Teleporter
- """),
- on_overlap_tile9)
-
- def Customeffects(Type: str, Sprite2: Sprite, Onsprite: bool, X: number, Y: number, Time2: number):
- global myEffect
- myEffect.z = -5
- if Type == "Steps":
- myEffect = extraEffects.create_custom_spread_effect_data([1, 11],
- True,
- [3, 2, 1],
- extraEffects.create_percentage_range(0, 0),
- extraEffects.create_percentage_range(0, 0),
- extraEffects.create_time_range(200, 300),
- 0,
- 0,
- extraEffects.create_percentage_range(50, 100),
- 0,
- 0,
- 200)
- elif Type == "Wand":
- myEffect = extraEffects.create_custom_spread_effect_data([9, 8, 6],
- False,
- extraEffects.create_shrinking_size_table(8),
- extraEffects.create_percentage_range(0, 0),
- extraEffects.create_percentage_range(20, 20),
- extraEffects.create_time_range(200, 600),
- 0,
- 0,
- extraEffects.create_percentage_range(50, 100),
- 0,
- 0,
- 500)
- elif Type == "Twinkle":
- myEffect.z = 4
- myEffect = extraEffects.create_custom_spread_effect_data([2, 4, 5],
- True,
- extraEffects.create_shrinking_size_table(8),
- extraEffects.create_percentage_range(0, 0),
- extraEffects.create_percentage_range(20, 20),
- extraEffects.create_time_range(200, 600),
- 0,
- 0,
- extraEffects.create_percentage_range(50, 100),
- 0,
- 0,
- 500)
- elif Type == "Victory":
- myEffect = extraEffects.create_custom_spread_effect_data([14, 14, 13, 13, 7],
- False,
- [1, 4, 8, 4, 1],
- extraEffects.create_percentage_range(40, 40),
- extraEffects.create_percentage_range(0, 0),
- extraEffects.create_time_range(1000, 1000))
- elif Type == "Fadeout":
- myEffect.z = 4
- myEffect = extraEffects.create_custom_spread_effect_data([15],
- False,
- extraEffects.create_growing_size_table(450),
- extraEffects.create_percentage_range(0, 0),
- extraEffects.create_percentage_range(0, 0),
- extraEffects.create_time_range(1500, 1500))
- elif Type == "Fadein":
- myEffect.z = 5
- myEffect = extraEffects.create_custom_spread_effect_data([15, 15, 15, 15, 15, 15, 1],
- False,
- extraEffects.create_shrinking_size_table(450),
- extraEffects.create_percentage_range(0, 0),
- extraEffects.create_percentage_range(0, 0),
- extraEffects.create_time_range(1500, 1500))
- elif Type == "fall":
- myEffect = extraEffects.create_custom_spread_effect_data([0, 15, 15],
- False,
- extraEffects.create_shrinking_size_table(8),
- extraEffects.create_percentage_range(0, 0),
- extraEffects.create_percentage_range(0, 0),
- extraEffects.create_time_range(500, 500))
- elif Type == "Explode":
- myEffect = extraEffects.create_custom_spread_effect_data([2, 5, 4, 0],
- True,
- extraEffects.create_shrinking_size_table(24),
- extraEffects.create_percentage_range(0, 0),
- extraEffects.create_percentage_range(30, 30),
- extraEffects.create_time_range(500, 500))
- else:
- pass
- if Onsprite:
- extraEffects.create_spread_effect_on_anchor(Sprite2, myEffect, Time2)
- else:
- extraEffects.create_spread_effect_at(myEffect, X, Y, Time2)
-
- def on_overlap_tile10(sprite12, location10):
- global lvl
- tiles.set_tile_at(location10, assets.tile("""
- transparency8
- """))
- Customeffects("Victory", sprite12, True, 1, 1, 1000)
- Customeffects("Victory", sprite12, True, 1, 1, 1000)
- music.play(music.string_playable("F - F E F G B - ", 320),
- music.PlaybackMode.IN_BACKGROUND)
- lvl += 1
-
- def on_after2():
- Customeffects("Fadeout", sprite12, True, 0, 0, 1000)
- music.play(music.create_sound_effect(WaveShape.SINE,
- 1,
- 520,
- 145,
- 0,
- 2000,
- SoundExpressionEffect.NONE,
- InterpolationCurve.LINEAR),
- music.PlaybackMode.IN_BACKGROUND)
- timer.after(2000, on_after2)
-
-
- def on_after3():
- global PlayCutScene
- PlayCutScene = True
- Level(lvl)
- timer.after(3500, on_after3)
-
- scene.on_overlap_tile(SpriteKind.player,
- assets.tile("""
- Exit
- """),
- on_overlap_tile10)
-
- def Level(Lvl: number):
- global textSprite, Placeholder, PlayCutScene, PlayerBoxes
- mySprite.scale = 1
- scene.set_background_color(15)
- mySprite.set_flag(SpriteFlag.GHOST_THROUGH_TILES, False)
- mySprite.set_flag(SpriteFlag.GHOST_THROUGH_SPRITES, False)
- sprites.set_data_sprite(Something, "S-Control", mySprite)
- sprites.destroy_all_sprites_of_kind(SpriteKind.Box)
- sprites.destroy_all_sprites_of_kind(SpriteKind.text)
- sprites.destroy_all_sprites_of_kind(SpriteKind.Item)
- sprites.destroy_all_sprites_of_kind(SpriteKind.enemy)
- for value32 in tiles.get_tiles_by_type(assets.tile("""
- BButton
- """)):
- tiles.set_tile_at(value32, assets.tile("""
- transparency8
- """))
- for value33 in tiles.get_tiles_by_type(assets.tile("""
- BButtonPressed
- """)):
- tiles.set_tile_at(value33, assets.tile("""
- transparency8
- """))
- if Lvl == 0:
- tiles.load_map(tiles.create_small_map(tilemap("""
- level3
- """)))
- textSprite = textsprite.create("Menu to reset", 0, 12)
- textSprite.set_position(100, 10)
- elif Lvl == 1:
- textSprite = textsprite.create("Red is one time use", 0, 12)
- textSprite.set_position(80, 110)
- tiles.load_map(tiles.create_small_map(tilemap("""
- level8
- """)))
- elif Lvl == 2:
- tiles.load_map(tiles.create_small_map(tilemap("""
- level12
- """)))
- elif Lvl == 3:
- textSprite = textsprite.create("Blue toggles on and off", 0, 12)
- textSprite.set_position(80, 20)
- tiles.load_map(tiles.create_small_map(tilemap("""
- level6
- """)))
- elif Lvl == 4:
- CutScene("You have Done well",
- "So far. . .",
- img("""
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- """),
- 2000)
- tiles.load_map(tiles.create_small_map(tilemap("""
- level25
- """)))
- elif Lvl == 5:
- tiles.load_map(tiles.create_small_map(tilemap("""
- level10
- """)))
- elif Lvl == 6:
- tiles.load_map(tiles.create_small_map(tilemap("""
- level23
- """)))
- elif Lvl == 7:
- CutScene("To easy for you?",
- "Lets make this intresting",
- img("""
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- """),
- 4000)
- textSprite = textsprite.create("Boxes Can Cover Pits", 0, 12)
- textSprite.set_position(80, 20)
- tiles.load_map(tiles.create_small_map(tilemap("""
- level15
- """)))
- textSprite = textsprite.create("Pick up With A", 0, 12)
- textSprite.set_position(80, 100)
- elif Lvl == 8:
- tiles.load_map(tiles.create_small_map(tilemap("""
- level27
- """)))
- elif Lvl == 9:
- tiles.load_map(tiles.create_small_map(tilemap("""
- level9
- """)))
- elif Lvl == 10:
- CutScene("Not Bad ",
- "Most make it this far",
- img("""
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- """),
- 3000)
- CutScene("Then Again ",
- "Your not most are you?",
- img("""
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- """),
- 3000)
- tiles.load_map(tiles.create_small_map(tilemap("""
- level17
- """)))
- elif Lvl == 11:
- CutScene("A Knight Driven by Mind",
- "Not War or battle",
- img("""
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- """),
- 3000)
- CutScene("Maybe you are worthy",
- "Only time will tell",
- img("""
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- """),
- 4000)
- textSprite = textsprite.create("", 0, 12)
- tiles.load_map(tiles.create_small_map(tilemap("""
- level20
- """)))
- elif Lvl == 12:
- tiles.load_map(tiles.create_small_map(tilemap("""
- level21
- """)))
- elif Lvl == 13:
- tiles.load_map(tiles.create_small_map(tilemap("""
- level13
- """)))
- elif Lvl == 14:
- textSprite = textsprite.create("Doors > Keys", 0, 12)
- textSprite.set_position(80, 110)
- tiles.load_map(tiles.create_small_map(tilemap("""
- level26
- """)))
- elif Lvl == 15:
- tiles.load_map(tiles.create_small_map(tilemap("""
- level7
- """)))
- elif Lvl == 16:
- CutScene("The last of our tricks",
- "Now can you use them?",
- img("""
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- """),
- 4000)
- textSprite = textsprite.create("Swords break Weak objects", 0, 12)
- textSprite.set_position(80, 100)
- textSprite = textsprite.create("B to Drop", 0, 12)
- textSprite.set_position(100, 15)
- tiles.load_map(tiles.create_small_map(tilemap("""
- level28
- """)))
- elif Lvl == 17:
- CutScene("The Final Stretch",
- "Only 5 More Floors",
- img("""
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- """),
- 3000)
- tiles.load_map(tiles.create_small_map(tilemap("""
- level22
- """)))
- elif Lvl == 18:
- tiles.load_map(tiles.create_small_map(tilemap("""
- level11
- """)))
- elif Lvl == 19:
- tiles.load_map(tiles.create_small_map(tilemap("""
- level29
- """)))
- elif Lvl == 20:
- tiles.load_map(tiles.create_small_map(tilemap("""
- level33
- """)))
- elif Lvl == 21:
- CutScene("The final Floor",
- "we watch with Anticipation",
- img("""
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- """),
- 3000)
- tiles.load_map(tiles.create_small_map(tilemap("""
- level37
- """)))
- elif Lvl == 22:
- tiles.load_map(tiles.create_small_map(tilemap("""
- level41
- """)))
- Placeholder = sprites.create(img("""
- . 6 2 2 2 2 2 .
- . 6 2 c c c 2 .
- . 6 2 c c c 2 .
- . c b b 2 2 2 .
- . c b c c c b .
- . c b b b b b .
- . c b b b b b .
- . c b b b b b .
- """),
- SpriteKind.Item)
- Placeholder.set_position(80, 30)
- sprites.set_data_string(Placeholder, "I-Type", "Book")
- elif Lvl == 99:
- CutScene("As You Open the book",
- "Your mind fills with knowledge",
- img("""
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- """),
- 4000)
- game.set_dialog_frame(img("""
- ffffffffffffffffffffffff
- ffffffffffffffffffffffff
- fffbbbbbbbbbbbbbbbbbbfff
- ffbffffffffffffffffffbff
- ffbfbbbbbbbbbbbbbbbbfbff
- ffbfbbbbbbbbbbbbbbbbfbff
- ffbfbbbbbbbbbbbbbbbbfbff
- ffbfbbbbbbbbbbbbbbbbfbff
- ffbfbbbbbbbbbbbbbbbbfbff
- ffbfbbbbbbbbbbbbbbbbfbff
- ffbfbbbbbbbbbbbbbbbbfbff
- ffbfbbbbbbbbbbbbbbbbfbff
- ffbfbbbbbbbbbbbbbbbbfbff
- ffbfbbbbbbbbbbbbbbbbfbff
- ffbfbbbbbbbbbbbbbbbbfbff
- ffbfbbbbbbbbbbbbbbbbfbff
- ffbfbbbbbbbbbbbbbbbbfbff
- ffbfbbbbbbbbbbbbbbbbfbff
- ffbfbbbbbbbbbbbbbbbbfbff
- ffbfbbbbbbbbbbbbbbbbfbff
- ffbffffffffffffffffffbff
- fffbbbbbbbbbbbbbbbbbbfff
- ffffffffffffffffffffffff
- ffffffffffffffffffffffff
- """))
- game.show_long_text("As you Exit the dungeon Enlighted with knowledge you Wander the world spreading it with all",
- DialogLayout.FULL)
- game.show_long_text("Teaching people to understand there world and how to make it a better place for all ",
- DialogLayout.FULL)
- game.show_long_text("learning humanizes character and prevents it from being cruel So learn on Enlighted Warrior",
- DialogLayout.FULL)
- tiles.load_map(tiles.create_small_map(tilemap("""
- level46
- """)))
- textSprite = textsprite.create("Thank you for playing!", 0, 15)
- textSprite.set_outline(1, 1)
- textSprite.set_position(80, 10)
- textSprite = textsprite.create("I hope you enjoyed it", 0, 15)
- textSprite.set_position(80, 100)
- textSprite.set_outline(1, 1)
- textSprite = textsprite.create("-ADM_F", 0, 8)
- textSprite.set_outline(1, 9)
- textSprite.set_position(100, 110)
- else:
- tiles.load_map(tiles.create_small_map(tilemap("""
- level16
- """)))
- if Lvl < 17:
- ColorGrid(11, 1)
- if Lvl >= 17:
- ColorGrid(6, 8)
- if Lvl == 99:
- ColorGrid(11, 1)
- for value34 in tiles.get_tiles_by_type(assets.tile("""
- Box
- """)):
- Placeholder = sprites.create(assets.image("""
- BoxSprite
- """), SpriteKind.Box)
- grid.place(Placeholder,
- tiles.get_tile_location(value34.column, value34.row))
- for value35 in tiles.get_tiles_by_type(assets.tile("""
- Key
- """)):
- Placeholder = sprites.create(assets.image("""
- Key
- """), SpriteKind.Item)
- sprites.set_data_string(Placeholder, "I-Type", "Key")
- grid.place(Placeholder,
- tiles.get_tile_location(value35.column, value35.row))
- tiles.set_tile_at(value35, assets.tile("""
- transparency8
- """))
- for value36 in tiles.get_tiles_by_type(assets.tile("""
- SwordTile
- """)):
- Placeholder = sprites.create(assets.image("""
- Sword-
- """), SpriteKind.Item)
- sprites.set_data_string(Placeholder, "I-Type", "Sword")
- grid.place(Placeholder,
- tiles.get_tile_location(value36.column, value36.row))
- tiles.set_tile_at(value36, assets.tile("""
- transparency8
- """))
- tiles.replace_all_tiles(assets.tile("""
- Box
- """),
- assets.tile("""
- transparency8
- """))
- for value42 in tiles.get_tiles_by_type(assets.tile("""
- StartingPoint
- """)):
- grid.place(mySprite,
- tiles.get_tile_location(value42.column, value42.row))
- tiles.set_tile_at(value42, assets.tile("""
- transparency8
- """))
- Customeffects("Fadein", mySprite, True, 0, 0, 1000)
- music.play(music.create_sound_effect(WaveShape.SINE,
- 520,
- 1,
- 145,
- 0,
- 2000,
- SoundExpressionEffect.NONE,
- InterpolationCurve.LINEAR),
- music.PlaybackMode.IN_BACKGROUND)
- PlayCutScene = False
- PlayerBoxes = []
- PlayerBoxes.append(mySprite)
- for value5 in sprites.all_of_kind(SpriteKind.Box):
- PlayerBoxes.append(value5)
-
- def on_on_overlap3(sprite13, otherSprite3):
- sprites.set_data_sprite(Something, "S-Control", Something)
- mySprite.set_velocity(otherSprite3.vx * 2, otherSprite3.vy * 2)
- sprite13.set_flag(SpriteFlag.GHOST_THROUGH_TILES, True)
- sprite13.set_flag(SpriteFlag.GHOST_THROUGH_SPRITES, True)
-
- def on_background5():
- Customeffects("Explode", sprite13, True, 1, 1, 600)
- sprite13.scale = 0
- scene.camera_shake(4, 200)
- music.play(music.melody_playable(music.big_crash),
- music.PlaybackMode.IN_BACKGROUND)
- pause(1000)
- Level(lvl)
- timer.background(on_background5)
-
- sprites.on_overlap(SpriteKind.player, SpriteKind.enemy, on_on_overlap3)
-
- def on_on_overlap4(sprite14, otherSprite4):
- otherSprite4.set_velocity(0, 0)
- otherSprite4.set_flag(SpriteFlag.GHOST_THROUGH_SPRITES, True)
- sprites.on_overlap(SpriteKind.Box, SpriteKind.enemy, on_on_overlap4)
-
- def on_right_pressed():
- if Something:
- if not (tiles.tile_at_location_is_wall(tiles.get_tile_location(1 + sprites.read_data_sprite(Something, "S-Control").tilemap_location().column,
- sprites.read_data_sprite(Something, "S-Control").tilemap_location().row))):
- Customeffects("Steps",
- sprites.read_data_sprite(Something, "S-Control"),
- False,
- sprites.read_data_sprite(Something, "S-Control").x,
- sprites.read_data_sprite(Something, "S-Control").y,
- 400)
- grid.move(sprites.read_data_sprite(Something, "S-Control"), 1, 0)
- music.play(music.create_sound_effect(WaveShape.NOISE,
- randint(300, 350),
- 0,
- 104,
- 0,
- 100,
- SoundExpressionEffect.NONE,
- InterpolationCurve.LINEAR),
- music.PlaybackMode.IN_BACKGROUND)
- controller.right.on_event(ControllerButtonEvent.PRESSED, on_right_pressed)
-
- def on_overlap_tile11(sprite15, location11):
- SwapBlocks(2)
- tiles.set_tile_at(location11, assets.tile("""
- BButtonPressed
- """))
- Customeffects("Wand", sprite15, True, 1, 1, 200)
-
- def on_background6():
-
- def on_pause_until4():
- pass
- pause_until(on_pause_until4)
-
- tiles.set_tile_at(location11, assets.tile("""
- BButton
- """))
- timer.background(on_background6)
-
- scene.on_overlap_tile(SpriteKind.Box,
- assets.tile("""
- BButton
- """),
- on_overlap_tile11)
-
- def on_overlap_tile12(sprite16, location12):
- tiles.set_tile_at(location12, assets.tile("""
- transparency8
- """))
- Customeffects("Twinkle", sprite16, True, 1, 1, 500)
- SwapBlocks(1)
- scene.on_overlap_tile(SpriteKind.Box,
- assets.tile("""
- RButton
- """),
- on_overlap_tile12)
-
- def on_overlap_tile13(sprite17, location13):
- mySprite.set_flag(SpriteFlag.GHOST_THROUGH_TILES, True)
- music.play(music.create_sound_effect(WaveShape.TRIANGLE,
- 2954,
- 0,
- 122,
- 0,
- 1500,
- SoundExpressionEffect.NONE,
- InterpolationCurve.LOGARITHMIC),
- music.PlaybackMode.IN_BACKGROUND)
-
- def on_background7():
- for index3 in range(10):
- pause(100)
- mySprite.scale += -0.1
- pause(1000)
- music.play(music.melody_playable(music.big_crash),
- music.PlaybackMode.IN_BACKGROUND)
- Level(lvl)
- timer.background(on_background7)
-
- scene.on_overlap_tile(SpriteKind.player,
- assets.tile("""
- Pit
- """),
- on_overlap_tile13)
-
- def on_overlap_tile14(sprite18, location14):
- tiles.set_tile_at(location14, assets.tile("""
- transparency8
- """))
- tiles.set_wall_at(location14, False)
- scene.on_overlap_tile(SpriteKind.food,
- assets.tile("""
- Cannon UD0
- """),
- on_overlap_tile14)
-
- def on_up_pressed():
- if Something:
- if not (tiles.tile_at_location_is_wall(tiles.get_tile_location(sprites.read_data_sprite(Something, "S-Control").tilemap_location().column,
- -1 + sprites.read_data_sprite(Something, "S-Control").tilemap_location().row))):
- Customeffects("Steps",
- sprites.read_data_sprite(Something, "S-Control"),
- False,
- sprites.read_data_sprite(Something, "S-Control").x,
- sprites.read_data_sprite(Something, "S-Control").y,
- 400)
- grid.move(sprites.read_data_sprite(Something, "S-Control"), 0, -1)
- music.play(music.create_sound_effect(WaveShape.NOISE,
- randint(300, 350),
- 0,
- 127,
- 0,
- 100,
- SoundExpressionEffect.NONE,
- InterpolationCurve.LINEAR),
- music.PlaybackMode.IN_BACKGROUND)
- controller.up.on_event(ControllerButtonEvent.PRESSED, on_up_pressed)
-
- def on_on_overlap5(sprite19, otherSprite5):
- PushTiles(sprite19, otherSprite5)
- sprites.on_overlap(SpriteKind.player, SpriteKind.Box, on_on_overlap5)
-
- def on_down_pressed():
- if not (tiles.tile_at_location_is_wall(tiles.get_tile_location(sprites.read_data_sprite(Something, "S-Control").tilemap_location().column,
- 1 + sprites.read_data_sprite(Something, "S-Control").tilemap_location().row))):
- Customeffects("Steps",
- sprites.read_data_sprite(Something, "S-Control"),
- False,
- sprites.read_data_sprite(Something, "S-Control").x,
- sprites.read_data_sprite(Something, "S-Control").y,
- 400)
- grid.move(sprites.read_data_sprite(Something, "S-Control"), 0, 1)
- music.play(music.create_sound_effect(WaveShape.NOISE,
- randint(300, 350),
- 0,
- 113,
- 0,
- 100,
- SoundExpressionEffect.NONE,
- InterpolationCurve.LINEAR),
- music.PlaybackMode.IN_BACKGROUND)
- controller.down.on_event(ControllerButtonEvent.PRESSED, on_down_pressed)
-
- PlayerBoxes: List[Sprite] = []
- picture: Image = None
- myEffect: SpreadEffectData = None
- mySprite: Sprite = None
- Something: Sprite = None
- textSprite2: TextSprite = None
- textSprite: TextSprite = None
- Placeholder: Sprite = None
- lvl = 0
- PlayCutScene = False
- music.stop_all_sounds()
- PlayCutScene = True
- lvl = 0
- scene.set_background_color(15)
- Placeholder = sprites.create(assets.image("""
- Logo
- """), SpriteKind.PlaceHolder)
- textSprite = textsprite.create("Press A to Start", 0, 1)
- textSprite.set_position(80, 80)
- textSprite2 = textsprite.create("Made by ADM_F", 0, 8)
- textSprite2.set_position(100, 110)
-
- def on_pause_until5():
- pass
- pause_until(on_pause_until5)
-
- if controller.right.is_pressed():
- Keybinds.set_simulator_keymap(Keybinds.PlayerNumber.ONE,
- Keybinds.CustomKey.W,
- Keybinds.CustomKey.S,
- Keybinds.CustomKey.A,
- Keybinds.CustomKey.D,
- Keybinds.CustomKey.F,
- Keybinds.CustomKey.G)
- if controller.up.is_pressed():
- lvl = game.ask_for_number("Level Select ", 2)
- sprites.destroy(textSprite2)
- for index4 in range(10):
- Placeholder.scale += -0.1
- textSprite.scale += -0.1
- pause(50)
- sprites.destroy(textSprite)
- sprites.destroy(Placeholder)
- Something = sprites.create(assets.image("""
- Empty
- """), SpriteKind.Stupid)
- mySprite = sprites.create(assets.image("""
- Sir Blue
- """), SpriteKind.player)
- sprites.set_data_sprite(Something, "S-Control", mySprite)
- CurrentParty = [mySprite]
- characterAnimations.loop_frames(mySprite,
- assets.animation("""
- BlueLeft
- """),
- 300,
- characterAnimations.rule(Predicate.FACING_LEFT))
- characterAnimations.loop_frames(mySprite,
- assets.animation("""
- BlueDown
- """),
- 300,
- characterAnimations.rule(Predicate.FACING_DOWN))
- characterAnimations.loop_frames(mySprite,
- assets.animation("""
- BlueUp
- """),
- 300,
- characterAnimations.rule(Predicate.FACING_UP))
- characterAnimations.loop_frames(mySprite,
- assets.animation("""
- BlueRight
- """),
- 300,
- characterAnimations.rule(Predicate.FACING_RIGHT))
- myEffect = extraEffects.create_custom_spread_effect_data([0, 0],
- False,
- extraEffects.create_preset_size_table(ExtraEffectPresetShape.SPARK),
- extraEffects.create_percentage_range(50, 100),
- extraEffects.create_percentage_range(50, 100),
- extraEffects.create_time_range(200, 400))
- music.play(music.string_playable("G G F A B G A B ", 300),
- music.PlaybackMode.IN_BACKGROUND)
- CutScene("Journey Onward",
- "Warrior Of Blue",
- img("""
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- """),
- 2000)
- music.play(music.create_song(assets.song("""
- Song1
- """)),
- music.PlaybackMode.LOOPING_IN_BACKGROUND)
- Level(lvl)
-
- def on_update_interval():
- global Placeholder
- for value6 in tiles.get_tiles_by_type(assets.tile("""
- Cannon LR
- """)):
- Placeholder = sprites.create(assets.image("""
- LaserSIDE
- """), SpriteKind.enemy)
- tiles.place_on_tile(Placeholder, value6)
- Placeholder.lifespan = 800
- Placeholder.z = -5
- Placeholder.vx = 75
- Placeholder = sprites.create(assets.image("""
- LaserSIDE
- """), SpriteKind.enemy)
- tiles.place_on_tile(Placeholder, value6)
- Placeholder.z = -5
- Placeholder.lifespan = 800
- Placeholder.vx = -75
- for value7 in tiles.get_tiles_by_type(assets.tile("""
- Cannon UD0
- """)):
- Placeholder = sprites.create(assets.image("""
- Laser UPDOWN
- """), SpriteKind.enemy)
- tiles.place_on_tile(Placeholder, value7)
- Placeholder.lifespan = 800
- Placeholder.vy = 75
- Placeholder.z = -5
- Placeholder = sprites.create(assets.image("""
- Laser UPDOWN
- """), SpriteKind.enemy)
- tiles.place_on_tile(Placeholder, value7)
- Placeholder.z = -5
- Placeholder.lifespan = 800
- Placeholder.vy = -75
- game.on_update_interval(100, on_update_interval)
-
- def on_on_update():
- if Something:
- Something.set_position(sprites.read_data_sprite(Something, "S-Control").x,
- sprites.read_data_sprite(Something, "S-Control").y - 7)
- if (characterAnimations.matches_rule(sprites.read_data_sprite(Something, "S-Control"),
- characterAnimations.rule(Predicate.FACING_RIGHT)) or characterAnimations.matches_rule(sprites.read_data_sprite(Something, "S-Control"),
- characterAnimations.rule(Predicate.FACING_DOWN))) and sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"), "H-Hand") != spriteutils.null_consts(spriteutils.NullConsts.NULL):
- if sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"),
- "H-Offhand") != spriteutils.null_consts(spriteutils.NullConsts.NULL):
- sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"),
- "H-Offhand").set_position(-1 + sprites.read_data_sprite(Something, "S-Control").x,
- 2 + sprites.read_data_sprite(Something, "S-Control").y)
- sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"), "H-Hand").set_position(4 + sprites.read_data_sprite(Something, "S-Control").x,
- sprites.read_data_sprite(Something, "S-Control").y)
- elif (characterAnimations.matches_rule(sprites.read_data_sprite(Something, "S-Control"),
- characterAnimations.rule(Predicate.FACING_UP)) or characterAnimations.matches_rule(sprites.read_data_sprite(Something, "S-Control"),
- characterAnimations.rule(Predicate.FACING_LEFT))) and sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"), "H-Hand") != spriteutils.null_consts(spriteutils.NullConsts.NULL):
- sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"), "H-Hand").set_position(-3 + sprites.read_data_sprite(Something, "S-Control").x,
- sprites.read_data_sprite(Something, "S-Control").y)
- if sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"),
- "H-Offhand") != spriteutils.null_consts(spriteutils.NullConsts.NULL):
- sprites.read_data_sprite(sprites.read_data_sprite(Something, "S-Control"),
- "H-Offhand").set_position(3 + sprites.read_data_sprite(Something, "S-Control").x,
- 2 + sprites.read_data_sprite(Something, "S-Control").y)
- game.on_update(on_on_update)
复制代码
|