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)