作为学习、练习与尝试,这里创建一个草莓公主的小游戏。 
打开网页版:https://arcade.makecode.com/,设置项目名称:草莓公主 
 
MicroPython实验代码 
 
			
			
			- @namespace
 - class SpriteKind:
 -     Taco = SpriteKind.create()
 - 
 - def on_on_overlap(sprite, otherSprite):
 -     info.change_score_by(10)
 -     otherSprite.destroy()
 - sprites.on_overlap(SpriteKind.player, SpriteKind.Taco, on_on_overlap)
 - 
 - # Eating a strawberry or a cherry gives 1 point
 - # 
 - # Eating taco gives 10 points
 - # 
 - # If you try to eat the death pill you will lose a life, but gain 15 points.
 - # 
 - # Princess, you have 60 seconds and 3 life to finish the game.
 - def randomAssets():
 -     global strawberry, cherry, taco, deathpill
 -     strawberry = sprites.create(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 . . . . . . . .
 -             """),
 -         SpriteKind.food)
 -     strawberry.x = randint(0, scene.screen_width())
 -     strawberry.y = randint(0, scene.screen_height())
 -     cherry = sprites.create(img("""
 -             . . . . . . . . . . . 6 6 6 6 6
 -             . . . . . . . . . 6 6 7 7 7 7 8
 -             . . . . . . 8 8 8 7 7 8 8 6 8 8
 -             . . e e e e c 6 6 8 8 . 8 7 8 .
 -             . e 2 5 4 2 e c 8 . . . 6 7 8 .
 -             e 2 4 2 2 2 2 2 c . . . 6 7 8 .
 -             e 2 2 2 2 2 2 2 c . . . 8 6 8 .
 -             e 2 e e 2 2 2 2 e e e e c 6 8 .
 -             c 2 e e 2 2 2 2 e 2 5 4 2 c 8 .
 -             . c 2 e e e 2 e 2 4 2 2 2 2 c .
 -             . . c 2 2 2 e e 2 2 2 2 2 2 2 e
 -             . . . e c c e c 2 2 2 2 2 2 2 e
 -             . . . . . . . c 2 e e 2 2 e 2 c
 -             . . . . . . . c e e e e e e 2 c
 -             . . . . . . . . c e 2 2 2 2 c .
 -             . . . . . . . . . c c c c c . .
 -             """),
 -         SpriteKind.food)
 -     cherry.x = randint(0, scene.screen_width())
 -     cherry.y = randint(0, scene.screen_height())
 -     if Math.percent_chance(20):
 -         taco = sprites.create(img("""
 -                 . . . . . . . e e e e . . . . .
 -                 . . . . . e e 4 5 5 5 e e . . .
 -                 . . . . e 4 5 6 2 2 7 6 6 e . .
 -                 . . . e 5 6 6 7 2 2 6 4 4 4 e .
 -                 . . e 5 2 2 7 6 6 4 5 5 5 5 4 .
 -                 . e 5 6 2 2 8 8 5 5 5 5 5 4 5 4
 -                 . e 5 6 7 7 8 5 4 5 4 5 5 5 5 4
 -                 e 4 5 8 6 6 5 5 5 5 5 5 4 5 5 4
 -                 e 5 c e 8 5 5 5 4 5 5 5 5 5 5 4
 -                 e 5 c c e 5 4 5 5 5 4 5 5 5 e .
 -                 e 5 c c 5 5 5 5 5 5 5 5 4 e . .
 -                 e 5 e c 5 4 5 4 5 5 5 e e . . .
 -                 e 5 e e 5 5 5 5 5 4 e . . . . .
 -                 4 5 4 e 5 5 5 5 e e . . . . . .
 -                 . 4 5 4 5 5 4 e . . . . . . . .
 -                 . . 4 4 e e e . . . . . . . . .
 -                 """),
 -             SpriteKind.Taco)
 -         taco.x = randint(0, scene.screen_width())
 -         taco.y = randint(0, scene.screen_height())
 -     else:
 -         deathpill = sprites.create(img("""
 -                 ........................
 -                 ........................
 -                 ........................
 -                 ........................
 -                 ........................
 -                 ..........ffff..........
 -                 ........ff1111ff........
 -                 .......fb111111bf.......
 -                 .......f11111111f.......
 -                 ......fd11111111df......
 -                 ....7.fd11111111df......
 -                 ...7..fd11111111df......
 -                 ...7..fd11111111df......
 -                 ...7..fddd1111dddff.....
 -                 ...77.fbdbfddfbdbfcf....
 -                 ...777fcdcf11fcdcfbf....
 -                 ....77fffbdb1bdffcf.....
 -                 ....fcb1bcffffff........
 -                 ....f1c1c1ffffff........
 -                 ....fdfdfdfffff.........
 -                 .....f.f.f..............
 -                 ........................
 -                 ........................
 -                 ........................
 -                 """),
 -             SpriteKind.enemy)
 -         deathpill.x = randint(0, scene.screen_width())
 -         deathpill.y = randint(0, scene.screen_height())
 - 
 - def on_on_overlap2(sprite2, otherSprite2):
 -     info.change_score_by(1)
 -     otherSprite2.destroy()
 - sprites.on_overlap(SpriteKind.player, SpriteKind.food, on_on_overlap2)
 - 
 - def on_on_overlap3(sprite3, otherSprite3):
 -     info.change_life_by(-1)
 -     info.change_score_by(15)
 -     otherSprite3.destroy()
 - sprites.on_overlap(SpriteKind.player, SpriteKind.enemy, on_on_overlap3)
 - 
 - deathpill: Sprite = None
 - taco: Sprite = None
 - cherry: Sprite = None
 - strawberry: Sprite = None
 - info.set_life(3)
 - info.start_countdown(60)
 - princess = sprites.create(img("""
 -         . . . . . . 5 . 5 . . . . . . .
 -         . . . . . f 5 5 5 f f . . . . .
 -         . . . . f 1 5 2 5 1 6 f . . . .
 -         . . . f 1 6 6 6 6 6 1 6 f . . .
 -         . . . f 6 6 f f f f 6 1 f . . .
 -         . . . f 6 f f d d f f 6 f . . .
 -         . . f 6 f d f d d f d f 6 f . .
 -         . . f 6 f d 3 d d 3 d f 6 f . .
 -         . . f 6 6 f d d d d f 6 6 f . .
 -         . f 6 6 f 3 f f f f 3 f 6 6 f .
 -         . . f f d 3 5 3 3 5 3 d f f . .
 -         . . f d d f 3 5 5 3 f d d f . .
 -         . . . f f 3 3 3 3 3 3 f f . . .
 -         . . . f 3 3 5 3 3 5 3 3 f . . .
 -         . . . f f f f f f f f f f . . .
 -         . . . . . f f . . f f . . . . .
 -         """),
 -     SpriteKind.player)
 - princess.set_stay_in_screen(True)
 - controller.move_sprite(princess)
 - scene.set_background_color(11)
 - 
 - def on_update_interval():
 -     randomAssets()
 - game.on_update_interval(2000, on_update_interval)
 
  复制代码
  
 
 
 |