12浏览
查看: 12|回复: 3

[项目] 【花雕动手做】基于Kitronik游戏机开发板之克里斯玛游戏

[复制链接]
【花雕动手做】基于Kitronik游戏机开发板之克里斯玛游戏图1

Kitronik ARCADE 使用 Microsoft MakeCode 平台,具有以下优势:
图形化编程界面:适合初学者,支持拖拽式编程。
即时模拟器:可以实时测试游戏效果。
硬件兼容性:可部署到 Kitronik ARCADE 设备,实现实体游戏体验。
支持 Python/JavaScript:便于进阶学习。


【花雕动手做】基于Kitronik游戏机开发板之克里斯玛游戏图2

驴友花雕  中级技神
 楼主|

发表于 3 小时前

【花雕动手做】基于Kitronik游戏机开发板之克里斯玛游戏

作为学习、练习与尝试,这里创建一个克里斯玛的小游戏。
打开网页版:https://arcade.makecode.com/,设置项目名称:克里斯玛

MicroPython实验代码

  1. @namespace
  2. class SpriteKind:
  3.     New = SpriteKind.create()
  4.     star = SpriteKind.create()
  5. def on_on_overlap(sprite, otherSprite):
  6.     mySprite.set_image(img("""
  7.         ...............cc...............
  8.         ............ccc65c66............
  9.         ............c6c55c76............
  10.         ...........6cc7557c66...........
  11.         ..........cc77777577c6..........
  12.         .........666c677776cc66.........
  13.         ........c7776c7c67657576........
  14.         ........ccc666c666655666........
  15.         ......c66cc7666667777c6766......
  16.         .....c777c77667667767767776.....
  17.         .....cc66cccc77c677cc666666.....
  18.         ....c6766666c7c6767677777766....
  19.         ...cc777666666677767777667c66...
  20.         .666cc6677666667777777776677666.
  21.         .67776677c676677777776677677776.
  22.         cc6666ccc67767776777776cc7767666
  23.         c666777667766776c776777c67776c66
  24.         .c6777666ccc667c676cc666667776c.
  25.         .cc6666766666cc66666666776cc666.
  26.         ...66776c666666666677667766cccc.
  27.         ...cc76c66766666667677667776c...
  28.         ...6cccc677666666776777c77666...
  29.         ......6ccc7c67767776c776cc......
  30.         ........ccc6777c67776cc6........
  31.         ...........cc77c67766...........
  32.         .............6c6666.............
  33.         ............ffeeeef.............
  34.         ..........ffeeeeeeeef...........
  35.         .............feeeffe............
  36.         ..............fef...............
  37.         ..............fef...............
  38.         ...............f................
  39.         """))
  40.     info.change_score_by(1)
  41. sprites.on_overlap(SpriteKind.player, SpriteKind.New, on_on_overlap)
  42. def on_on_overlap2(sprite2, otherSprite2):
  43.     mySprite.set_image(img("""
  44.         ...............cc...............
  45.         ............ccc65c66............
  46.         ............c6c55c76............
  47.         ...........6cc7557c66...........
  48.         ..........cc77777577c6..........
  49.         .........666c677776cc66.........
  50.         ........c7776c7c67657576........
  51.         ........ccc666c666655666........
  52.         ......c66cc7666667777c6766......
  53.         .....c777c77667667767767776.....
  54.         .....cc66cccc77c677cc666666.....
  55.         ....c6766666c7c6767677777766....
  56.         ...cc777666666677767777667c66...
  57.         .666cc6677666667777777776677666.
  58.         .67776677c676677777776677677776.
  59.         cc6666ccc67767776777776cc7767666
  60.         c666777667766776c776777c67776c66
  61.         .c6777666ccc667c676cc666667776c.
  62.         .cc6666766666cc66666666776cc666.
  63.         ...66776c666666666677667766cccc.
  64.         ...cc76c66766666667677667776c...
  65.         ...6cccc677666666776777c77666...
  66.         ......6ccc7c67767776c776cc......
  67.         ........ccc6777c67776cc6........
  68.         ...........cc77c67766...........
  69.         .............6c6666.............
  70.         ............ffeeeef.............
  71.         ..........ffeeeeeeeef...........
  72.         .............feeeffe............
  73.         ..............fef...............
  74.         ..............fef...............
  75.         ...............f................
  76.         """))
  77.     info.change_score_by(1)
  78. sprites.on_overlap(SpriteKind.player, SpriteKind.projectile, on_on_overlap2)
  79. def on_on_overlap3(sprite3, otherSprite3):
  80.     mySprite.set_image(img("""
  81.         ...............cc...............
  82.         ............ccc65c66............
  83.         ............c6c55c76............
  84.         ...........6cc7557c66...........
  85.         ..........cc77777577c6..........
  86.         .........666c677776cc66.........
  87.         ........c7776c7c67657576........
  88.         ........ccc666c666655666........
  89.         ......c66cc7666667777c6766......
  90.         .....c777c77667667767767776.....
  91.         .....cc66cccc77c677cc666666.....
  92.         ....c6766666c7c6767677777766....
  93.         ...cc777666666677767777667c66...
  94.         .666cc6677666667777777776677666.
  95.         .67776677c676677777776677677776.
  96.         cc6666ccc67767776777776cc7767666
  97.         c666777667766776c776777c67776c66
  98.         .c6777666ccc667c676cc666667776c.
  99.         .cc6666766666cc66666666776cc666.
  100.         ...66776c666666666677667766cccc.
  101.         ...cc76c66766666667677667776c...
  102.         ...6cccc677666666776777c77666...
  103.         ......6ccc7c67767776c776cc......
  104.         ........ccc6777c67776cc6........
  105.         ...........cc77c67766...........
  106.         .............6c6666.............
  107.         ............ffeeeef.............
  108.         ..........ffeeeeeeeef...........
  109.         .............feeeffe............
  110.         ..............fef...............
  111.         ..............fef...............
  112.         ...............f................
  113.         """))
  114.     game.game_over(True)
  115. sprites.on_overlap(SpriteKind.player, SpriteKind.star, on_on_overlap3)
  116. def on_on_overlap4(sprite4, otherSprite4):
  117.     mySprite.set_image(img("""
  118.         ...............cc...............
  119.         ............ccc65c66............
  120.         ............c6c55c76............
  121.         ...........6cc7557c66...........
  122.         ..........cc77777577c6..........
  123.         .........666c677776cc66.........
  124.         ........c7776c7c67657576........
  125.         ........ccc666c666655666........
  126.         ......c66cc7666667777c6766......
  127.         .....c777c77667667767767776.....
  128.         .....cc66cccc77c677cc666666.....
  129.         ....c6766666c7c6767677777766....
  130.         ...cc777666666677767777667c66...
  131.         .666cc6677666667777777776677666.
  132.         .67776677c676677777776677677776.
  133.         cc6666ccc67767776777776cc7767666
  134.         c666777667766776c776777c67776c66
  135.         .c6777666ccc667c676cc666667776c.
  136.         .cc6666766666cc66666666776cc666.
  137.         ...66776c666666666677667766cccc.
  138.         ...cc76c66766666667677667776c...
  139.         ...6cccc677666666776777c77666...
  140.         ......6ccc7c67767776c776cc......
  141.         ........ccc6777c67776cc6........
  142.         ...........cc77c67766...........
  143.         .............6c6666.............
  144.         ............ffeeeef.............
  145.         ..........ffeeeeeeeef...........
  146.         .............feeeffe............
  147.         ..............fef...............
  148.         ..............fef...............
  149.         ...............f................
  150.         """))
  151.     info.change_score_by(1)
  152. sprites.on_overlap(SpriteKind.player, SpriteKind.food, on_on_overlap4)
  153. projectile: Sprite = None
  154. mySprite: Sprite = None
  155. mySprite = sprites.create(img("""
  156.         ...............cc...............
  157.         ............ccc65c66............
  158.         ............c6c55c76............
  159.         ...........6cc7557c66...........
  160.         ..........cc77777577c6..........
  161.         .........666c677776cc66.........
  162.         ........c7776c7c67657576........
  163.         ........ccc666c666655666........
  164.         ......c66cc7666667777c6766......
  165.         .....c777c77667667767767776.....
  166.         .....cc66cccc77c677cc666666.....
  167.         ....c6766666c7c6767677777766....
  168.         ...cc777666666677767777667c66...
  169.         .666cc6677666667777777776677666.
  170.         .67776677c676677777776677677776.
  171.         cc6666ccc67767776777776cc7767666
  172.         c666777667766776c776777c67776c66
  173.         .c6777666ccc667c676cc666667776c.
  174.         .cc6666766666cc66666666776cc666.
  175.         ...66776c666666666677667766cccc.
  176.         ...cc76c66766666667677667776c...
  177.         ...6cccc677666666776777c77666...
  178.         ......6ccc7c67767776c776cc......
  179.         ........ccc6777c67776cc6........
  180.         ...........cc77c67766...........
  181.         .............6c6666.............
  182.         ............ffeeeef.............
  183.         ..........ffeeeeeeeef...........
  184.         .............feeeffe............
  185.         ..............fef...............
  186.         ..............fef...............
  187.         ...............f................
  188.         """),
  189.     SpriteKind.player)
  190. controller.move_sprite(mySprite, 110, 0)
  191. mySprite.set_position(82, 101)
  192. scene.set_background_image(img("""
  193.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  194.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  195.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  196.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  197.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  198.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  199.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  200.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  201.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  202.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  203.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  204.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  205.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  206.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  207.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  208.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  209.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  210.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  211.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  212.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  213.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  214.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  215.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  216.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  217.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  218.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  219.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  220.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  221.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  222.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  223.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  224.     9999999999999999999999999999999999999999fffff9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  225.     99999999999999999999999999999999999999ffffffff999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  226.     99999999999999999999999999999999999fffffffffff999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  227.     9999999999999999999999999999999999ffffffffffff999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  228.     99999999999999999999999999999999ffffffffffffff999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  229.     9999999999999999999999999999999ffffbbfffffffff999999999999999999999999999999899989999999999999999999999999999999999999999999999999999999999999999999999999999999
  230.     9999999999999999999999999999999ffffbbbffffffff999999999999999999999999999999899989999999999999999999999999999999999999999999999999999999999999999999999999999999
  231.     99999999999999999999999999999999ffffbbbfffffff999999999999999999999999999999899989999999999999999999999999999999999999999999999999999999999999999999999999999999
  232.     999999999999999999999999999999999ffffbbfffffff999999999999999999999999999999899989999999999999999999999999999999999999999999999999999999999999999999999999999999
  233.     9999999999999999999999999999999999fffcbfffffff299999999999999999999999999999899989999986999999999999999999999989999969999999999999999999999999999999999999999999
  234.     9999999999999999999999999999999999bffffffffff22ff999999999999999999999999999899989999898699988889999988889999989999989999999999999999999999999999999999999999999
  235.     999999999999999999999999999999999992effffff222ffff99999999999999999999999999888889999999899988988999988988999988999889999999999999999999999999999999999999999999
  236.     9999999999999999999999999999999999ff22222222ffffff99999999999999999999999999888889999999899989998899989998899998898899999999999999999999999999999999999999999999
  237.     99999999999999999999999999999999cffffffffffffffff999999999999999999999999999899989999999899989998899989996899999888999999999999999999999999999999999999999999999
  238.     99999999999999999999999999999999fbbfffffffffffff9999999999999999999999999999899989998888899989968999989998999999989999999999999999999999999999999999999999999999
  239.     99999999999999999999999999999999fbbfffffffffff111999999999999999999999999999899989998999899989889999989889999999989999999999999999999999999999999999999999999999
  240.     999999999999999999999999999999999fffff11111111111999999999999999999999999999899989998888899988899999988899999999989999999999999999999999999999999999999999999999
  241.     9999999999999999999999999999999999911111111111111199999999999999999999999999999999999999999989999999989999999999989999999999999999999999999999999999999999999999
  242.     999999999999999999999999999999999991111ff111ff111199999999999999999999999999999999999999999989999999989999999999989999999999999999999999999999999999999999999999
  243.     99999999999999999999ee99999999999991111ff111cf111199999999999999999999999999999999999999999989999999989999999999989999999999999999999999999999999999999999999999
  244.     999999999999999999999e999999999999911114444111111199999999999999999999999999999999999999999989999999989999999999989999999999999999999999999999999999999999999999
  245.     9999999999999999eb999ee99999999999914444444111111199999999999999999eb9999999999999999999999989999999989999999999989999999999999999999999999999999999999999999999
  246.     99999999999999999eeeb9e999999999999111111111111119999999999999999ee999999999999999999999999989999999989999999999889999999999999999999999999999999999999999999999
  247.     999999999999999999beeeee99999999999111f1111111f11229999999999999ee9999999999999999999999999989999999989999999988899999999999999999999999999999999999999999999999
  248.     999999999999999999999eee99999999999b2111f1f1f111122299999999999ee99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  249.     99999999999999999999999ee99999999922221111111111222299999999999eeeee99998999899999999999899999999998999999999999999999999999999999999999999999999999999999999999
  250.     999999999999999999999999e99999999e2222b11111111222229999999999eee99999998999899999999999899999999998999999999999999999999999999999999999999999999999999999999999
  251.     9999999999999999999999999ee999999e22222be222e222222e9999999eeec9999999998999899999999999899989999998999999999999999999999999999999999999999999999999999999999999
  252.     99999999999999999999999999eee9999ee22222e222ee22222199999eeee999999999998999899999999999899989999998999999999999999999999999999999999999999999999999999999999999
  253.     999999999999999999999999999eeeb991e2222222222e2222e1199eeee99999999999998999899999889999899999999998999988999699999899999999999999999999999999999999999999999999
  254.     9999999999999999999999999999eeee111e222e22222e222e1119eee99999999999999989998999988889998999999999989998988998999988998888999977cc999999999999999999999999999999
  255.     999999999999999999999999999999eee111e22e22222e22ed1eeeee99999999999999998888899988999899899989998888999999899689998998889889c777cc9bcc99999999999999999999999999
  256.     9999999999999999999999999999999eee111e22e2222e2eee1bee9999999999999999998888899988999899899989988988999999899988988998999999777cccccccc9999999999999999999999999
  257.     99999999999999999999999999999991ee11e222ee22ee222e11e11999999999999999998999899989999899899989889998999999899998889998888889c76cccccccc9999999999999999999999999
  258.     99999999999999999999999999999991e111e222221e22222e11111999999999999999998999899989998899899989889998998888899999899999999986e2eccccccccb999999999999999999999999
  259.     999999999999999999999999999999911111e222221ee2222e1111199999999999999999899989998898899989998998898899899989999989999999998cd322cccccccc999999999999999999999999
  260.     99999999999999999999999999999991111e22222e11e2222e111119999999999999999989998999988889998999899988899988888999998999988988823422cccccccc999999999999999999999999
  261.     9999999999999999999999999999999111ee22222e1fe2222e1111999999999999999999999999999999999999999999999999999999999989999b22289e222eccccccccc99999999999999999999999
  262.     9999999999999999999999999999999113e222222e1fe2222e111199999999999999999999999999999999999999999999999999999999998997c2d42ecce22ccccccccccc9999999999999999999999
  263.     999999999999999999999999999999991e222222ee11e2222e11119999999999999999999999999999999999999999999999999999999999877772d222ce22c6ceeeeceeec9999999999999999999999
  264.     999999999999999999999999999999991e222222e1112e222ee1199999999999999999999999999999999999999999999999999999999999877cce222223222cceeeeeeeb99999999999999999999999
  265.     99999999999999999999999999999999e2222222e111de2222e11bb9999999999999999999999999999999999999999999999999999999998ccccc22ecdd222eec999cc9999999999999999999999999
  266.     999999999999999999999999999999911e222212e11f1e22222e1bb99999999999999999999999999999999999999999999999999999999899cccccccc22222eeb999999999999999999999999999999
  267.     9999999999999999999999999999911bbeb21212e11c1e22222ebd1199999999999999999999999999999999999999999999999999999988cccccccccee222cccee99999999999999999999999999999
  268.     99999999999999999999999999991111bebbbbb1e1111e12222e11111999999999999999999999999999999999999999999999999999999ccccccccccee7cccccee99999999999999999999999999999
  269.     99999999999999999999999999991111111bbbb111111e12222e11111199999999999999999999999999999999999999999999999999999cccccccceeb77cccccee99999999999999999999999999999
  270.     99999999999999999999999999911111111111bbbbbbb2b2eb2e111111999999999999999999999999999999999999999999999999999999cccccceee977cccccce69999999999999999999999999999
  271.     999999999999999999999999999111111111111111bbb2b2112111111119999999999999999999999999999999999999999999999999999977cccce9999cccccccce9999999999999999999999999999
  272.     9999999999999999999999999991111111111111111111121111111111199999999999999999999999999999999999999999999999999999cccccc9999ccccccccee9999999999999999999999999999
  273.     9999999999999999999999999991111111111111111111111111111111199999999999999999999999999999999999999999999999999999ceeb6c9999ccccccccee9999999999999999999999999999
  274.     9999999999999999999999999911111111111111111111111111111111199999999999999999999999999999999999999999999999999999eee999999999ccccccee9999999999999999999999999999
  275.     9999999999999999999999999911111111111111111111111111111111199999999999999999999999999999999999999999999999999999999999999999ccccccee9999999999999999999999999999
  276.     9999999999999999999999999911111111111111111111111111111111199999999999999999999999999999999999999999999999999999999999999999999bcccc9999999999999999999999999999
  277.     9999999999999999999999999911111111111111111111111111111111199999999999999999999999999999999999999999999999999999999999999999999999cc9999999999999999999999999999
  278.     9999999999999999999999999911111111111111111111111111111111199999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  279.     9999999999999999999999999991111111111111111111111111111111199999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  280.     9999999999999999999999999991111111111111111111111111111111199999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  281.     9999999999999999999999999999111111111111111111111111111111199999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  282.     9999999999999999999999999999911111111111111111111111111111999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  283.     9999999999999999999999999999911111111111111111111111111111999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  284.     9999999999999999999999999999991111111111111111111111111118888888999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  285.     9999999999999999999999999999999111111111111111111111111188888888899999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  286.     9999999999999999999999999999999111111111111111111111111888888888899999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  287.     9999999999999999999999999999999911111111111111111111188888888888899999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  288.     9999999999999999999999999999999991111111111111111111888888888888899999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  289.     9999999999999999999999999999999999911111111111111168888888888888999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  290.     9999999999999999999999999999999999998888868888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  291.     9999999999999999999999999999999999998888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  292.     9999999999999999999999999999999999999999888888888888888888888899999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  293.     9999999999999999999999999999999999999999988888888888888888999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  294.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  295.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  296.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  297.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  298.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  299.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  300.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  301.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  302.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  303.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  304.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  305.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  306.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  307.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  308.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  309.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  310.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  311.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  312.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  313.     """))
  314. def on_update_interval():
  315.     global projectile
  316.     projectile = sprites.create_projectile_from_side(img("""
  317.             . . . . . . . . . . . . . . . .
  318.             . . . . . . . . . . . . . . . .
  319.             . . . . . . . . . . . . . . . .
  320.             . . . . . . . . . . . . . . . .
  321.             . . . . . . . f f . . . . . . .
  322.             . . . . . . . f f . . . . . . .
  323.             . . . . . 8 8 8 8 8 8 . . . . .
  324.             . . . . 8 9 9 9 9 9 9 8 . . . .
  325.             . . . 8 9 9 9 9 9 9 9 9 8 . . .
  326.             . . . 8 9 9 9 1 1 9 9 9 8 . . .
  327.             . . . 8 9 9 9 1 1 9 9 9 8 . . .
  328.             . . . 8 9 9 9 9 9 9 9 9 8 . . .
  329.             . . . 8 9 9 9 9 9 9 9 9 8 . . .
  330.             . . . . 8 9 9 9 9 9 9 8 . . . .
  331.             . . . . . 8 8 8 8 8 8 . . . . .
  332.             . . . . . . . . . . . . . . . .
  333.             """),
  334.         0,
  335.         50)
  336.     projectile.set_kind(SpriteKind.food)
  337.     projectile.x = randint(0, scene.screen_width())
  338. game.on_update_interval(2000, on_update_interval)
  339. def on_update_interval2():
  340.     global projectile
  341.     projectile = sprites.create_projectile_from_side(img("""
  342.             . . . . . . . . . . . . . . . .
  343.             . . . . . . . . . . . . . . . .
  344.             . . . . . . . . . . . . . . . .
  345.             . . . . . . . f f . . . . . . .
  346.             . . . . . . . f f . . . . . . .
  347.             . . . . . 2 2 2 2 2 2 . . . . .
  348.             . . . . 2 4 4 4 4 4 4 2 . . . .
  349.             . . . 2 4 4 4 4 4 4 4 4 2 . . .
  350.             . . 2 5 5 5 5 5 5 5 5 5 5 2 . .
  351.             . . 2 4 4 4 4 4 4 4 4 4 4 2 . .
  352.             . . 2 5 5 5 5 5 5 5 5 5 5 2 . .
  353.             . . 2 4 4 4 4 4 4 4 4 4 4 2 . .
  354.             . . 2 4 5 5 5 5 5 5 5 5 5 2 . .
  355.             . . . 2 4 4 4 4 4 4 4 4 2 . . .
  356.             . . . . 2 4 4 4 4 4 4 2 . . . .
  357.             . . . . . 2 2 2 2 2 2 2 . . . .
  358.             """),
  359.         0,
  360.         50)
  361.     projectile.set_kind(SpriteKind.New)
  362.     projectile.x = randint(0, scene.screen_width())
  363. game.on_update_interval(1000, on_update_interval2)
  364. def on_update_interval3():
  365.     global projectile
  366.     projectile = sprites.create_projectile_from_side(img("""
  367.             . . . . . . . . . . . . . . . .
  368.             . . . . . . . . . . . . . . . .
  369.             . . . . . . . . . . . . . . . .
  370.             . . . . . . . f f . . . . . . .
  371.             . . . . . . . f f . . . . . . .
  372.             . . . . . 2 2 2 2 2 2 . . . . .
  373.             . . . . 2 4 4 4 4 4 4 2 . . . .
  374.             . . . 2 4 4 4 4 4 4 4 4 2 . . .
  375.             . . 2 5 5 5 5 5 5 5 5 5 5 2 . .
  376.             . . 2 4 4 4 4 4 4 4 4 4 4 2 . .
  377.             . . 2 5 5 5 5 5 5 5 5 5 5 2 . .
  378.             . . 2 4 4 4 4 4 4 4 4 4 4 2 . .
  379.             . . 2 4 5 5 5 5 5 5 5 5 5 2 . .
  380.             . . . 2 4 4 4 4 4 4 4 4 2 . . .
  381.             . . . . 2 4 4 4 4 4 4 2 . . . .
  382.             . . . . . 2 2 2 2 2 2 2 . . . .
  383.             """),
  384.         0,
  385.         50)
  386.     projectile.set_kind(SpriteKind.projectile)
  387.     projectile.x = randint(0, scene.screen_width())
  388. game.on_update_interval(1000, on_update_interval3)
  389. def on_update_interval4():
  390.     global projectile
  391.     projectile = sprites.create_projectile_from_side(img("""
  392.             . . . . . . . b b . . . . . . .
  393.             . . . . . . b d d b . . . . . .
  394.             . . . . . b d 5 5 d b . . . . .
  395.             . . . . b b 5 5 5 5 b b . . . .
  396.             . . . . b 5 5 5 5 5 5 b . . . .
  397.             b b b b b 5 5 5 5 1 1 d b b b b
  398.             b 5 5 5 5 5 5 5 5 1 1 1 5 5 5 b
  399.             b d d 5 5 5 5 5 5 1 1 1 5 d d b
  400.             . b d d 5 5 5 5 5 5 5 5 d d b .
  401.             . . b b 5 5 5 5 5 5 5 5 b b . .
  402.             . . c b 5 5 5 5 5 5 5 5 b c . .
  403.             . . c 5 5 5 5 d d 5 5 5 5 c . .
  404.             . . c 5 5 d b b b b d 5 5 c . .
  405.             . . c 5 d b c c c c b d 5 c . .
  406.             . . c c c c . . . . c c c c . .
  407.             . . . . . . . . . . . . . . . .
  408.             """),
  409.         0,
  410.         50)
  411.     projectile.set_kind(SpriteKind.star)
  412.     projectile.x = randint(0, scene.screen_width())
  413. game.on_update_interval(30000, on_update_interval4)
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 3 小时前

【花雕动手做】基于Kitronik游戏机开发板之克里斯玛游戏

这是一个基于 MakeCode Arcade 的 MicroPython 游戏《克里斯玛游戏》代码。一个垂直射击躲避游戏,玩家控制一个角色在屏幕底部移动,躲避或收集从上方落下的各种物体。

代码结构分析

1. 自定义精灵类型
python
  1. class SpriteKind:
  2.     New = SpriteKind.create()
  3.     star = SpriteKind.create()
复制代码

创建了两种新的精灵类型,用于区分不同的游戏物体。

2. 碰撞检测系统
游戏中有4种不同的碰撞处理函数:

碰撞类型1(New类型)
python
  1. def on_on_overlap(sprite, otherSprite):
  2.     mySprite.set_image(角色图像)  # 改变角色外观
  3.     info.change_score_by(1)      # 得分+1
复制代码

碰撞类型2(projectile类型)
python
  1. def on_on_overlap2(sprite2, otherSprite2):
  2.     mySprite.set_image(角色图像)  # 改变角色外观
  3.     info.change_score_by(1)      # 得分+1
复制代码

碰撞类型3(star类型)- 游戏结束
python
  1. def on_on_overlap3(sprite3, otherSprite3):
  2.     mySprite.set_image(角色图像)  # 改变角色外观
  3.     game.game_over(True)         # 游戏胜利结束
复制代码

碰撞类型4(food类型)
python
  1. def on_on_overlap4(sprite4, otherSprite4):
  2.     mySprite.set_image(角色图像)  # 改变角色外观
  3.     info.change_score_by(1)      # 得分+1
复制代码


3. 游戏初始化设置
主角创建
python
  1. mySprite = sprites.create(角色图像, SpriteKind.player)
  2. controller.move_sprite(mySprite, 110, 0)  # 水平移动速度110,垂直不动
  3. mySprite.set_position(82, 101)           # 初始位置
复制代码

背景设置
使用纯色背景(999999代表灰色)。

4. 物体生成系统
游戏有4种定时生成的物体:
类型1:食物(绿色硬币)
生成间隔: 2000ms (2秒)
图像: 绿色圆形硬币
效果: 得分+1
类型2:New物体(蓝色星星)
生成间隔: 1000ms (1秒)
图像: 蓝色星星
效果: 得分+1
类型3:Projectile物体(蓝色星星)
生成间隔: 1000ms (1秒)
图像: 蓝色星星(与New类型相同)
效果: 得分+1
类型4:Star物体(骷髅头)- 特殊物体
生成间隔: 30000ms (30秒)
图像: 骷髅头
效果: 游戏胜利结束

游戏机制分析
核心玩法
水平移动: 玩家只能左右移动角色
物体躲避: 需要躲避或收集落下的物体
得分系统: 收集特定物体获得分数
胜利条件: 碰到骷髅头物体即获胜

技术特点
物体生成逻辑
python
  1. projectile = sprites.create_projectile_from_side(图像, 0, 50)
  2. projectile.x = randint(0, scene.screen_width())
复制代码

从屏幕顶部生成(y=0)

垂直下落速度50
随机水平位置
角色控制
python
  1. controller.move_sprite(mySprite, 110, 0)
复制代码

只允许水平移动(110速度)
垂直移动被禁用(0速度)

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 3 小时前

【花雕动手做】基于Kitronik游戏机开发板之克里斯玛游戏

图形编程参考实验程序

【花雕动手做】基于Kitronik游戏机开发板之克里斯玛游戏图1

通过模拟器,调试与模拟运行

【花雕动手做】基于Kitronik游戏机开发板之克里斯玛游戏图2

实验场景记录

【花雕动手做】基于Kitronik游戏机开发板之克里斯玛游戏图3

【花雕动手做】基于Kitronik游戏机开发板之克里斯玛游戏图4

【花雕动手做】基于Kitronik游戏机开发板之克里斯玛游戏图5

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail