作为学习与尝试,这里创建一个小游戏,目标是多人炽烈荣耀的游戏!
打开网页版:https://arcade.makecode.com/,设置项目名称:炽烈荣耀
MicroPython实验代码
- def on_on_overlap(sprite, otherSprite):
- sprites.destroy(sprite, effects.fire, 100)
- info.change_life_by(-1)
- sprites.on_overlap(SpriteKind.projectile, SpriteKind.player, on_on_overlap)
-
- def on_on_overlap2(sprite2, otherSprite2):
- info.change_score_by(1)
- sprites.on_overlap(SpriteKind.projectile, SpriteKind.finish, on_on_overlap2)
-
- def on_button_multiplayer_a_pressed(player2):
- mp.get_player_sprite(player2).vy = -200
- mp.on_button_event(mp.MultiplayerButton.A,
- ControllerButtonEvent.PRESSED,
- on_button_multiplayer_a_pressed)
-
- projectile: Sprite = None
- playerImages = [assets.image("""
- red duck
- """),
- assets.image("""
- blue duck
- """),
- assets.image("""
- orange duck
- """)]
-
- def on_wrap1():
- for index in range(3):
- mp.set_player_sprite(mp.get_player_by_index(index),
- sprites.create(playerImages[index], SpriteKind.player))
- mp.get_player_sprite(mp.get_player_by_index(index)).x = 75 + -30 * index
- mp.get_player_sprite(mp.get_player_by_index(index)).ay = 600
- mp.get_player_sprite(mp.get_player_by_index(index)).set_stay_in_screen(True)
- bundles.wrap1(on_wrap1)
-
- finish = sprites.create(img("""
- . . . . . . . f . . . . . . . .
- . . . . . . . f . . . . . . . .
- . . . . . . . f . . . . . . . .
- . . . . . . . f . . . . . . . .
- . . . . . . . f . . . . . . . .
- . . . . . . . f . . . . . . . .
- . . . . . . . f . . . . . . . .
- . . . . . . . f . . . . . . . .
- . . . . . . . f . . . . . . . .
- . . . . . . . f . . . . . . . .
- . . . . . . . f . . . . . . . .
- . . . . . . . f . . . . . . . .
- . . . . . . . f . . . . . . . .
- . . . . . . . f . . . . . . . .
- . . . . . . . f . . . . . . . .
- . . . . . . . f . . . . . . . .
- """),
- SpriteKind.finish)
- finish.x = 0
- info.set_life(10)
-
- def on_update_interval():
- global projectile
- projectile = sprites.create_projectile_from_side(img("""
- . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . .
- . . . . . 4 4 4 4 4 . . . . . .
- . . . 4 4 4 5 5 5 d 4 4 4 4 . .
- . . 4 d 5 d 5 5 5 d d d 4 4 . .
- . . 4 5 5 1 1 1 d d 5 5 5 4 . .
- . 4 5 5 5 1 1 1 5 1 1 5 5 4 4 .
- . 4 d d 1 1 5 5 5 1 1 5 5 d 4 .
- . 4 5 5 1 1 5 1 1 5 5 d d d 4 .
- . 2 5 5 5 d 1 1 1 5 1 1 5 5 2 .
- . 2 d 5 5 d 1 1 1 5 1 1 5 5 2 .
- . . 2 4 d d 5 5 5 5 d d 5 4 . .
- . . . 2 2 4 d 5 5 d d 4 4 . . .
- . . 2 2 2 2 2 4 4 4 2 2 2 . . .
- . . . 2 2 4 4 4 4 4 4 2 2 . . .
- . . . . . 2 2 2 2 2 2 . . . . .
- """),
- -75,
- 0)
- projectile.y = randint(0, 120)
- game.on_update_interval(900, on_update_interval)
复制代码
|