Python小游戏,猴骑士,制作不易,打个赏吧

class ActionKind(Enum):
    Walking = 0
    Idle = 1
    Jumping = 2
    Working = 3
    Die = 4
    IdleLeft = 5
    WalkRight = 6
    WalkLeft = 7
    JumpRight = 8
    JumpLeft = 9
    FallRight = 10
    FallLeft = 11
    CrouchRight = 12
    CrouchLeft = 13
@namespace
class SpriteKind:
    Trap = SpriteKind.create()
    Coin = SpriteKind.create()
    Tool = SpriteKind.create()
    Block = SpriteKind.create()
    Sword = SpriteKind.create()
    Sword2 = SpriteKind.create()
    Sword3 = SpriteKind.create()
    GoldCoin = SpriteKind.create()
    Brick = SpriteKind.create()
    CoinDown = SpriteKind.create()
    BrickDown = SpriteKind.create()
    stone = SpriteKind.create()
    摆渡 = SpriteKind.create()
    shi = SpriteKind.create()

def on_on_overlap(sprite, otherSprite):
    global 猴致远是否活着
    if 猴致远是否活着:
        猴致远是否活着 = False
        music.ba_ding.play()
        animation.set_action(otherSprite, ActionKind.Working)
sprites.on_overlap(SpriteKind.player, SpriteKind.Trap, on_on_overlap)

def on_hit_wall(sprite2, location):
    if sprite2.tile_kind_at(TileDirection.TOP, assets.tile("""
        myTile0
    """)) and not (第1关创建指示牌):
        music.ba_ding.play()
        创建指示牌()
scene.on_hit_wall(SpriteKind.player, on_hit_wall)

def on_hit_wall2(sprite3, location2):
    sprite3.set_image(img("""
        . . f f f f f . . 
                . f 1 1 1 1 1 f . 
                1 f 1 f f f 1 f 1 
                1 f 1 f 2 f 1 f 1 
                1 f 1 f f f 1 f 1 
                1 f 1 1 1 1 1 f 1 
                1 1 f f f f f 1 1 
                1 1 1 f e f 1 1 1 
                1 1 1 f e f 1 1 1 
                1 1 1 f e f 1 1 1 
                f f f f f f f f f 
                f 5 5 5 5 5 5 5 f 
                f 5 5 5 5 5 5 5 f 
                f 5 5 5 5 5 5 5 f 
                f f f f f f f f f 
                f 1 1 1 f 1 1 1 f 
                f 1 1 1 f 1 1 1 f 
                f 1 1 1 f 1 1 1 f 
                f 1 1 1 f 1 1 1 f 
                f 1 1 1 f 1 1 1 f 
                f 1 1 1 f 1 1 1 f 
                f 1 1 1 f 1 1 1 f 
                f 1 1 1 f 1 1 1 f 
                f 1 1 1 f 1 1 1 f 
                f 1 1 1 f 1 1 1 f 
                f 1 1 1 f 1 1 1 f 
                f 1 1 1 f 1 1 1 f 
                f 1 1 1 f 1 1 1 f 
                f 1 1 1 f 1 1 1 f 
                f 1 1 1 f 1 1 1 f 
                f 1 1 1 f 1 1 1 f 
                f 1 1 1 f 1 1 1 f
    """))
    sprite3.vy = 0
    sprite3.y += 16
scene.on_hit_wall(SpriteKind.Sword3, on_hit_wall2)

def on_on_overlap2(sprite4, otherSprite2):
    if sprite4.top < otherSprite2.top:
        sprite4.bottom = otherSprite2.top
        sprite4.vy = 0
        if controller.A.is_pressed():
            sprite4.vy = -320
sprites.on_overlap(SpriteKind.player, SpriteKind.Brick, on_on_overlap2)

def on_on_overlap3(sprite5, otherSprite3):
    global mySprite
    info.change_score_by(100)
    otherSprite3.destroy(effects.spray, 500)
    mySprite = sprites.create(img("""
            ff.........................................................................fffff
                    f1ff....................................................................fff1111f
                    f111ff...............................................................fff1111111f
                    f1111fff.............................................................ff11111111f
                    f1111111f..............................................................f1111111f
                    f11111ff................................................................ff11111f
                    f111ff....................................................................ff111f
                    f1fff......................................................................ff11f
                    fff.........................................................................ff1f
                    f11ff.......................................................................ffff
                    f1111ffff.................................................................ff111f
                    f1111111ff..............................................................ff11111f
                    f111111ff..............................................................f1111111f
                    f11111f...............................................................ffff11111f
                    f1111f....................................................................ffffff
                    f11ff........................................................................fff
                    ffff.......................................................................ff11f
                    fffff.....................................................................f1111f
                    f1111ffff................................................................f11111f
                    f111111ff..............................................................ff111111f
                    f11111f...............................................................f11111111f
                    f1111ff.............................................................ff111111111f
                    f11fff.............................................................fffffffffff1f
                    f1ff.........................................................................f1f
                    f1fff........................................................................f1f
                    f111ffff....................................................................f11f
                    f1111111ff..................................................................f11f
                    f1111fffff.................................................................f111f
                    f1fff.....................................................................f1111f
                    fff......................................................................fffffff
                    fff.........................................................................ff1f
                    f11f.....................................................................fff111f
                    f111ff.................................................................ff111111f
                    f11111ff.............................................................ff11111111f
                    f111111ff..........................................................ff1111111111f
                    f111111ff...........................................................fffff111111f
                    fffffff..................................................................ffff11f
                    ffff.........................................................................fff
                    f111ffff...................................................................fff1f
                    f1111111f...............................................................fff1111f
                    f111111ff.............................................................ff1111111f
                    f111fff..............................................................fffffffff1f
                    f11ff......................................................................fff1f
                    f1ffff.................................................................ffff1111f
                    f11111fffff..........................................................ff11111111f
                    f1111111ff...........................................................ffffff1111f
                    f111111f...................................................................fff1f
                    f11111f.......................................................................ff
        """),
        SpriteKind.Trap)
    mySprite.set_position(otherSprite3.x, otherSprite3.y - 16)
sprites.on_overlap(SpriteKind.player, SpriteKind.Coin, on_on_overlap3)

def on_hit_wall3(sprite6, location3):
    if sprite6.vx < 0:
        sprite6.vx = 50
    elif sprite6.vx > 0:
        sprite6.vx = -50
scene.on_hit_wall(SpriteKind.摆渡, on_hit_wall3)

def 初始化地图信息():
    global 第1关创建指示牌, 猴致远是否活着, 脸是否向左, mySprite
    第1关创建指示牌 = False
    猴致远是否活着 = True
    脸是否向左 = False
    animation.set_action(猴致远, ActionKind.Idle)
    for 值 in tiles.get_tiles_by_type(assets.tile("""
        myTile
    """)):
        tiles.set_wall_at(值, True)
    for 值2 in tiles.get_tiles_by_type(assets.tile("""
        myTile8
    """)):
        tiles.set_wall_at(值2, True)
    for 值3 in tiles.get_tiles_by_type(assets.tile("""
        myTile0
    """)):
        tiles.set_wall_at(值3, True)
    for 值4 in tiles.get_tiles_by_type(assets.tile("""
        myTile1
    """)):
        tiles.place_on_tile(猴致远, 值4)
        tiles.set_tile_at(值4, assets.tile("""
            transparency16
        """))
    for 值5 in tiles.get_tiles_by_type(assets.tile("""
        myTile9
    """)):
        mySprite = sprites.create(img("""
                . . b b b b . . 
                            . b 5 5 5 5 b . 
                            b 5 d 3 3 d 5 b 
                            b 5 3 5 5 1 5 b 
                            c 5 3 5 5 1 d c 
                            c d d 1 1 d d c 
                            . f d d d d f . 
                            . . f f f f . .
            """),
            SpriteKind.Coin)
        animation.run_image_animation(mySprite,
            [img("""
                    . . b b b b . . 
                                . b 5 5 5 5 b . 
                                b 5 d 3 3 d 5 b 
                                b 5 3 5 5 1 5 b 
                                c 5 3 5 5 1 d c 
                                c d d 1 1 d d c 
                                . f d d d d f . 
                                . . f f f f . .
                """),
                img("""
                    . . b b b . . . 
                                . b 5 5 5 b . . 
                                b 5 d 3 d 5 b . 
                                b 5 3 5 1 5 b . 
                                c 5 3 5 1 d c . 
                                c 5 d 1 d d c . 
                                . f d d d f . . 
                                . . f f f . . .
                """),
                img("""
                    . . . b b . . . 
                                . . b 5 5 b . . 
                                . b 5 d 1 5 b . 
                                . b 5 3 1 5 b . 
                                . c 5 3 1 d c . 
                                . c 5 1 d d c . 
                                . . f d d f . . 
                                . . . f f . . .
                """),
                img("""
                    . . . b b . . . 
                                . . b 5 5 b . . 
                                . . b 1 1 b . . 
                                . . b 5 5 b . . 
                                . . b d d b . . 
                                . . c d d c . . 
                                . . c 3 3 c . . 
                                . . . f f . . .
                """),
                img("""
                    . . . b b . . . 
                                . . b 5 5 b . . 
                                . b 5 1 d 5 b . 
                                . b 5 1 3 5 b . 
                                . c d 1 3 5 c . 
                                . c d d 1 5 c . 
                                . . f d d f . . 
                                . . . f f . . .
                """),
                img("""
                    . . . b b b . . 
                                . . b 5 5 5 b . 
                                . b 5 d 3 d 5 b 
                                . b 5 1 5 3 5 b 
                                . c d 1 5 3 5 c 
                                . c d d 1 d 5 c 
                                . . f d d d f . 
                                . . . f f f . .
                """)],
            100,
            True)
        tiles.place_on_tile(mySprite, 值5)
        tiles.set_tile_at(值5, assets.tile("""
            transparency16
        """))
    for 值6 in tiles.get_tiles_by_type(assets.tile("""
        myTile3
    """)):
        创建云朵()
    for 值7 in tiles.get_tiles_by_type(assets.tile("""
        myTile6
    """)):
        创建草丛()
    if 当前关卡 == 2:
        mySprite = sprites.create(img("""
                fffffffffffffff.
                            f1111111111111ff
                            f11111ffffffffff
                            f11ffff.........
                            ffff............
                            fff.............
                            f1fffffffff.....
                            f1111111111ffff.
                            f1111ffffffffff.
                            f1fff...........
                            f1fff...........
                            fff.............
                            f11ffff.........
                            f111111fff......
                            f11111111fff....
                            f11111111111ff..
                            f1111111111111ff
                            f111111111111ff.
                            f1111111111ff...
                            f1111111fff.....
                            f11111ff........
                            f1111f..........
                            f11ff...........
                            f1f.............
                            ff..............
                            f1ff............
                            f111ff..........
                            f11111ff........
                            f1111111ff......
                            f111111111fff...
                            f11111111111ff..
                            f1111111111111f.
                            f11111111111111f
                            f11111111111fff.
                            f11111111fff....
                            f1111111f.......
                            f1111fff........
                            f11ff...........
                            fff.............
                            ffff............
                            f111fff.........
                            f111111fff......
                            f111111111fff...
                            f11111111111ffff
                            f1111111111111ff
                            f111111111111f..
                            f11111111111f...
                            f111111111ff....
                            f111111fff......
                            f1111ff.........
                            f11ff...........
                            fff.............
                            ff..............
                            fff.............
                            f11ff...........
                            f1111fff........
                            f1111111ffff....
                            f11111111111ffff
                            f11111111111111f
                            f111111111111ff.
                            f111111111fff...
                            f1111111ff......
                            f11111fff.......
                            f111ff..........
                            f1ff............
                            ff..............
                            fffffff.........
                            f111111ffffffff.
                            f1111111111111ff
                            f11111111111fff.
                            f11111111fff....
                            f111111ff.......
                            f11111f.........
                            f11fff..........
                            f1ff............
                            f1fff...........
                            f111ffff........
                            f1111111ffffffff
                            f1111111111111ff
                            ffffffffffffff..
            """),
            SpriteKind.Tool)
        mySprite.set_position(-16, 120)
        mySprite.set_flag(SpriteFlag.GHOST_THROUGH_WALLS, True)
    elif 当前关卡 == 3:
        mySprite = sprites.create(img("""
                ..11111111ffffffffffffffffffffffffffffffffff....
                            .fffff1111f555f11111111111111111111111111111f...
                            f11111f111f555f111111111111111111111111111111f..
                            f1fff1fffff555f1111111111111111111111111111111f.
                            f1f2f1feeef555ffffffffffffffffffffffffff111ff11f
                            f1fff1fffff555f1111111111111111111111111111111f.
                            f11111f111f555f111111111111111111111111111111f..
                            .fffff1111f555f11111111111111111111111111111f...
                            ..11111111ffffffffffffffffffffffffffffffffff....
            """),
            SpriteKind.Sword)
        mySprite.set_position(-30, 136)
        mySprite = sprites.create(img("""
                ..11111111ffffffffffffffffffffffffff....
                            .fffff1111f555f111111111111111111111f...
                            f11111f111f555f1111111111111111111111f..
                            f1fff1fffff555f11111111111111111111111f.
                            f1f2f1feeef555fffffffffffffffffffffff11f
                            f1fff1fffff555f11111111111111111111111f.
                            f11111f111f555f1111111111111111111111f..
                            .fffff1111f555f111111111111111111111f...
                            ..11111111ffffffffffffffffffffffffff....
            """),
            SpriteKind.Sword)
        mySprite.set_position(-30, 104)
        mySprite = sprites.create(img("""
                . . 1 1 1 1 1 1 1 1 f f f f f f f f f f f f f f f f f f . . . . 
                            . f f f f f 1 1 1 1 f 5 5 5 f 1 1 1 1 1 1 1 1 1 1 1 1 1 f . . . 
                            f 1 1 1 1 1 f 1 1 1 f 5 5 5 f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 f . . 
                            f 1 f f f 1 f f f f f 5 5 5 f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 f . 
                            f 1 f 2 f 1 f e e e f 5 5 5 f f f f f f f f f f f f f f f 1 1 f 
                            f 1 f f f 1 f f f f f 5 5 5 f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 f . 
                            f 1 1 1 1 1 f 1 1 1 f 5 5 5 f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 f . . 
                            . f f f f f 1 1 1 1 f 5 5 5 f 1 1 1 1 1 1 1 1 1 1 1 1 1 f . . . 
                            . . 1 1 1 1 1 1 1 1 f f f f f f f f f f f f f f f f f f . . . .
            """),
            SpriteKind.Sword)
        mySprite.set_position(-30, 72)
        mySprite = sprites.create(img("""
                ....ffffffffffffffffffffffffffffffffff11111111..
                            ...f11111111111111111111111111111f555f1111fffff.
                            ..f111111111111111111111111111111f555f111f11111f
                            .f1111111111111111111111111111111f555fffff1fff1f
                            f11ff111ffffffffffffffffffffffffff555feeef1f2f1f
                            .f1111111111111111111111111111111f555fffff1fff1f
                            ..f111111111111111111111111111111f555f111f11111f
                            ...f11111111111111111111111111111f555f1111fffff.
                            ....ffffffffffffffffffffffffffffffffff11111111..
            """),
            SpriteKind.Sword2)
        mySprite.set_position(400, 136)
        mySprite = sprites.create(img("""
                ....ffffffffffffffffffffffffff11111111..
                            ...f111111111111111111111f555f1111fffff.
                            ..f1111111111111111111111f555f111f11111f
                            .f11111111111111111111111f555fffff1fff1f
                            f11fffffffffffffffffffffff555feeef1f2f1f
                            .f11111111111111111111111f555fffff1fff1f
                            ..f1111111111111111111111f555f111f11111f
                            ...f111111111111111111111f555f1111fffff.
                            ....ffffffffffffffffffffffffff11111111..
            """),
            SpriteKind.Sword2)
        mySprite.set_position(400, 104)
        mySprite = sprites.create(img("""
                . . . . f f f f f f f f f f f f f f f f f f 1 1 1 1 1 1 1 1 . . 
                            . . . f 1 1 1 1 1 1 1 1 1 1 1 1 1 f 5 5 5 f 1 1 1 1 f f f f f . 
                            . . f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 f 5 5 5 f 1 1 1 f 1 1 1 1 1 f 
                            . f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 f 5 5 5 f f f f f 1 f f f 1 f 
                            f 1 1 f f f f f f f f f f f f f f f 5 5 5 f e e e f 1 f 2 f 1 f 
                            . f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 f 5 5 5 f f f f f 1 f f f 1 f 
                            . . f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 f 5 5 5 f 1 1 1 f 1 1 1 1 1 f 
                            . . . f 1 1 1 1 1 1 1 1 1 1 1 1 1 f 5 5 5 f 1 1 1 1 f f f f f . 
                            . . . . f f f f f f f f f f f f f f f f f f 1 1 1 1 1 1 1 1 . .
            """),
            SpriteKind.Sword2)
        mySprite.set_position(400, 72)
    for 值8 in tiles.get_tiles_by_type(assets.tile("""
        myTile18
    """)):
        mySprite = sprites.create(img("""
                ..fffff..
                            .f11111f.
                            1f1fff1f1
                            1f1f2f1f1
                            1f1fff1f1
                            1f11111f1
                            11fffff11
                            111fef111
                            111fef111
                            111fef111
                            fffffffff
                            f5555555f
                            f5555555f
                            f5555555f
                            fffffffff
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f111f111f
                            f1111111f
                            f1111111f
                            f1111111f
                            f111f111f
                            .f11f11f.
                            ..f111f..
                            ...f1f...
                            ....f....
            """),
            SpriteKind.Sword3)
        tiles.place_on_tile(mySprite, 值8)
        tiles.set_tile_at(值8, assets.tile("""
            transparency16
        """))
        mySprite.set_flag(SpriteFlag.INVISIBLE, True)
    for 值9 in tiles.get_tiles_by_type(assets.tile("""
        myTile19
    """)):
        mySprite = sprites.create(img("""
                . . . . . . . . 
                            . . . . . . . . 
                            . . . . . . . . 
                            . . . . . . . . 
                            . . . . . . . . 
                            . . . . . . . . 
                            . . . 3 . . . . 
                            . . . . . . . .
            """),
            SpriteKind.GoldCoin)
        tiles.place_on_tile(mySprite, 值9)
        animation.run_image_animation(mySprite,
            [img("""
                    . . b b b b . . 
                                . b 5 5 5 5 b . 
                                b 5 d 3 3 d 5 b 
                                b 5 3 5 5 1 5 b 
                                c 5 3 5 5 1 d c 
                                c d d 1 1 d d c 
                                . f d d d d f . 
                                . . f f f f . .
                """),
                img("""
                    . . b b b . . . 
                                . b 5 5 5 b . . 
                                b 5 d 3 d 5 b . 
                                b 5 3 5 1 5 b . 
                                c 5 3 5 1 d c . 
                                c 5 d 1 d d c . 
                                . f d d d f . . 
                                . . f f f . . .
                """),
                img("""
                    . . . b b . . . 
                                . . b 5 5 b . . 
                                . b 5 d 1 5 b . 
                                . b 5 3 1 5 b . 
                                . c 5 3 1 d c . 
                                . c 5 1 d d c . 
                                . . f d d f . . 
                                . . . f f . . .
                """),
                img("""
                    . . . b b . . . 
                                . . b 5 5 b . . 
                                . . b 1 1 b . . 
                                . . b 5 5 b . . 
                                . . b d d b . . 
                                . . c d d c . . 
                                . . c 3 3 c . . 
                                . . . f f . . .
                """),
                img("""
                    . . . b b . . . 
                                . . b 5 5 b . . 
                                . b 5 1 d 5 b . 
                                . b 5 1 3 5 b . 
                                . c d 1 3 5 c . 
                                . c d d 1 5 c . 
                                . . f d d f . . 
                                . . . f f . . .
                """),
                img("""
                    . . . b b b . . 
                                . . b 5 5 5 b . 
                                . b 5 d 3 d 5 b 
                                . b 5 1 5 3 5 b 
                                . c d 1 5 3 5 c 
                                . c d d 1 d 5 c 
                                . . f d d d f . 
                                . . . f f f . .
                """)],
            100,
            True)
    for 值10 in tiles.get_tiles_by_type(assets.tile("""
        myTile20
    """)):
        mySprite = sprites.create(img("""
                . . . . . . . . 
                            . . . . . . . . 
                            . . . . . . . . 
                            . . . . . . . . 
                            . . . . . . . . 
                            . . . . . . . . 
                            . . . 3 . . . . 
                            . . . . . . . .
            """),
            SpriteKind.CoinDown)
        tiles.place_on_tile(mySprite, 值10)
        tiles.set_tile_at(值10, assets.tile("""
            transparency16
        """))
        animation.run_image_animation(mySprite,
            [img("""
                    . . b b b b . . 
                                . b 5 5 5 5 b . 
                                b 5 d 3 3 d 5 b 
                                b 5 3 5 5 1 5 b 
                                c 5 3 5 5 1 d c 
                                c d d 1 1 d d c 
                                . f d d d d f . 
                                . . f f f f . .
                """),
                img("""
                    . . b b b . . . 
                                . b 5 5 5 b . . 
                                b 5 d 3 d 5 b . 
                                b 5 3 5 1 5 b . 
                                c 5 3 5 1 d c . 
                                c 5 d 1 d d c . 
                                . f d d d f . . 
                                . . f f f . . .
                """),
                img("""
                    . . . b b . . . 
                                . . b 5 5 b . . 
                                . b 5 d 1 5 b . 
                                . b 5 3 1 5 b . 
                                . c 5 3 1 d c . 
                                . c 5 1 d d c . 
                                . . f d d f . . 
                                . . . f f . . .
                """),
                img("""
                    . . . b b . . . 
                                . . b 5 5 b . . 
                                . . b 1 1 b . . 
                                . . b 5 5 b . . 
                                . . b d d b . . 
                                . . c d d c . . 
                                . . c 3 3 c . . 
                                . . . f f . . .
                """),
                img("""
                    . . . b b . . . 
                                . . b 5 5 b . . 
                                . b 5 1 d 5 b . 
                                . b 5 1 3 5 b . 
                                . c d 1 3 5 c . 
                                . c d d 1 5 c . 
                                . . f d d f . . 
                                . . . f f . . .
                """),
                img("""
                    . . . b b b . . 
                                . . b 5 5 5 b . 
                                . b 5 d 3 d 5 b 
                                . b 5 1 5 3 5 b 
                                . c d 1 5 3 5 c 
                                . c d d 1 d 5 c 
                                . . f d d d f . 
                                . . . f f f . .
                """)],
            100,
            True)
    for 值11 in tiles.get_tiles_by_type(assets.tile("""
        myTile21
    """)):
        mySprite = sprites.create(img("""
                d 1 1 1 1 1 1 b d 1 1 1 1 1 1 b 
                            1 d d d d d d b 1 d d d d d d b 
                            1 d d d d d d b 1 d d d d d d b 
                            1 d d d d d d b 1 d d d d d d b 
                            1 d d d d d d b 1 d d d d d d b 
                            1 d d d d d d b 1 d d d d d d b 
                            1 d d d d d d d 1 d d d d d d d 
                            b b b b b b d e b b b b b b d e 
                            d 1 1 1 1 1 1 b d 1 1 1 1 1 1 b 
                            1 d d d d d d b 1 d d d d d d b 
                            1 d d d d d d b 1 d d d d d d b 
                            1 d d d d d d b 1 d d d d d d b 
                            1 d d d d d d b 1 d d d d d d b 
                            1 d d d d d d b 1 d d d d d d b 
                            1 d d d d d d d 1 d d d d d d d 
                            b b b b b b d e d b b b b b b e
            """),
            SpriteKind.BrickDown)
        tiles.place_on_tile(mySprite, 值11)
        tiles.set_tile_at(值11, assets.tile("""
            transparency16
        """))
    for 值12 in tiles.get_tiles_by_type(assets.tile("""
        myTile22
    """)):
        mySprite = sprites.create(img("""
                ffffffffffffffffffffffffffffffffffffffffffffffff
                            f7777777777777777777777777777777777777777777777f
                            f7777777777777777777777777777777777777777777777f
                            f7777777777777777777777777777777777111111111111f
                            f1777777777777777777777777777777777111111111111f
                            f1177777777777777777777777777777771111111111111f
                            f1117777777777777777777777777777771111111111111f
                            f1111111777777777777777777777777711111111111111f
                            f1111111177777777777777777777771111111111111111f
                            f1111111111177777777777777771111111111111111111f
                            f1111111111111111111111111111111111111111111111f
                            f111111111111111111111fffff1111fff11111f1111111f
                            f11111111111111111111ff111111ff11ff1111f111f111f
                            f11111111111111111111f1111111f1111f1111f111f111f
                            f11111ff44ff111111111f111fff1f1111f1111f111f111f
                            f1111f545545f11111111ff111f11f1111f1111f111f111f
                            f111fe455554ef11111111ff11f111ffff11111f111f111f
                            f11fb3e4444e3bf11111111ffff1111111111111111f111f
                            f11f3333333333f1111111111111111111111111111f111f
                            f1f33eb3ee3be33f11111111111111111111111f1111111f
                            f1f33ffeeeeff33f111111111111111111111111111f111f
                            f1fbbfbfeefbfbbf111111111111111111111f111111111f
                            f1fbbe1f44f1ebbf1111111111111111111111ff1111111f
                            fffbbf444444fbbff11111111111ffffffffffff1111111f
                            ffbbfffeeeefffbbf1111111111f111111fff111ff11111f
                            f1feefbddddbfeef11111111111111111111111fff11111f
                            f11e4cddddddc4e11111111111111111111111ff1111111f
                            f11efbdbdbdbbfe1111111111111111111111ff11111111f
                            f111ff1d1d1dff111111111111111111111111111111111f
                            f11111ffbbff11111111111111111111111111111111111f
                            ffffffffffffffffffffffffffffffffffffffffffffffff
            """),
            SpriteKind.stone)
        tiles.place_on_tile(mySprite, 值12)
        tiles.set_tile_at(值12, assets.tile("""
            transparency16
        """))
    for 值13 in tiles.get_tiles_by_type(assets.tile("""
        myTile24
    """)):
        mySprite = sprites.create(img("""
                ...cccccccccccccccccc...
                            ..cbddddddddddddddddbc..
                            .cddddddddddddddddddddc.
                            .cddbbbbbbbbbbbbbbbbddc.
                            .cdbbbbbbbbbbbbbbbbbbdc.
                            .cdbbbbbbbbbbbbbbbbbbdc.
                            cbbbccccccccccccccccbbbc
                            cddcbddddddddddddddbcddc
                            cddcddddddddddddddddcddc
                            cddcddddddddddddddddcddc
                            cddcddddddddddddddddcddc
                            cbdcddddddddddddddddcdbc
                            ccbbbbbbbbbbbbbbbbbbbbcc
                            ccbbbbbbbbbbbbbbbbbbbbcc
                            cccccccccccccccccccccccc
                            ..cbbc............cbbc..
            """),
            SpriteKind.摆渡)
        tiles.place_on_tile(mySprite, 值13)
        tiles.set_tile_at(值13, assets.tile("""
            transparency16
        """))
        mySprite.vx = 50
    for 值14 in tiles.get_tiles_by_type(assets.tile("""
        myTile25
    """)):
        mySprite = sprites.create(img("""
                . . . . 7 7 7 7 7 7 7 7 . . b b 
                            . . . 7 7 7 7 7 7 7 7 7 7 b b b 
                            . . 7 7 7 7 7 7 7 7 7 7 7 . b b 
                            . . 7 7 7 7 7 7 7 7 7 7 7 b b b 
                            7 7 7 7 7 7 7 7 7 7 7 7 7 b b b 
                            . . . b f 1 f 1 3 f 1 f b b b b 
                            . . . b 1 f f f f f f 1 b b b b 
                            . . b d f f f 1 1 f f f d e 2 2 
                            . . b d 3 3 1 1 1 1 1 e e e 2 2 
                            . . 5 b 3 3 1 1 1 e e e e e . . 
                            . 5 5 b b d 1 1 e e e e e c . . 
                            . 5 5 5 5 d d d e e e b d 5 . . 
                            . . 5 5 5 5 b b 5 5 b 5 5 5 5 5 
                            . . 5 5 5 5 b 5 5 5 d 5 5 5 5 5 
                            . . 5 5 5 5 d 5 5 5 b 5 5 . 5 . 
                            . . . . 5 5 5 5 5 5 5 5 . 5 . .
            """),
            SpriteKind.enemy)
        tiles.place_on_tile(mySprite, 值14)
        tiles.set_tile_at(值14, assets.tile("""
            transparency16
        """))
        mySprite.vx = 50

def on_on_overlap4(sprite7, otherSprite4):
    global mySprite
    music.ba_ding.play()
    otherSprite4.destroy()
    mySprite = sprites.create(img("""
            d 1 1 1 1 1 1 b d 1 1 1 1 1 1 b 
                    1 d d d d d d b 1 d d d d d d b 
                    1 d d d d d d b 1 d d d d d d b 
                    1 d d d d d d b 1 d d d d d d b 
                    1 d d d d d d b 1 d d d d d d b 
                    1 d d d d d d b 1 d d d d d d b 
                    1 d d d d d d d 1 d d d d d d d 
                    b b b b b b d e b b b b b b d e 
                    d 1 1 1 1 1 1 b d 1 1 1 1 1 1 b 
                    1 d d d d d d b 1 d d d d d d b 
                    1 d d d d d d b 1 d d d d d d b 
                    1 d d d d d d b 1 d d d d d d b 
                    1 d d d d d d b 1 d d d d d d b 
                    1 d d d d d d b 1 d d d d d d b 
                    1 d d d d d d d 1 d d d d d d d 
                    b b b b b b d e d b b b b b b e
        """),
        SpriteKind.Brick)
    mySprite.set_position(otherSprite4.x, otherSprite4.y + 48)
    mySprite.vy = -30
sprites.on_overlap(SpriteKind.player, SpriteKind.GoldCoin, on_on_overlap4)

def on_on_overlap5(sprite8, otherSprite5):
    music.ba_ding.play()
    otherSprite5.destroy()
sprites.on_overlap(SpriteKind.player, SpriteKind.CoinDown, on_on_overlap5)

def on_overlap_tile(sprite9, location4):
    tiles.set_tile_at(location4, assets.tile("""
        transparency16
    """))
scene.on_overlap_tile(SpriteKind.player,
    assets.tile("""
        myTile13
    """),
    on_overlap_tile)

def on_overlap_tile2(sprite10, location5):
    if 猴致远.tile_kind_at(TileDirection.TOP, assets.tile("""
        myTile4
    """)) and 猴致远.vy < 0:
        tiles.set_wall_at(location5, True)
        tiles.set_tile_at(location5, assets.tile("""
            myTile5
        """))
        music.ba_ding.play()
scene.on_overlap_tile(SpriteKind.player,
    assets.tile("""
        myTile4
    """),
    on_overlap_tile2)

def on_a_pressed():
    if 猴致远.is_hitting_tile(CollisionDirection.BOTTOM):
        猴致远.vy = -320
controller.A.on_event(ControllerButtonEvent.PRESSED, on_a_pressed)

def 清除精灵():
    for 值15 in sprites.all_of_kind(SpriteKind.Trap):
        值15.destroy()
    for 值16 in sprites.all_of_kind(SpriteKind.Coin):
        值16.destroy()
    for 值17 in sprites.all_of_kind(SpriteKind.Tool):
        值17.destroy()
    for 值18 in sprites.all_of_kind(SpriteKind.Sword):
        值18.destroy()
    for 值19 in sprites.all_of_kind(SpriteKind.Sword2):
        值19.destroy()
    for 值20 in sprites.all_of_kind(SpriteKind.Sword3):
        值20.destroy()
    for 值21 in sprites.all_of_kind(SpriteKind.GoldCoin):
        值21.destroy()
    for 值22 in sprites.all_of_kind(SpriteKind.Brick):
        值22.destroy()
    for 值23 in sprites.all_of_kind(SpriteKind.CoinDown):
        值23.destroy()
    for 值24 in sprites.all_of_kind(SpriteKind.BrickDown):
        值24.destroy()
    for 值25 in sprites.all_of_kind(SpriteKind.stone):
        值25.destroy()
    for 值26 in sprites.all_of_kind(SpriteKind.摆渡):
        值26.destroy()
    for 值27 in sprites.all_of_kind(SpriteKind.enemy):
        值27.destroy()

def on_on_overlap6(sprite11, otherSprite6):
    global 猴致远是否活着
    if otherSprite6.x <= sprite11.x and otherSprite6.top <= sprite11.top:
        猴致远是否活着 = False
    elif sprite11.top < otherSprite6.top:
        sprite11.bottom = otherSprite6.top
        sprite11.vy = 0
        if controller.A.is_pressed():
            sprite11.vy = -320
sprites.on_overlap(SpriteKind.player, SpriteKind.Tool, on_on_overlap6)

def on_overlap_tile3(sprite12, location6):
    global 当前关卡
    当前关卡 += 1
    if 当前关卡 <= 关卡总量:
        更新地图()
    else:
        game.over(True)
scene.on_overlap_tile(SpriteKind.player,
    assets.tile("""
        myTile12
    """),
    on_overlap_tile3)

def on_overlap_tile4(sprite13, location7):
    sprite13.vx = 0
    tiles.set_tile_at(location7, assets.tile("""
        transparency16
    """))
scene.on_overlap_tile(SpriteKind.Tool,
    assets.tile("""
        myTile16
    """),
    on_overlap_tile4)

def on_on_overlap7(sprite14, otherSprite7):
    global 猴致远是否活着
    if otherSprite7.left > sprite14.left and otherSprite7.top <= sprite14.top:
        猴致远是否活着 = False
    elif sprite14.top < otherSprite7.top:
        sprite14.bottom = otherSprite7.top
        sprite14.vy = 0
        if controller.A.is_pressed():
            sprite14.vy = -320
sprites.on_overlap(SpriteKind.player, SpriteKind.Sword2, on_on_overlap7)

def 创建英雄():
    global 猴致远, anim
    猴致远 = sprites.create(img("""
            . . . . . . . f f f f f . . . . 
                    . . . . . . f e e e e e f . . . 
                    . . . . . f e e e d d d d f . . 
                    . . . . f f e e d f d d f d c . 
                    . . . f d d e e d f d d f d c . 
                    . . . c d b e e d d d d e e d . 
                    . . . c d b e e d d c d d d d . 
                    . . . . c f e e e d d c c c c . 
                    . . . . . f f e e e d d d d f . 
                    . . . . f e e e e f f f f f . . 
                    . f . f e e e e e e f f . . . . 
                    . f . f e e f e e f e e f . . . 
                    . f . f e e e f e e f e e f . . 
                    . f f f e f b b f b d f d b f . 
                    . f f f e b d d f d d f d d f . 
                    . f f f f f f f f f f f f f . .
        """),
        SpriteKind.player)
    controller.move_sprite(猴致远, 80, 0)
    猴致远.ay = 980
    猴致远.z = 10
    猴致远.set_flag(SpriteFlag.SHOW_PHYSICS, True)
    scene.camera_follow_sprite(猴致远)
    anim = animation.create_animation(ActionKind.Idle, 1000)
    animation.attach_animation(猴致远, anim)
    anim.add_animation_frame(img("""
        . . . . . . . f f f f f . . . . 
                . . . . . . f e e e e e f . . . 
                . . . . . f e e e d d d d f . . 
                . . . . f f e e d f d d f d c . 
                . . . f d d e e d f d d f d c . 
                . . . c d b e e d d d d e e d c 
                . . . c d b e e d d c d d d d c 
                . . . . c f e e e d d c c c c c 
                . . . . . f f e e e d d d d f . 
                . . . . f e e e e f f f f f . . 
                f f . f e e e e e e f f . . . . 
                f e . f e e f e e f e e f . . . 
                f e . f e e e f e e f e e f . . 
                f e f f e f b b f b d f d b f . 
                f f f f e b d d f d d f d d f . 
                . f f f f f f f f f f f f f . .
    """))
    anim = animation.create_animation(ActionKind.IdleLeft, 1000)
    animation.attach_animation(猴致远, anim)
    anim.add_animation_frame(img("""
        . . . . f f f f f . . . . . . . 
                . . . f e e e e e f . . . . . . 
                . . f d d d d e e e f . . . . . 
                . c d f d d f d e e f f . . . . 
                . c d f d d f d e e d d f . . . 
                c d e e d d d d e e b d c . . . 
                c d d d d c d d e e b d c . . . 
                c c c c c d d e e e f c . . . . 
                . f d d d d e e e f f . . . . . 
                . . f f f f f e e e e f . . . . 
                . . . . f f e e e e e e f . f f 
                . . . f e e f e e f e e f . e f 
                . . f e e f e e f e e e f . e f 
                . f b d f d b f b b f e f f e f 
                . f d d f d d f d d b e f f f f 
                . . f f f f f f f f f f f f f .
    """))
    anim = animation.create_animation(ActionKind.Die, 1000)
    animation.attach_animation(猴致远, anim)
    anim.add_animation_frame(img("""
        . f f f f f f f f f f f f f . . 
                f f f f e b d d f d d f d d f . 
                f e f f e f b b f b d f d b f . 
                f e . f e e e f e e f e e f . . 
                f e . f e e f e e f e e f . . . 
                f f . f e e e e e e f f . . . . 
                . . . . f e e e e f f f f f . . 
                . . . . . f f e e e d d d d f . 
                . . . . c f e e e d d c c c c c 
                . . . c d b e e d d c d d d d c 
                . . . c d b e e d d d d e e d c 
                . . . f d d e e d f d d f d c . 
                . . . . f f e e d f d d f d c . 
                . . . . . f e e e d d d d f . . 
                . . . . . . f e e e e e f . . . 
                . . . . . . . f f f f f . . . .
    """))
    anim = animation.create_animation(ActionKind.WalkRight, 100)
    animation.attach_animation(猴致远, anim)
    anim.add_animation_frame(img("""
        . . . . . . . f f f f f . . . . 
                . . . . . . f e e e e e f . . . 
                . . . . . f e e e d d d d f . . 
                . . . . f f e e d f d d f d c . 
                . . . f d d e e d f d d f d c . 
                . . . c d b e e d d d d e e d c 
                f f . c d b e e d d c d d d d c 
                f e f . c f e e d d d c c c c c 
                f e f . . f f e e d d d d d f . 
                f e f . f e e e e f f f f f . . 
                f e f f e e e e e e e f . . . . 
                . f f e e e e f e f f e f . . . 
                . . f e e e e f e f f e f . . . 
                . . . f e f f b d f b d f . . . 
                . . . f d b b d d c d d f . . . 
                . . . f f f f f f f f f . . . .
    """))
    anim.add_animation_frame(img("""
        . . . . . . . f f f f f . . . . 
                . . . . . . f e e e e e f . . . 
                . . . . . f e e e d d d d f . . 
                . . . . . f e e d f d d f d c . 
                . . . . f f e e d f d d f d c . 
                . . . f d d e e d d d d e e d c 
                . . . c d b e e d d c d d d d c 
                f f . c d b e e e d d c c c c c 
                f e f . c f f e e e d d d d f . 
                f e f . f e e e e f f f f f f . 
                f e f f e e e e e e e f f f f . 
                . f f e e e e f e f d d f d d f 
                . . f e e e e f e f b d f b d f 
                . . f e f f f f f f f f f f f f 
                . . f d d c f . . . . . . . . . 
                . . f f f f . . . . . . . . . .
    """))
    anim.add_animation_frame(img("""
        . . . . . . . f f f f f . . . . 
                . . . . . . f e e e e e f . . . 
                . . . . f f e e e d d d d f . . 
                . . . f d d e e d d d d d d c . 
                . . . c d b e e d f d d f d c . 
                f f . c d b e e d f d d f d d c 
                f e f . c f e e d d d d e e d c 
                f e f . . f e e e d c d d d d c 
                f e f . . f f e e e d c c c f . 
                f e f . f e e e e f f f f f . . 
                . f f f e e e e e e e f . . . . 
                . . f e e e e f e e f e f f . . 
                . . f e e e f f f e e f f e f . 
                . f b f f f f f f c d d b d d f 
                . f d d c f . . f d d d c d d f 
                . . f f f . . . f f f f f f f .
    """))
    anim.add_animation_frame(img("""
        . . . . . . . f f f f f . . . . 
                . . . . f f f e e e e e f . . . 
                . . . f d d e e e e d d d f . . 
                . . . c d b e e e d d d d d c . 
                . . . c d b e e d d d d d d c . 
                . f f . c f e e d f d d f d d c 
                f e f . . f e e d f d d f d d c 
                f e f . . f e e d d d d e e d c 
                f e f . . f f e e d c d d d f . 
                f e f . f e e e e e d f f f . . 
                . f f f e e e e e e e f . . . . 
                . . f f b e e e e e f f . . . . 
                . . f f d d c e e f f e f . . . 
                . . . . f f f c d d b d d f . . 
                . . . . . f f d d d c d d f . . 
                . . . . . . f f f f f f f . . .
    """))
    anim = animation.create_animation(ActionKind.WalkLeft, 100)
    animation.attach_animation(猴致远, anim)
    anim.add_animation_frame(img("""
        . . . . f f f f f . . . . . . . 
                . . . f e e e e e f . . . . . . 
                . . f d d d d e e e f . . . . . 
                . c d f d d f d e e f f . . . . 
                . c d f d d f d e e d d f . . . 
                c d e e d d d d e e b d c . . . 
                c d d d d c d d e e b d c . f f 
                c c c c c d d d e e f c . f e f 
                . f d d d d d e e f f . . f e f 
                . . f f f f f e e e e f . f e f 
                . . . . f e e e e e e e f f e f 
                . . . f e f f e f e e e e f f . 
                . . . f e f f e f e e e e f . . 
                . . . f d b f d b f f e f . . . 
                . . . f d d c d d b b d f . . . 
                . . . . f f f f f f f f f . . .
    """))
    anim.add_animation_frame(img("""
        . . . . f f f f f . . . . . . . 
                . . . f e e e e e f . . . . . . 
                . . f d d d d e e e f . . . . . 
                . c d f d d f d e e f . . . . . 
                . c d f d d f d e e f f . . . . 
                c d e e d d d d e e d d f . . . 
                c d d d d c d d e e b d c . . . 
                c c c c c d d e e e b d c . f f 
                . f d d d d e e e f f c . f e f 
                . f f f f f f e e e e f . f e f 
                . f f f f e e e e e e e f f e f 
                f d d f d d f e f e e e e f f . 
                f d b f d b f e f e e e e f . . 
                f f f f f f f f f f f f e f . . 
                . . . . . . . . . f c d d f . . 
                . . . . . . . . . . f f f f . .
    """))
    anim.add_animation_frame(img("""
        . . . . f f f f f . . . . . . . 
                . . . f e e e e e f . . . . . . 
                . . f d d d d e e e f f . . . . 
                . c d d d d d d e e d d f . . . 
                . c d f d d f d e e b d c . . . 
                c d d f d d f d e e b d c . f f 
                c d e e d d d d e e f c . f e f 
                c d d d d c d e e e f . . f e f 
                . f c c c d e e e f f . . f e f 
                . . f f f f f e e e e f . f e f 
                . . . . f e e e e e e e f f f . 
                . . f f e f e e f e e e e f . . 
                . f e f f e e f f f e e e f . . 
                f d d b d d c f f f f f f b f . 
                f d d c d d d f . . f c d d f . 
                . f f f f f f f . . . f f f . .
    """))
    anim.add_animation_frame(img("""
        . . . . f f f f f . . . . . . . 
                . . . f e e e e e f f f . . . . 
                . . f d d d e e e e d d f . . . 
                . c d d d d d e e e b d c . . . 
                . c d d d d d d e e b d c . . . 
                c d d f d d f d e e f c . f f . 
                c d d f d d f d e e f . . f e f 
                c d e e d d d d e e f . . f e f 
                . f d d d c d e e f f . . f e f 
                . . f f f d e e e e e f . f e f 
                . . . . f e e e e e e e f f f . 
                . . . . f f e e e e e b f f . . 
                . . . f e f f e e c d d f f . . 
                . . f d d b d d c f f f . . . . 
                . . f d d c d d d f f . . . . . 
                . . . f f f f f f f . . . . . .
    """))
    anim = animation.create_animation(ActionKind.JumpRight, 1000)
    animation.attach_animation(猴致远, anim)
    anim.add_animation_frame(img("""
        . . . . . . . f f f f f . . . . 
                . . . . . . f e e e e e f . . . 
                . . . . . f e e e d d d d f . . 
                . . . . . f e e d f d d f d c . 
                . . . . f f e e d f d d f d c . 
                . . . f d d e e d d d d e e d c 
                . . . c d b e e d d c d d d d c 
                f f . c d b e e e d d c c c c c 
                f e f . c f f e e e d d d d f . 
                f e f . f e e e e f f f f f f . 
                f e f f e e e e e e e f f f f . 
                . f f e e e e f e f d d f d d f 
                . . f e e e e f e f b d f b d f 
                . . f e f f f f f f f f f f f f 
                . . f d d c f . . . . . . . . . 
                . . f f f f . . . . . . . . . .
    """))
    anim = animation.create_animation(ActionKind.JumpLeft, 1000)
    animation.attach_animation(猴致远, anim)
    anim.add_animation_frame(img("""
        . . . . f f f f f . . . . . . . 
                . . . f e e e e e f . . . . . . 
                . . f d d d d e e e f . . . . . 
                . c d f d d f d e e f . . . . . 
                . c d f d d f d e e f f . . . . 
                c d e e d d d d e e d d f . . . 
                c d d d d c d d e e b d c . . . 
                c c c c c d d e e e b d c . f f 
                . f d d d d e e e f f c . f e f 
                . f f f f f f e e e e f . f e f 
                . f f f f e e e e e e e f f e f 
                f d d f d d f e f e e e e f f . 
                f d b f d b f e f e e e e f . . 
                f f f f f f f f f f f f e f . . 
                . . . . . . . . . f c d d f . . 
                . . . . . . . . . . f f f f . .
    """))
    anim = animation.create_animation(ActionKind.FallRight, 1000)
    animation.attach_animation(猴致远, anim)
    anim.add_animation_frame(img("""
        . . . . . . . f f f f f . . . . 
                . . . . f f f e e e e e f . . . 
                . . . f d d e e e e d d d f . . 
                . . . c d b e e e d d d d d c . 
                . . . c d b e e d d d d d d c . 
                . f f . c f e e d f d d f d d c 
                f e f . . f e e d f d d f d d c 
                f e f . . f e e d d d d e e d c 
                f e f . . f f e e d c d d d f . 
                f e f . f e e e e e d f f f . . 
                . f f f e e e e e e e f . . . . 
                . . f f b e e e e e f f . . . . 
                . . f f d d c e e f f e f . . . 
                . . . . f f f c d d b d d f . . 
                . . . . . f f d d d c d d f . . 
                . . . . . . f f f f f f f . . .
    """))
    anim = animation.create_animation(ActionKind.FallLeft, 1000)
    animation.attach_animation(猴致远, anim)
    anim.add_animation_frame(img("""
        . . . . f f f f f . . . . . . . 
                . . . f e e e e e f f f . . . . 
                . . f d d d e e e e d d f . . . 
                . c d d d d d e e e b d c . . . 
                . c d d d d d d e e b d c . . . 
                c d d f d d f d e e f c . f f . 
                c d d f d d f d e e f . . f e f 
                c d e e d d d d e e f . . f e f 
                . f d d d c d e e f f . . f e f 
                . . f f f d e e e e e f . f e f 
                . . . . f e e e e e e e f f f . 
                . . . . f f e e e e e b f f . . 
                . . . f e f f e e c d d f f . . 
                . . f d d b d d c f f f . . . . 
                . . f d d c d d d f f . . . . . 
                . . . f f f f f f f . . . . . .
    """))
    anim = animation.create_animation(ActionKind.CrouchRight, 1000)
    animation.attach_animation(猴致远, anim)
    anim.add_animation_frame(img("""
        . . . . . . . . . . . . . . . . 
                . . . . . . . . . . . . . . . . 
                . . . . . . . f f f f f . . . . 
                . . . . . . f e e e e e f . . . 
                . . . . . f e e e d d d d f . . 
                . . . . f f e e d d d d d f . . 
                . . . f d d e e d f f d d d c . 
                . . . c d b e e d d d d e e d c 
                . . . c d b e e d d c d d f f c 
                . . . . f e e e f f f e f d d f 
                . . . . f f f f f e e e f d d f 
                . f f . f f e e e e e f f f f f 
                . f e . f f e e e f f e f f f . 
                . f e f f f b b f f e f d b f . 
                . f e f f b d d f e e f d d f . 
                . . f f f f f f f f f f f f f .
    """))
    anim = animation.create_animation(ActionKind.CrouchLeft, 1000)
    animation.attach_animation(猴致远, anim)
    anim.add_animation_frame(img("""
        . . . . . . . . . . . . . . . . 
                . . . . . . . . . . . . . . . . 
                . . . . f f f f f . . . . . . . 
                . . . f e e e e e f . . . . . . 
                . . f d d d d e e e f . . . . . 
                . . f d d d d d e e f f . . . . 
                . c d d d f f d e e d d f . . . 
                c d e e d d d d e e b d c . . . 
                c f f d d c d d e e b d c . . . 
                f d d f e f f f e e e f . . . . 
                f d d f e e e f f f f f . . . . 
                f f f f f e e e e e f f . f f . 
                . f f f e f f e e e f f . e f . 
                . f b d f e f f b b f f f e f . 
                . f d d f e e f d d b f f e f . 
                . f f f f f f f f f f f f f . .
    """))
def 初始化变量():
    global 当前关卡, 关卡总量
    scene.set_background_color(1)
    当前关卡 = 1
    关卡总量 = 6

def on_hit_wall4(sprite15, location8):
    if sprite15.vx < 0:
        sprite15.vx = 50
    elif sprite15.vx > 0:
        sprite15.vx = -50
scene.on_hit_wall(SpriteKind.enemy, on_hit_wall4)

def on_overlap_tile5(sprite16, location9):
    global 当前关卡
    game.splash("勇敢的勇士, 我仿佛爱上你了!")
    当前关卡 = 1
    更新地图()
scene.on_overlap_tile(SpriteKind.player,
    assets.tile("""
        myTile17
    """),
    on_overlap_tile5)

def on_overlap_tile6(sprite17, location10):
    sprite17.vy = 0
    tiles.set_tile_at(tiles.get_tile_location(sprite17.x / 16, sprite17.y / 16),
        assets.tile("""
            myTile
        """))
    tiles.set_wall_at(tiles.get_tile_location(sprite17.x / 16, sprite17.y / 16),
        True)
    sprite17.destroy()
scene.on_overlap_tile(SpriteKind.Brick,
    assets.tile("""
        myTile19
    """),
    on_overlap_tile6)

def on_hit_wall5(sprite18, location11):
    sprite18.x += -10
scene.on_hit_wall(SpriteKind.Sword2, on_hit_wall5)

def 更新地图():
    清除精灵()
    if 当前关卡 == 1:
        tiles.set_tilemap(tilemap("""
            级别1
        """))
    elif 当前关卡 == 2:
        tiles.set_tilemap(tilemap("""
            级别3
        """))
    elif 当前关卡 == 3:
        tiles.set_tilemap(tilemap("""
            级别4
        """))
    elif 当前关卡 == 4:
        tiles.set_tilemap(tilemap("""
            级别5
        """))
    elif 当前关卡 == 5:
        tiles.set_tilemap(tilemap("""
            级别6
        """))
    elif 当前关卡 == 6:
        tiles.set_tilemap(tilemap("""
            级别7
        """))
    初始化地图信息()

def on_on_overlap8(sprite19, otherSprite8):
    if sprite19.y < otherSprite8.top or sprite19.x >= otherSprite8.left or sprite19.x <= otherSprite8.right:
        sprite19.bottom = otherSprite8.top
        sprite19.vy = 0
        if controller.A.is_pressed():
            sprite19.vy = -320
sprites.on_overlap(SpriteKind.player, SpriteKind.摆渡, on_on_overlap8)

def on_on_overlap9(sprite20, otherSprite9):
    global 猴致远是否活着
    猴致远是否活着 = False
sprites.on_overlap(SpriteKind.player, SpriteKind.stone, on_on_overlap9)

def on_hit_wall6(sprite21, location12):
    sprite21.x += 10
scene.on_hit_wall(SpriteKind.Sword, on_hit_wall6)

def 创建指示牌():
    global 第1关创建指示牌, mySprite, anim
    第1关创建指示牌 = True
    mySprite = sprites.create(img("""
            ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
                    f111111111111111111111111111111111111111111111111111111111111111111111111111111f
                    f111111111111111111111111111111111111111111111111111111111111111111111111111111f
                    f111111111111111111111111111111111111111111111111111111111111111111111111111111f
                    f111111111111111111111111111111111111111111111111111111111111111111111111111111f
                    f111111111111111111111111111111111111111111111ff1111111111111111111111111111111f
                    f1111111111111111111111111111111111111111111ffffff11111111111111111111111111111f
                    f111111111111111111111111111111111111111111ffffffff11111111111111111111fff11111f
                    f11111111111111151511111111111111111111111ffff11ffff1111111ffff11111111fff11111f
                    f11111111111111f555ff11111111111111111111fff11111fff11111fffffff111111ffff11111f
                    f1111111111111f152516f1111111111111111111ff111111fff1111fffffffff11111ffff11111f
                    f111111111111f16666616f11111111111111111fff1111111111111fff1111ff1111fffff11111f
                    f111111111111f66ffff61f11111111111111111ff11111111111111ff11111ff1111ffff111111f
                    f111111111111f6ffddff6f1111111111111111fff1111111111111ff111111ff111ffff1111111f
                    f11111111111f6fdfddfdf6f111111111111111fff111111111111ff111111fff111ffff1111111f
                    f11111111111f6fd3dd3df6f111111111111111fff111111111111ff111111fff111fff11111111f
                    f11111111111f66fddddf66f11111111111111fff1111111111111ff11111fff111fff111111111f
                    f1111111111f66f3ffff3f66f1111111111111ff11111111111111ff1111ffff111fff111111111f
                    f11111111111ffd353353dff11111111111111ff11111111111111ff111ffff1111ff1111111111f
                    f11111111111fddf3553fddf11111111111111ff11111ffffff111ff1fffff11111ff1111111111f
                    f111111111111ff333333ff111111111111111ff11111fffff1111fffffff11111ff11111111111f
                    f111111111111f33533533f111111111111111ff11111ffff11111ffffff111111ff11111111111f
                    f111111111111ffffffffff111111111111111ff1111fffff11111fffff11111111111111111111f
                    f11111111111111ff11ff11111111111111111fffffffffff11111fff1111111111111111111111f
                    f1111111111111111111111111111111111111fffffff1fff111111111111111111111111111111f
                    f11111111111111111111111111111111111111fffff11ff11111111111111111ffff1111111111f
                    f111111111111111111111111111111111111111111111ff11111111111111111ffff1111111111f
                    f111111111111111111111111111111111111111111111ff11111111111111111ffff1111111111f
                    f111111111111111111111111111111111111111111111111111111111111111111111111111111f
                    f111111111111111111111111111111111111111111111111111111111111111111111111111111f
                    f111111111111111111111111111111111111111111111111111111111111111111111111111111f
                    f111111111111111111111111111111111111111111111111111111111111111111111111111111f
                    ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
        """),
        SpriteKind.Trap)
    tiles.place_on_random_tile(mySprite, assets.tile("""
        myTile0
    """))
    mySprite.x += 64
    mySprite.y += -7
    for 值28 in tiles.get_tiles_by_type(assets.tile("""
        myTile2
    """)):
        tiles.set_wall_at(值28, True)
    anim = animation.create_animation(ActionKind.Working, 1000)
    animation.attach_animation(mySprite, anim)
    anim.add_animation_frame(img("""
        ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
                f111111111111111111111111111111111111111111111111111111111111111111111111111111f
                f111111111111111111111111111111111111111111111111111111111111111111111111111111f
                f111111111111111111111111111111111111111111111111111111111111111111111111111111f
                f111111111111111111111111111111111111111111111111111111111111111111111111111111f
                f111111111111111111111111111111111111111111111ff1111111111111111111111111111111f
                f1111111111111111111111111111111111111111111ffffff11111111111111111111111111111f
                f111111111111111111111111111111111111111111ffffffff11111111111111111111fff11111f
                f11111111111111151511111111111111111111111ffff11ffff1111111ffff11111111fff11111f
                f11111111111111f555ff11111111111111111111fff11111fff11111fffffff111111ffff11111f
                f1111111111111f152516f1111111111111111111ff111111fff1111fffffffff11111ffff11111f
                f111111111111f16666616f11111111111111111fff1111111111111fff1111ff1111fffff11111f
                f111111111111f66ffff61f11111111111111111ff11111111111111ff11111ff1111ffff111111f
                f111111111111f6ffddff6f1111111111111111fff1111111111111ff111111ff111ffff1111111f
                f11111111111f6fdfddfdf6f111111111111111fff111111111111ff111111fff111ffff1111111f
                f11111111111f6fd3dd3df6f111111111111111fff111111111111ff111111fff111fff11111111f
                f11111111111f66fddddf66f11111111111111fff1111111111111ff11111fff111fff111111111f
                f1111111111f66f3ffff3f66f1111111111111ff11111111111111ff1111ffff111fff111111111f
                f11111111111ffd353353dff11111111111111ff11111111111111ff111ffff1111ff1111111111f
                f11111111111fddf3553fddf11111111111111ff11111ffffff111ff1fffff11111ff1111111111f
                f111111111111ff333333ff111111111111111ff11111fffff1111fffffff11111ff11111111111f
                f111111111111f33533533f111111111111111ff11111ffff11111ffffff111111ff11111111111f
                f111111111111ffffffffff111111111111111ff1111fffff11111fffff11111111111111111111f
                f11111111111111ff11ff11111111111111111fffffffffff11111fff1111111111111111111111f
                f1111111111111111111111111111111111111fffffff1fff111111111111111111111111111111f
                f11111111111111111111111111111111111111fffff11ff11111111111111111ffff1111111111f
                f111111111111111111111111111111111111111111111ff11111111111111111ffff1111111111f
                f111111111111111111111111111111111111111111111ff11111111111111111ffff1111111111f
                f111111111111111111111111111111111111111111111111111111111111111111111111111111f
                f111111111111111111111111111111111111111111111111111111111111111111111111111111f
                f111111111111111111111111111111111111111111111111111111111111111111111111111111f
                f1111111111111111111111111111111111111111111111111111111111111111111f1111111111f
                ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
                .f1111ff11ff11ff111111111fff1111f111111f111ff111ff11111111ff11f1111ff111ff1111f.
                .f1111ff1fff11ff1111ff111f..f111ff1111fff1f..f1ff.f11111ff.f11f111f.ff1fff111ff.
                .f111f.ff..f1ff.f111f.f1f...ff1f.ff11f..f1f..ff...f1111f....ff.f1f...f1f.f11ff..
                ..f1f..ff..ff...f11f..f1f....fff..f11f..ff...ff...f11ff.....ff.ff.....f..fff....
                ..ff...f.........ff...ff......f...ffff............fff.......f...f.........ff....
    """))

def on_on_overlap10(sprite22, otherSprite10):
    otherSprite10.vy = 200
    otherSprite10.set_flag(SpriteFlag.AUTO_DESTROY, True)
    if sprite22.top < otherSprite10.top:
        sprite22.bottom = otherSprite10.top
        sprite22.vy = 0
        if controller.A.is_pressed():
            sprite22.vy = -320
sprites.on_overlap(SpriteKind.player, SpriteKind.BrickDown, on_on_overlap10)

def 创建云朵():
    global mySprite, anim
    mySprite = sprites.create(img("""
            ................................................
                    ................................................
                    ....................fff.........................
                    ..................ff111fff......................
                    ................ff11111111ff.......fff..........
                    ......ffff.....ff11111111111ff...ff111ff........
                    ....fff11fffffff1111111111111ffff1111111ff......
                    ..fff111111111111111111111111111111111111f......
                    .ff11111111111111111111111111111111111111f......
                    .f11111111111111111111111111111111fff1111ff.....
                    .ff111111111111fffffff111111111ffff1fff111f.....
                    ..f1111111111ff111111ff1111111f1111111ff11f.....
                    ..ff11111111ff11111111f111111f111111111f11f.....
                    ...f1111111f1111111111f1111111111111111f11f.....
                    ....f11111111111111111111111111111111111111ff...
                    ....f111111111111111111111111111111111111111ff..
                    ...f11111111111111111111111111111111111111111f..
                    ...f1111111111111111111111111111f1111111111111f.
                    ..ff11111111111111f1111111111111f1111111111111f.
                    ..f1111111111111111ff111111111ff11111111111111f.
                    ..f111111111111111111ffffffffff111111111111111f.
                    ..f1111111111111111111111111111111111111111111f.
                    ..f111111111111111111111111111111111111111111f..
                    ..ff11111111111111111111111111111111111111111f..
                    ...ff1111111111111111111111111111111111111111f..
                    ...ff111111111111111111111111ffffff111111111ff..
                    ...f111111111111111111111111ff....ff1111111ff...
                    ..f1111111111111111111111fff.......fffffffff....
                    ..f1111111111111111111111f......................
                    ..ff1111111111111111ffffff......................
                    ...ff111111111f1111ff...........................
                    ....fffffffffffffff.............................
        """),
        SpriteKind.Trap)
    tiles.place_on_random_tile(mySprite, assets.tile("""
        myTile3
    """))
    mySprite.x += 8
    anim = animation.create_animation(ActionKind.Working, 1000)
    animation.attach_animation(mySprite, anim)
    anim.add_animation_frame(img("""
        ................................................
                ................................................
                ....................222.........................
                ..................22111222......................
                ................221111111122.......222..........
                ......2222.....221111111111122...2211122........
                ....22211222222211111111111112222111111122......
                ..2221111111111111111111111111111111111112......
                .22111111111111111111111111111111111111112......
                .211111111111111111111111111111111111111122.....
                .221111111111111111111111111111111111111112.....
                ..21111111111111111111111111111111111111112.....
                ..22111111111111111111111111111111111111112.....
                ...2111111112222222222211111222222222211112.....
                ....21111111211111111111111121111111111111122...
                ....211111112211111111111111221111111111111122..
                ...2111111111111111111111111111111111111111112..
                ...21111111111111111111111111111111111111111112.
                ..221111111111111111111111111111111111111111112.
                ..211111111111111111111111111111111111111111112.
                ..211111111111111111111111111111111111111111112.
                ..211111111111111111222222222211111111111111112.
                ..21111111111111111111111111111111111111111112..
                ..22111111111111111111111111111111111111111112..
                ...2211111111111111111111111111111111111111112..
                ...2211111111111111111111111122222211111111122..
                ...211111111111111111111111122....22111111122...
                ..21111111111111111111111222.......222222222....
                ..211111111111111111111112......................
                ..221111111111111111222222......................
                ...221111111112111122...........................
                ....222222222222222.............................
    """))
def 创建草丛():
    global mySprite, anim
    mySprite = sprites.create(img("""
            ..........88..............88....
                    ...88.....88.......88.....88....
                    ...878...878.......878...878....
                    ...8768.8878.......8768.8878....
                    ...8678.8778.88....8678.8778.88.
                    ...887888778.868...887888778.868
                    ...88768676888868888876867688886
                    88f88778778867866888877877886786
                    87888778768776888888877876877688
                    86768676766768877688867676676887
                    .8776676767788778887667676778877
                    ..877678767687788687767876768778
                    ..f87678667867888668767866786788
                    ...87878668866868668787866886686
                    ...86868668866868888686866886686
                    ...86866668866868888686666886686
        """),
        SpriteKind.Trap)
    tiles.place_on_random_tile(mySprite, assets.tile("""
        myTile6
    """))
    mySprite.x += 8
    anim = animation.create_animation(ActionKind.Working, 1000)
    animation.attach_animation(mySprite, anim)
    anim.add_animation_frame(img("""
        ..........22..............22....
                ...22.....22.......22.....22....
                ...272...272.......272...272....
                ...2762.2272.......2762.2272....
                ...2672.2772.22....2672.2772.22.
                ...227222772.262...227222772.262
                ...22762676222262222276267622226
                22f22772772267266222277277226726
                27222772762776222222277276277622
                26762676766762277622267676676227
                .2776676767722772227667676772277
                ..277672767627722627767276762772
                ..f27672667267222662767266726722
                ...27272662266262662727266226626
                ...26262662266262222626266226626
                ...26266662266262222626666226626
    """))

def on_hit_wall7(sprite23, location13):
    for 值29 in tiles.get_tiles_by_type(assets.tile("""
        myTile23
    """)):
        tiles.set_wall_at(值29, True)
scene.on_hit_wall(SpriteKind.stone, on_hit_wall7)

def on_on_overlap11(sprite24, otherSprite11):
    global 猴致远是否活着
    if otherSprite11.vy > 0:
        猴致远是否活着 = False
sprites.on_overlap(SpriteKind.player, SpriteKind.Sword3, on_on_overlap11)

def on_on_overlap12(sprite25, otherSprite12):
    global 猴致远是否活着
    if otherSprite12.right < sprite25.right and otherSprite12.top <= sprite25.top:
        猴致远是否活着 = False
    elif sprite25.top < otherSprite12.top:
        sprite25.bottom = otherSprite12.top
        sprite25.vy = 0
        if controller.A.is_pressed():
            sprite25.vy = -320
sprites.on_overlap(SpriteKind.player, SpriteKind.Sword, on_on_overlap12)

def on_overlap_tile7(sprite26, location14):
    tiles.set_tile_at(location14, assets.tile("""
        myTile15
    """))
    for 值30 in sprites.all_of_kind(SpriteKind.Tool):
        if 值30.x < 400:
            值30.vx = 50
scene.on_overlap_tile(SpriteKind.player,
    assets.tile("""
        myTile14
    """),
    on_overlap_tile7)

def on_overlap_tile8(sprite27, location15):
    if 猴致远.tile_kind_at(TileDirection.TOP, assets.tile("""
        myTile11
    """)) and 猴致远.vy < 0:
        tiles.set_wall_at(location15, True)
        tiles.set_tile_at(location15, assets.tile("""
            myTile10
        """))
        music.ba_ding.play()
scene.on_overlap_tile(SpriteKind.player,
    assets.tile("""
        myTile11
    """),
    on_overlap_tile8)

def on_on_overlap13(sprite28, otherSprite13):
    global 猴致远是否活着
    if sprite28.y < otherSprite13.top and sprite28.vy >= 0:
        otherSprite13.destroy(effects.disintegrate, 100)
        mySprite.vy = -160
    else:
        猴致远是否活着 = False
sprites.on_overlap(SpriteKind.player, SpriteKind.enemy, on_on_overlap13)

anim: animation.Animation = None
关卡总量 = 0
当前关卡 = 0
猴致远: Sprite = None
脸是否向左 = False
mySprite: Sprite = None
第1关创建指示牌 = False
猴致远是否活着 = False
初始化变量()
创建英雄()
更新地图()
game.show_long_text("你能拯救公主吗?", DialogLayout.TOP)

def on_on_update():
    global 脸是否向左
    if 猴致远是否活着:
        if 猴致远.vx < 0:
            脸是否向左 = True
        elif 猴致远.vx > 0:
            脸是否向左 = False
        if controller.down.is_pressed():
            if 脸是否向左:
                animation.set_action(猴致远, ActionKind.CrouchLeft)
            else:
                animation.set_action(猴致远, ActionKind.CrouchRight)
        elif 猴致远.vy < 0 and not (猴致远.is_hitting_tile(CollisionDirection.BOTTOM)):
            if 脸是否向左:
                animation.set_action(猴致远, ActionKind.JumpLeft)
            else:
                animation.set_action(猴致远, ActionKind.JumpRight)
        elif 猴致远.vy > 0 and not (猴致远.is_hitting_tile(CollisionDirection.BOTTOM)):
            if 脸是否向左:
                animation.set_action(猴致远, ActionKind.FallLeft)
            else:
                animation.set_action(猴致远, ActionKind.FallRight)
        elif 猴致远.vx < 0:
            animation.set_action(猴致远, ActionKind.WalkLeft)
        elif 猴致远.vx > 0:
            animation.set_action(猴致远, ActionKind.WalkRight)
        else:
            if 脸是否向左:
                animation.set_action(猴致远, ActionKind.IdleLeft)
            else:
                animation.set_action(猴致远, ActionKind.Idle)
game.on_update(on_on_update)

def on_on_update2():
    if 当前关卡 == 3:
        if 猴致远.x >= 140 and 猴致远.x <= 202:
            for 值31 in sprites.all_of_kind(SpriteKind.Sword):
                if 猴致远.y <= 值31.y and 值31.x <= 0:
                    值31.vx = 360
        if 猴致远.x >= 215 and 猴致远.x <= 265:
            for 值32 in sprites.all_of_kind(SpriteKind.Sword2):
                if 猴致远.y >= 值32.y and 值32.x >= 400:
                    值32.vx = -150
game.on_update(on_on_update2)

def on_on_update3():
    global 猴致远是否活着
    if not (猴致远是否活着) and 猴致远.is_hitting_tile(CollisionDirection.BOTTOM):
        game.splash("猴致远过早的离开了我们~")
        更新地图()
    if not (猴致远是否活着):
        animation.set_action(猴致远, ActionKind.Die)
    if 猴致远.y > 170:
        猴致远是否活着 = False
game.on_update(on_on_update3)

def on_on_update4():
    if 当前关卡 == 4:
        for 值33 in sprites.all_of_kind(SpriteKind.Sword3):
            if 猴致远.x >= 值33.x and 值33.y <= 60:
                值33.set_flag(SpriteFlag.INVISIBLE, False)
                值33.vy = 1000
game.on_update(on_on_update4)

def on_on_update5():
    if 当前关卡 == 6:
        for 值34 in sprites.all_of_kind(SpriteKind.stone):
            if 猴致远.left > 值34.left:
                值34.vy = 150
game.on_update(on_on_update5)
 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值