作为学习、练习与尝试,这里创建一个吃水果的小游戏。
打开网页版:https://arcade.makecode.com/,设置项目名称:吃水果
MicroPython实验参考代码
- def on_on_overlap(sprite, otherSprite):
- info.change_life_by(-1)
- scene.camera_shake(4, 500)
- otherSprite.destroy(effects.bubbles)
- sprites.on_overlap(SpriteKind.player, SpriteKind.projectile, on_on_overlap)
-
- def on_on_overlap2(sprite2, otherSprite2):
- info.change_score_by(1)
- otherSprite2.destroy()
- sprite2.start_effect(effects.hearts, 100)
- music.ba_ding.play()
- sprites.on_overlap(SpriteKind.player, SpriteKind.food, on_on_overlap2)
-
- projectile: Sprite = None
- choice = 0
- scene.set_background_color(13)
- mySprite = sprites.create(img("""
- . . . . . . f f f f . . . . . .
- . . . . f f f 2 2 f f f . . . .
- . . . f f f 2 2 2 2 f f f . . .
- . . f f f e e e e e e f f f . .
- . . f f e 2 2 2 2 2 2 e e f . .
- . . f e 2 f f f f f f 2 e f . .
- . . f f f f e e e e f f f f . .
- . f f e f b f 4 4 f b f e f f .
- . f e e 4 1 f d d f 1 4 e e f .
- . . f e e d d d d d d e e f . .
- . . . f e e 4 4 4 4 e e f . . .
- . . e 4 f 2 2 2 2 2 2 f 4 e . .
- . . 4 d f 2 2 2 2 2 2 f d 4 . .
- . . 4 4 f 4 4 5 5 4 4 f 4 4 . .
- . . . . . f f f f f f . . . . .
- . . . . . f f . . f f . . . . .
- """),
- SpriteKind.player)
- controller.move_sprite(mySprite, 100, 100)
- mySprite.set_stay_in_screen(True)
- info.set_life(5)
-
- def on_update_interval():
- global choice, projectile
- choice = randint(1, 3)
- if choice == 1:
- projectile = sprites.create_projectile_from_side(img("""
- . . . . . . . . . . b b b . . .
- . . . . . . . . b e e 3 3 b . .
- . . . . . . b b e 3 2 e 3 a . .
- . . . . b b 3 3 e 2 2 e 3 3 a .
- . . b b 3 3 3 3 3 e e 3 3 3 a .
- b b 3 3 3 3 3 3 3 3 3 3 3 3 3 a
- b 3 3 3 d d d d 3 3 3 3 3 d d a
- b b b b b b b 3 d d d d d d 3 a
- b d 5 5 5 5 d b b b a a a a a a
- b 3 d d 5 5 5 5 5 5 5 d d d d a
- b 3 3 3 3 3 3 d 5 5 5 d d d d a
- b 3 d 5 5 5 3 3 3 3 3 3 b b b a
- b b b 3 d 5 5 5 5 5 5 5 d d b a
- . . . b b b 3 d 5 5 5 5 d d 3 a
- . . . . . . b b b b 3 d d d b a
- . . . . . . . . . . b b b a a .
- """),
- -60,
- 0)
- elif choice == 2:
- projectile = sprites.create_projectile_from_side(img("""
- . . . . . 3 3 b 3 3 d d 3 3 . .
- . . . . 3 1 1 d 3 d 1 1 1 1 3 .
- . . . 3 d 1 1 1 d 1 1 1 d 3 1 3
- . . 3 d d 1 1 1 d d 1 1 1 3 3 3
- . 3 1 1 d 1 1 1 1 d d 1 1 b . .
- . 3 1 1 1 d 1 1 1 1 1 d 1 1 3 .
- . b d 1 1 1 d 1 1 1 1 1 1 1 3 .
- . 4 b 1 1 1 1 d d 1 1 1 1 d 3 .
- . 4 4 d 1 1 1 1 1 1 d d d b b .
- . 4 d b d 1 1 1 1 1 1 1 1 3 . .
- 4 d d 5 b d 1 1 1 1 1 1 1 3 . .
- 4 5 d 5 5 b b d 1 1 1 1 d 3 . .
- 4 5 5 d 5 5 d b b b d d 3 . . .
- 4 5 5 5 d d d d 4 4 b 3 . . . .
- . 4 5 5 5 4 4 4 . . . . . . . .
- . . 4 4 4 . . . . . . . . . . .
- """),
- 60,
- 0)
- else:
- projectile = sprites.create_projectile_from_side(img("""
- . . . . . . . 6 . . . . . . . .
- . . . . . . 8 6 6 . . . 6 8 . .
- . . . e e e 8 8 6 6 . 6 7 8 . .
- . . e 2 2 2 2 e 8 6 6 7 6 . . .
- . e 2 2 4 4 2 7 7 7 7 7 8 6 . .
- . e 2 4 4 2 6 7 7 7 6 7 6 8 8 .
- e 2 4 5 2 2 6 7 7 6 2 7 7 6 . .
- e 2 4 4 2 2 6 7 6 2 2 6 7 7 6 .
- e 2 4 2 2 2 6 6 2 2 2 e 7 7 6 .
- e 2 4 2 2 4 2 2 2 4 2 2 e 7 6 .
- e 2 4 2 2 2 2 2 2 2 2 2 e c 6 .
- e 2 2 2 2 2 2 2 4 e 2 e e c . .
- e e 2 e 2 2 4 2 2 e e e c . . .
- e e e e 2 e 2 2 e e e c . . . .
- e e e 2 e e c e c c c . . . . .
- . c c c c c c c . . . . . . . .
- """),
- 55,
- 0)
- projectile.set_kind(SpriteKind.food)
- projectile.y = randint(10, 110)
- game.on_update_interval(500, on_update_interval)
复制代码
|