13浏览
查看: 13|回复: 4

[项目] 【花雕动手做】基于Kitronik可编程开发板之猫吃金币游戏

[复制链接]
【花雕动手做】基于Kitronik可编程开发板之猫吃金币游戏图1

Kitronik ARCADE 是一款由英国教育科技公司 Kitronik 精心打造的可编程游戏机开发板,专为编程教学与创客实践而设计。该设备原生支持微软的 MakeCode Arcade 平台,用户可通过图形化或 JavaScript 编程方式,轻松创建、下载并运行复古风格的街机游戏。

它集成了彩色 LCD 显示屏、方向控制键、功能按键、蜂鸣器和震动马达等交互组件,提供完整的游戏输入输出体验。无论是初学者进行编程启蒙,还是创客群体开发交互式作品,Kitronik ARCADE 都能作为理想的硬件载体,助力创意实现。

凭借其开源友好、易于上手、兼容性强等特点,该开发板广泛应用于中小学编程课程、创客工作坊、游戏开发教学以及个人项目原型设计,深受教育者与技术爱好者的喜爱。


【花雕动手做】基于Kitronik可编程开发板之猫吃金币游戏图2

驴友花雕  中级技神
 楼主|

发表于 6 小时前

【花雕动手做】基于Kitronik可编程开发板之猫吃金币游戏

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

MicroPython实验代码

  1. @namespace
  2. class SpriteKind:
  3.     Coin = SpriteKind.create()
  4.     Flower = SpriteKind.create()
  5.     Fireball = SpriteKind.create()
  6. def on_on_overlap(sprite, otherSprite):
  7.     info.change_score_by(1)
  8.     otherSprite.destroy()
  9. sprites.on_overlap(SpriteKind.player, SpriteKind.Coin, on_on_overlap)
  10. def on_a_pressed():
  11.     if Hops_and_Paw.vy == 0:
  12.         Hops_and_Paw.vy = -150
  13. controller.A.on_event(ControllerButtonEvent.PRESSED, on_a_pressed)
  14. def on_overlap_tile(sprite2, location):
  15.     game.over(False, effects.melt)
  16. scene.on_overlap_tile(SpriteKind.player,
  17.     assets.tile("""
  18.         tile3
  19.         """),
  20.     on_overlap_tile)
  21. def on_overlap_tile2(sprite3, location2):
  22.     global current_level
  23.     current_level += 1
  24.     startLevel()
  25. scene.on_overlap_tile(SpriteKind.player,
  26.     assets.tile("""
  27.         tile2
  28.         """),
  29.     on_overlap_tile2)
  30. def on_on_overlap2(sprite4, otherSprite2):
  31.     global bee
  32.     otherSprite2.destroy()
  33.     bee = sprites.create(img("""
  34.             . . . . . . . . . . . . . . . .
  35.             . . . . . . . . . . . . . . . .
  36.             . . . . . . . . . . . . . . . .
  37.             . . . . . . . . . . . . . . . .
  38.             . . . . . . . . . . . . . . . .
  39.             . . . . . . . . . . . . . . . .
  40.             . . . . . . . . . . . . . . . .
  41.             . . . . . . . . . . . . . . . .
  42.             . . . . . . . . . . . . . . . .
  43.             . . . . . . . . . . . . . . . .
  44.             . . . . . . . . . . . . . . . .
  45.             . . . . . . . . . . . . . . . .
  46.             . . . . . . . . . . . . . . . .
  47.             . . . . . . . . . . . . . . . .
  48.             . . . . . . . . . . . . . . . .
  49.             . . . . . . . . . . . . . . . .
  50.             """),
  51.         SpriteKind.enemy)
  52.     animation.run_image_animation(bee,
  53.         [img("""
  54.                 . . . . . . . . . . . . . . . .
  55.                 . . . . . . . . . . . . . . . .
  56.                 . . . . . . . . . . . . . . . .
  57.                 . . . . . . . . . . . . . . . .
  58.                 . . . . . . . . . . . . . . . .
  59.                 . . . . . . . . . . . . . . . .
  60.                 . . . . . . . . . . . . . . . .
  61.                 . . . . f f f f f f f . . . . .
  62.                 . . . f 1 1 1 f 1 1 1 f . . . .
  63.                 . . . f 1 1 1 f 1 1 1 f . . . .
  64.                 . . . . . 1 1 1 1 1 . . . . . .
  65.                 . . . . f f f f f f f . . . . .
  66.                 . . . f 5 5 5 f 5 5 5 f . . . .
  67.                 . . . f f 5 5 f 5 5 f f . . . .
  68.                 . . . f 5 5 5 f 5 5 5 f . . . .
  69.                 . . . . f f f f f f f . . . . .
  70.                 """),
  71.             img("""
  72.                 . . . . . . . . . . . . . . . .
  73.                 . . . . . . . . . . . . . . . .
  74.                 . . . . . . . . . . . . . . . .
  75.                 . . . . . . . . . . . . . . . .
  76.                 . . . . . . . . . . . . . . . .
  77.                 . . . . . . . . . . . . . . . .
  78.                 . . . . . . . . . . . . . . . .
  79.                 . . . . . . . . . . . . . . . .
  80.                 . . . . . . . . . . . . . . . .
  81.                 . . . . . . . . . . . . . . . .
  82.                 . . . . . . . . . . . . . . . .
  83.                 . . . . f f f f f f f . . . . .
  84.                 . . . f 5 5 5 f 5 5 5 f . . . .
  85.                 . . . f f 5 5 f 5 5 f f . . . .
  86.                 . . . f 5 5 5 f 5 5 5 f . . . .
  87.                 . . . . f f f f f f f . . . . .
  88.                 """)],
  89.         100,
  90.         True)
  91.     bee.set_position(Hops_and_Paw.x + 80, Hops_and_Paw.y - 80)
  92.     bee.follow(Hops_and_Paw, 50)
  93. sprites.on_overlap(SpriteKind.player, SpriteKind.Flower, on_on_overlap2)
  94. def on_on_overlap3(sprite5, otherSprite3):
  95.     info.change_life_by(-2)
  96.     otherSprite3.destroy()
  97. sprites.on_overlap(SpriteKind.player, SpriteKind.Fireball, on_on_overlap3)
  98. def startLevel():
  99.     global flower, fireball
  100.     if current_level == 0:
  101.         tiles.set_tilemap(tilemap("""
  102.             level
  103.             """))
  104.     elif current_level == 1:
  105.         tiles.set_tilemap(tilemap("""
  106.             level_0
  107.             """))
  108.     elif current_level == 2:
  109.         tiles.set_tilemap(tilemap("""
  110.             level_1
  111.             """))
  112.     else:
  113.         game.over(True)
  114.     tiles.place_on_random_tile(Hops_and_Paw, assets.tile("""
  115.         tile6
  116.         """))
  117.     for value in tiles.get_tiles_by_type(assets.tile("""
  118.         tile6
  119.         """)):
  120.         tiles.set_tile_at(value, assets.tile("""
  121.             tile0
  122.             """))
  123.     scene.camera_follow_sprite(Hops_and_Paw)
  124.     info.set_life(5)
  125.     for value2 in sprites.all_of_kind(SpriteKind.enemy):
  126.         value2.destroy()
  127.     for value3 in sprites.all_of_kind(SpriteKind.Coin):
  128.         value3.destroy()
  129.     for value4 in sprites.all_of_kind(SpriteKind.Flower):
  130.         value4.destroy()
  131.     for value5 in tiles.get_tiles_by_type(assets.tile("""
  132.         tile4
  133.         """)):
  134.         flower = sprites.create(img("""
  135.                 . . . . . . . . . . . . . . . .
  136.                 . . . . . . . . . . . . . . . .
  137.                 . . . . . f f f f f f f . . . .
  138.                 . . . . f 5 5 5 5 5 5 5 f . . .
  139.                 . . . f 5 5 4 4 4 4 5 5 5 f . .
  140.                 . . f 5 5 5 5 5 5 5 5 5 5 5 f .
  141.                 . . f 5 4 5 5 5 5 5 5 5 5 5 f .
  142.                 . . f 5 4 5 5 5 5 5 5 5 5 5 f .
  143.                 . . f 5 4 5 5 5 5 5 5 5 5 5 f .
  144.                 . . f 5 4 5 5 5 5 5 5 5 5 5 f .
  145.                 . . f 5 4 5 5 5 5 5 5 5 5 5 f .
  146.                 . . f 5 4 5 5 5 5 5 5 5 5 5 f .
  147.                 . . . f 5 5 4 4 5 5 5 5 5 f . .
  148.                 . . . . f 5 5 5 5 5 5 5 f . . .
  149.                 . . . . . f f f f f f f . . . .
  150.                 . . . . . . . . . . . . . . . .
  151.                 """),
  152.             SpriteKind.Coin)
  153.         animation.run_image_animation(flower,
  154.             [img("""
  155.                     . . . . . . . . . . . . . . . .
  156.                     . . . . f f f f f f f . . . . .
  157.                     . . . f 5 5 5 5 5 5 5 f . . . .
  158.                     . . f 5 4 4 4 4 4 5 5 5 f . . .
  159.                     . f 5 4 5 5 5 5 5 5 5 5 5 f . .
  160.                     . f 5 4 5 5 5 5 5 5 5 5 5 f . .
  161.                     . f 5 4 5 5 5 5 5 5 5 5 5 f . .
  162.                     . f 5 4 5 5 5 5 5 5 5 5 5 f . .
  163.                     . f 5 4 5 5 5 5 5 5 5 5 5 f . .
  164.                     . f 5 4 5 5 5 5 5 5 5 5 5 f . .
  165.                     . f 5 5 5 5 5 5 5 5 5 5 5 f . .
  166.                     . . f 5 5 4 4 4 5 5 5 5 f . . .
  167.                     . . . f 5 5 5 5 5 5 5 f . . . .
  168.                     . . . . f f f f f f f . . . . .
  169.                     . . . . . . . . . . . . . . . .
  170.                     . . . . . . . . . . . . . . . .
  171.                     """),
  172.                 img("""
  173.                     . . . . . . . . . . . . . . . .
  174.                     . . . . . f f f f f . . . . . .
  175.                     . . . . f 5 5 5 5 5 f . . . . .
  176.                     . . . f 5 4 4 4 4 5 5 f . . . .
  177.                     . . f 5 4 5 5 5 5 5 5 5 f . . .
  178.                     . . f 5 4 5 5 5 5 5 5 5 f . . .
  179.                     . . f 5 4 5 5 5 5 5 5 5 f . . .
  180.                     . . f 5 4 5 5 5 5 5 5 5 f . . .
  181.                     . . f 5 4 5 5 5 5 5 5 5 f . . .
  182.                     . . f 5 4 5 5 5 5 5 5 5 f . . .
  183.                     . . f 5 5 5 5 5 5 5 5 5 f . . .
  184.                     . . . f 5 5 4 4 5 5 5 f . . . .
  185.                     . . . . f 5 5 5 5 5 f . . . . .
  186.                     . . . . . f f f f f . . . . . .
  187.                     . . . . . . . . . . . . . . . .
  188.                     . . . . . . . . . . . . . . . .
  189.                     """),
  190.                 img("""
  191.                     . . . . . . . . . . . . . . . .
  192.                     . . . . . . f f f . . . . . . .
  193.                     . . . . . f 5 5 5 f . . . . . .
  194.                     . . . . f 5 4 4 5 5 f . . . . .
  195.                     . . . f 5 4 5 5 5 5 5 f . . . .
  196.                     . . . f 5 4 5 5 5 5 5 f . . . .
  197.                     . . . f 5 4 5 5 5 5 5 f . . . .
  198.                     . . . f 5 4 5 5 5 5 5 f . . . .
  199.                     . . . f 5 4 5 5 5 5 5 f . . . .
  200.                     . . . f 5 4 5 5 5 5 5 f . . . .
  201.                     . . . f 5 5 5 5 5 5 5 f . . . .
  202.                     . . . . f 5 5 4 5 5 f . . . . .
  203.                     . . . . . f 5 5 5 f . . . . . .
  204.                     . . . . . . f f f . . . . . . .
  205.                     . . . . . . . . . . . . . . . .
  206.                     . . . . . . . . . . . . . . . .
  207.                     """),
  208.                 img("""
  209.                     . . . . . . . . . . . . . . . .
  210.                     . . . . . . . f . . . . . . . .
  211.                     . . . . . . f 5 f . . . . . . .
  212.                     . . . . . f 5 4 5 f . . . . . .
  213.                     . . . . f 5 4 5 5 5 f . . . . .
  214.                     . . . . f 5 4 5 5 5 f . . . . .
  215.                     . . . . f 5 4 5 5 5 f . . . . .
  216.                     . . . . f 5 4 5 5 5 f . . . . .
  217.                     . . . . f 5 4 5 5 5 f . . . . .
  218.                     . . . . f 5 4 5 5 5 f . . . . .
  219.                     . . . . f 5 5 5 5 5 f . . . . .
  220.                     . . . . . f 5 5 5 f . . . . . .
  221.                     . . . . . . f 5 f . . . . . . .
  222.                     . . . . . . . f . . . . . . . .
  223.                     . . . . . . . . . . . . . . . .
  224.                     . . . . . . . . . . . . . . . .
  225.                     """),
  226.                 img("""
  227.                     . . . . . . . . . . . . . . . .
  228.                     . . . . . . . f . . . . . . . .
  229.                     . . . . . . f 5 f . . . . . . .
  230.                     . . . . . . f 4 f . . . . . . .
  231.                     . . . . . f 5 5 5 f . . . . . .
  232.                     . . . . . f 5 5 5 f . . . . . .
  233.                     . . . . . f 5 5 5 f . . . . . .
  234.                     . . . . . f 5 5 5 f . . . . . .
  235.                     . . . . . f 5 5 5 f . . . . . .
  236.                     . . . . . f 5 5 5 f . . . . . .
  237.                     . . . . . f 5 5 5 f . . . . . .
  238.                     . . . . . . f 5 f . . . . . . .
  239.                     . . . . . . f 5 f . . . . . . .
  240.                     . . . . . . . f . . . . . . . .
  241.                     . . . . . . . . . . . . . . . .
  242.                     . . . . . . . . . . . . . . . .
  243.                     """),
  244.                 img("""
  245.                     . . . . . . . . . . . . . . . .
  246.                     . . . . . . . f . . . . . . . .
  247.                     . . . . . . f 5 f . . . . . . .
  248.                     . . . . . . f 4 f . . . . . . .
  249.                     . . . . . . f 5 f . . . . . . .
  250.                     . . . . . . f 5 f . . . . . . .
  251.                     . . . . . . f 5 f . . . . . . .
  252.                     . . . . . . f 5 f . . . . . . .
  253.                     . . . . . . f 5 f . . . . . . .
  254.                     . . . . . . f 5 f . . . . . . .
  255.                     . . . . . . f 5 f . . . . . . .
  256.                     . . . . . . f 5 f . . . . . . .
  257.                     . . . . . . f 5 f . . . . . . .
  258.                     . . . . . . . f . . . . . . . .
  259.                     . . . . . . . . . . . . . . . .
  260.                     . . . . . . . . . . . . . . . .
  261.                     """),
  262.                 img("""
  263.                     . . . . . . . . . . . . . . . .
  264.                     . . . . . . . f . . . . . . . .
  265.                     . . . . . . f 5 f . . . . . . .
  266.                     . . . . . . f 4 f . . . . . . .
  267.                     . . . . . f 5 5 5 f . . . . . .
  268.                     . . . . . f 5 5 5 f . . . . . .
  269.                     . . . . . f 5 5 5 f . . . . . .
  270.                     . . . . . f 5 5 5 f . . . . . .
  271.                     . . . . . f 5 5 5 f . . . . . .
  272.                     . . . . . f 5 5 5 f . . . . . .
  273.                     . . . . . f 5 5 5 f . . . . . .
  274.                     . . . . . . f 5 f . . . . . . .
  275.                     . . . . . . f 5 f . . . . . . .
  276.                     . . . . . . . f . . . . . . . .
  277.                     . . . . . . . . . . . . . . . .
  278.                     . . . . . . . . . . . . . . . .
  279.                     """),
  280.                 img("""
  281.                     . . . . . . . . . . . . . . . .
  282.                     . . . . . . . f . . . . . . . .
  283.                     . . . . . . f 5 f . . . . . . .
  284.                     . . . . . f 5 4 5 f . . . . . .
  285.                     . . . . f 5 4 5 5 5 f . . . . .
  286.                     . . . . f 5 4 5 5 5 f . . . . .
  287.                     . . . . f 5 4 5 5 5 f . . . . .
  288.                     . . . . f 5 4 5 5 5 f . . . . .
  289.                     . . . . f 5 4 5 5 5 f . . . . .
  290.                     . . . . f 5 4 5 5 5 f . . . . .
  291.                     . . . . f 5 5 5 5 5 f . . . . .
  292.                     . . . . . f 5 5 5 f . . . . . .
  293.                     . . . . . . f 5 f . . . . . . .
  294.                     . . . . . . . f f . . . . . . .
  295.                     . . . . . . . . . . . . . . . .
  296.                     . . . . . . . . . . . . . . . .
  297.                     """),
  298.                 img("""
  299.                     . . . . . . . . . . . . . . . .
  300.                     . . . . . . f f f . . . . . . .
  301.                     . . . . . f 5 5 5 f . . . . . .
  302.                     . . . . f 5 4 4 5 5 f . . . . .
  303.                     . . . f 5 4 5 5 5 5 5 f . . . .
  304.                     . . . f 5 4 5 5 5 5 5 f . . . .
  305.                     . . . f 5 4 5 5 5 5 5 f . . . .
  306.                     . . . f 5 4 5 5 5 5 5 f . . . .
  307.                     . . . f 5 4 5 5 5 5 5 f . . . .
  308.                     . . . f 5 4 5 5 5 5 5 f . . . .
  309.                     . . . f 5 5 5 5 5 5 5 f . . . .
  310.                     . . . . f 5 5 4 5 5 f . . . . .
  311.                     . . . . . f 5 5 5 f . . . . . .
  312.                     . . . . . . f f f . . . . . . .
  313.                     . . . . . . . . . . . . . . . .
  314.                     . . . . . . . . . . . . . . . .
  315.                     """)],
  316.             100,
  317.             True)
  318.         tiles.place_on_tile(flower, value5)
  319.         tiles.set_tile_at(value5, assets.tile("""
  320.             tile0
  321.             """))
  322.     for value6 in tiles.get_tiles_by_type(assets.tile("""
  323.         tile5
  324.         """)):
  325.         flower = sprites.create(img("""
  326.                 . . . . . . . . . . . . . . . .
  327.                 . . . . . . . . . . . . . . . .
  328.                 . . . . . . . . . . . . . . . .
  329.                 . . . . . . . . . . . . . . . .
  330.                 . . . . . . . . . . . . . . . .
  331.                 . . . . . . . . . . . . . . . .
  332.                 . . . . . . . . . . . . . . . .
  333.                 . . . . . . . . . . . . . . . .
  334.                 . . . . 3 a . . a 3 . . . . . .
  335.                 . . . . a 3 2 2 3 a . . . . . .
  336.                 . . 7 7 . a 3 3 a . . . . . . .
  337.                 . . 7 7 7 . c c . 7 7 . . . . .
  338.                 . . . 8 7 7 7 . 7 7 7 . . . . .
  339.                 . . . 8 8 7 7 7 7 8 . . . . . .
  340.                 . . . . . 8 7 7 8 . . . . . . .
  341.                 . . . . . . 7 8 . . . . . . . .
  342.                 """),
  343.             SpriteKind.Flower)
  344.         tiles.place_on_tile(flower, value6)
  345.         tiles.set_tile_at(value6, assets.tile("""
  346.             tile0
  347.             """))
  348.     for value7 in tiles.get_tiles_by_type(assets.tile("""
  349.         tile11
  350.         """)):
  351.         fireball = sprites.create(img("""
  352.                 . . . . . . . . . . . . . . . .
  353.                 . . . . . . . . . . . . . . . .
  354.                 . . . . . . . . . . . . . . . .
  355.                 . . . . . . . 5 . . . . . . . .
  356.                 . . . . 5 5 2 5 5 4 5 5 . . . .
  357.                 . . . . . 4 4 4 4 2 4 . . . . .
  358.                 . . . 5 4 4 2 2 2 2 4 5 . . . .
  359.                 . . . 5 4 . 2 8 2 8 4 2 . . . .
  360.                 . . . 5 5 . 2 8 8 2 4 5 . . . .
  361.                 . . . 2 5 2 2 8 2 4 4 5 . . . .
  362.                 . . . . 5 4 2 2 2 4 5 . . . . .
  363.                 . . . . . . 4 . 4 4 5 . . . . .
  364.                 . . . 5 . 5 5 5 4 5 5 . . . . .
  365.                 . . . . . . . 2 5 5 . . . . . .
  366.                 . . . . . . . . . . . . . 5 . .
  367.                 . . . . . . . . . . . . . . . .
  368.                 """),
  369.             SpriteKind.Fireball)
  370.         tiles.place_on_tile(fireball, value7)
  371.         tiles.set_tile_at(value7, assets.tile("""
  372.             tile0
  373.             """))
  374.         animation.run_movement_animation(fireball, "c 0 -100 0 100 0 0", 2000, True)
  375.         fireball.start_effect(effects.fire)
  376. def on_on_overlap4(sprite6, otherSprite4):
  377.     otherSprite4.destroy()
  378.     if Hops_and_Paw.y < otherSprite4.y:
  379.         info.change_score_by(3)
  380.     else:
  381.         info.change_life_by(-1)
  382. sprites.on_overlap(SpriteKind.player, SpriteKind.enemy, on_on_overlap4)
  383. fireball: Sprite = None
  384. flower: Sprite = None
  385. bee: Sprite = None
  386. Hops_and_Paw: Sprite = None
  387. current_level = 0
  388. scene.set_background_color(9)
  389. scene.set_background_image(img("""
  390.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  391.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  392.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  393.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  394.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  395.     9999999999999999999999999999999111119999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  396.     9999999999999999999999999999911111111199999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  397.     9999999999999999999999999991111111111111999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  398.     9999999999999999999999999911111111111111199999999111111199999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  399.     9999999999999999999999999111111111111111119999911111111119999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  400.     9999999999999999999999999111111111111111111999911111111111999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  401.     9999999999999999999999991111111111111111111199111111111111199999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  402.     9999999999999999911199991111111111111111111111111111111111119999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  403.     9999999999999999111119911111111111111111111111111111111111119999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  404.     9999999999999999111111911111111111111111111111111111111111111999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  405.     9999999999999991111111111111111111111111111111111111111111111999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  406.     9999999999999991111111111111111111111111111111111111111111111999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  407.     9999999999999991111111111111111111111111111111111111111111111999999999999999999999999999999991111199999999999999999999999999999999999999999991111999999999999999
  408.     9999999999999911111111111111111111111111111111111111111111111199999999999999999999999999999991111111999999911199999999999999999999999999999911111119111199999999
  409.     9999999999999911111111111111111111111111111111111111111111111199999999999999999999999999999991111111199111111119999999999999999999999999999111111111111119999999
  410.     9999999999999911111111111111111111111111111111111111111111111199999999999999999999999999999911111111119111111111999999999999999999999999991111111111111111999999
  411.     9999999999999911111111111111111111111111111111111111111111111199999999999999999999999999999911111111111111111111199999999999999999999999911111111111111111999999
  412.     9999999999999999111111111111111111111111111111111111111111111999999999999999999999999999999911111111111111111111199111999999999999999999911111111111111111999999
  413.     9999999999999991111111111111111111111111111111111111111111999999999999999999999999999999999911111111111111111111111111199999999999999999111111111111111111999999
  414.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999911111111111111111111111111111999999999999999111111111111111111999999
  415.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999991111111111111111111111111111199999999999999911111111111111111999999
  416.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999111111111111111111111111111119999999999999999111111111111119999999
  417.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999111111111111111111111111111119999999999999999999999999999999999999
  418.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999111111111111111111111111111111999999999999999999999999999999999999
  419.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  420.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  421.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  422.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  423.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  424.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  425.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  426.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  427.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  428.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  429.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  430.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  431.     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  432.     9999999999999999999999999999999999999999999999999999999669999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  433.     9999999999999999999999999999999999999999999999999999996666999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  434.     9999999999999999999999999999999999999999999999999999666666999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  435.     9999999999999999999999999999999999999999999999999966666666669999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  436.     9999999999999999999999999999999999999999999999999666666666669999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  437.     9999999999999999999999999999999999999999999999996666666666666999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  438.     9999999999999999999999999999999999999999999999966666666666666999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  439.     9999999999999999999999999999999999999999999999666666666666666666999999999999999999999999999999999999966669999999999999999999999999999999999999999999999999999999
  440.     9999999999999999999999999999999999999999999996666666666666666666666999999999999999999999999999999996666669999999999999999999999999999999999999999999999999999999
  441.     9999999999999999999999999999999999999999999966666666666666666666666669999999999999999999999999999666666666999999999999999999999999999999999999999999999999999999
  442.     9999999999999999999999999999999999999999999666666666666666666666666666699999999999999999999999996666666666999999999999999999999999999999999999999999999999999999
  443.     9999999999999999999999999999999999999999966666666666666666666666666666669999999999999999999999966666666666699999999999999999999999999999999999999999999999999999
  444.     9999999999999999999999999999999999999996666666666666666666666666666666666999999999999999999996666666666666669999999999999999999999999999999999999999999999999999
  445.     9999999999999999999999999999999999999666666666666666666666666666666666666669999999999999999966666666666666669999999999999999999999999999999999999999999999999999
  446.     9999999999999999999999999999999999996666666666666666666666666666666666666666669999999999999666666666666666666699999999999999999999999999999999999999999999999999
  447.     9999999999999999999999999999999996666666666666666666666666666666666666666666666999999999996666666666666666666666669999999999999999999999999999999999999999999999
  448.     9999999999999999999999999999999966666666666666666666666666666666666666666666666669999999966666666666666666666666666699999999999999999999999969999999999999999999
  449.     9999999999999999999999999999966666666666666666666666666666666666666666666666666666699999666666666666666666666666666666999999999999999999996666699999999999999999
  450.     9999999999999999999999999996666666666666666666666666666666666666666666666666666666966666666666666666666666666666666666666999999999999999666666669999999999999999
  451.     9999999999999999999999999666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666669999999999966666666666699999999999999
  452.     9999999999999999999996666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666699999999666666666666699999999999999
  453.     9999999999999996666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666699966666666666666666999999999999
  454.     9999999996666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666699999999999
  455.     9999999666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666669999999999
  456.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666699999999
  457.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666999999
  458.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666999
  459.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  460.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  461.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  462.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  463.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  464.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  465.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  466.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  467.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  468.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  469.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  470.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  471.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  472.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  473.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  474.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  475.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  476.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  477.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  478.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  479.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  480.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  481.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  482.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  483.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  484.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  485.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  486.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  487.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  488.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  489.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  490.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  491.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  492.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  493.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  494.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  495.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  496.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  497.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  498.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  499.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  500.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  501.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  502.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  503.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  504.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  505.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  506.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  507.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  508.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  509.     6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  510.     """))
  511. current_level = 0
  512. Hops_and_Paw = sprites.create(img("""
  513.         . . . . . . . . . . . . . . . .
  514.         . . . . . . . . . . . . . . . .
  515.         . . . . . . . . . . . . . . . .
  516.         . . . . . . . . . . . . . . . .
  517.         . . . . . . . . . . . . . . . .
  518.         . . . . . . . . . . . . . . . .
  519.         . . . . . . . . . . . . . . . .
  520.         . . . . . . . . . . . . . . . .
  521.         . . . . . . . . . . . . f . . .
  522.         . . . . . . . . . . . . f f f .
  523.         . . . . . . . . . . . . f f 5 f
  524.         f f f f f f f f f f f f f f f f
  525.         . . . . f f f f f f f f f f . .
  526.         . . . . f f f f f f f f f . . .
  527.         . . . . f . f . . . f . f . . .
  528.         . . . . f . f . . . f . f . . .
  529.         """),
  530.     SpriteKind.player)
  531. controller.move_sprite(Hops_and_Paw, 80, 0)
  532. startLevel()
  533. def on_on_update():
  534.     if Hops_and_Paw.vy < 0:
  535.         Hops_and_Paw.set_image(img("""
  536.             . . . . . . . . . . . . . . . .
  537.             . . . . . . . . . . . . . . . .
  538.             . . . . . . . . . . . f . . . .
  539.             . . . . . . . . . . . f f f . .
  540.             . . . . . . . . . . . f f 5 f .
  541.             . . . f . . . . . . f f f f f .
  542.             . . . f . . . . . . f f f f . .
  543.             . . f f . . . . . f f f . . . .
  544.             . . f . . . . . . f f f f f f f
  545.             . . f . . . . . f f f f . . . .
  546.             . . f f . . . f f f f f f f f .
  547.             . . . f f f f f f f . . . . . .
  548.             . . . . . . f f f . . . . . . .
  549.             . . . . . f f . f . . . . . . .
  550.             . . . . . f . . f . . . . . . .
  551.             . . . . . f . . . . . . . . . .
  552.             """))
  553.     elif Hops_and_Paw.vy > 0:
  554.         Hops_and_Paw.set_image(img("""
  555.             . . . . . . . f . . . . . . . .
  556.             . . . . . . f . . . . . . . . .
  557.             . . . . . f f . . . . . . . . .
  558.             . . . . . f . . . . . . . . . .
  559.             . . . . . f . . . . . . . . . .
  560.             . . . . . f f . . . . . . . . .
  561.             . . . . f f f f . . . . . . . .
  562.             . . . . f f f f . . . . . . . .
  563.             . . . . f f f f f . . . . . . .
  564.             . . . . f . f f f f . . f . . .
  565.             . . . . f . f f f f f f f f f .
  566.             . . . . f . f . f f f f f f 5 f
  567.             . . . . . . . . f f f f f f f f
  568.             . . . . . . . . f . f . . . . .
  569.             . . . . . . . . f . f . . . . .
  570.             . . . . . . . . f . f f . . . .
  571.             """))
  572.     elif Hops_and_Paw.x % 2 == 0:
  573.         Hops_and_Paw.set_image(img("""
  574.             . . . . . . . . . . . . . . . .
  575.             . . . . . . . . . . . . . . . .
  576.             . . . . . . . . . . . . . . . .
  577.             . . . . . . . . . . . . . . . .
  578.             . . . . . . . . . . . . . . . .
  579.             . . . . . . . . . . . . . . . .
  580.             . . . . . . . . . . . . . . . .
  581.             . . . . . . . . . . . . . . . .
  582.             . . . . . . . . . . . . f . . .
  583.             . . . . . . . . . . . . f f f .
  584.             . . . . . . . . . . . . f f 5 f
  585.             f f f f f f f f f f f f f f f f
  586.             . . . . f f f f f f f f f f . .
  587.             . . . . f f f f f f f f f . . .
  588.             . . . . f f . . . . . f f . . .
  589.             . . . . f f . . . . . f f . . .
  590.             """))
  591.     else:
  592.         Hops_and_Paw.set_image(img("""
  593.             . . . . . . . . . . . . . . . .
  594.             . . . . . . . . . . . . . . . .
  595.             . . . . . . . . . . . . . . . .
  596.             . . . . . . . . . . . . . . . .
  597.             . . . . . . . . . . . . . . . .
  598.             . . . . . . . . . . . . . . . .
  599.             . . . . . . . . . . . . . . . .
  600.             . . . . . . . . . . . . . . . .
  601.             . . . . . . . . . . . . f . . .
  602.             . . . . . . . . . . . . f f f .
  603.             . . . . . . . . . . . . f f 5 f
  604.             f f f f f f f f f f f f f f f f
  605.             . . . . f f f f f f f f f f . .
  606.             . . . . f f f f f f f f f . . .
  607.             . . . . f . f . . . f . f . . .
  608.             . . . . f . f . . . f . f . . .
  609.             """))
  610.     if (Hops_and_Paw.is_hitting_tile(CollisionDirection.LEFT) or Hops_and_Paw.is_hitting_tile(CollisionDirection.RIGHT)) and Hops_and_Paw.vy >= 0:
  611.         Hops_and_Paw.vy = 0
  612.         Hops_and_Paw.ay = 0
  613.         Hops_and_Paw.set_image(img("""
  614.             . . . . . . . . . . . . . . . .
  615.             . . . . . . . . . . . . . . . .
  616.             . . . . . . . . . . . . . . . .
  617.             . . . . . . . . . . . . f f . .
  618.             . . . . . . . . . . . f 5 f . .
  619.             . . . . . . . . . . . f f f . .
  620.             . . . . . . . . . . f f f f . .
  621.             . . . . . . . . . . . . f f f f
  622.             . . . . . . . . . . . . f f . .
  623.             . . . . . . . . . . . . f f f f
  624.             . . . . . . . f . . . . f f . .
  625.             . . . . . . . f . . . . f f . .
  626.             . . . . . . . f . . . . f f . .
  627.             . . . . . . . f . . . . f f f f
  628.             . . . . . . . f f . . . f f . .
  629.             . . . . . . . . f f f f f f f f
  630.             """))
  631.     else:
  632.         Hops_and_Paw.ay = 350
  633.     if Hops_and_Paw.vx < 0 or Hops_and_Paw.is_hitting_tile(CollisionDirection.LEFT):
  634.         Hops_and_Paw.image.flip_x()
  635.         Hops_and_Paw.set_image(Hops_and_Paw.image)
  636. game.on_update(on_on_update)
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 6 小时前

【花雕动手做】基于Kitronik可编程开发板之猫吃金币游戏

这是一个使用MakeCode Arcade开发的平台跳跃类"猫吃金币"游戏代码。

游戏核心机制

1. 自定义精灵类型
python
  1. class SpriteKind:
  2.     Coin = SpriteKind.create()      # 金币
  3.     Flower = SpriteKind.create()    # 花朵(特殊物品)
  4.     Fireball = SpriteKind.create()  # 火球(敌人)
复制代码


2. 游戏组件初始化
python
  1. # 设置背景和主角
  2. scene.set_background_color(9)
  3. scene.set_background_image(云朵背景图片)
  4. Hops_and_Paw = sprites.create(猫角色图片, SpriteKind.player)
  5. controller.move_sprite(Hops_and_Paw, 80, 0)  # 水平移动速度80,垂直为0(跳跃单独控制)
复制代码

3. 核心游戏功能
关卡系统 startLevel()

python
  1. def startLevel():
  2.     # 根据当前关卡加载不同地图
  3.     if current_level == 0:
  4.         tiles.set_tilemap(tilemap("level"))
  5.     elif current_level == 1:
  6.         tiles.set_tilemap(tilemap("level_0"))
  7.     elif current_level == 2:
  8.         tiles.set_tilemap(tilemap("level_1"))
  9.     else:
  10.         game.over(True)  # 通关
  11.         
  12.     # 重置游戏状态
  13.     info.set_life(5)  # 生命值
  14.     tiles.place_on_random_tile(Hops_and_Paw, assets.tile("tile6"))  # 出生点
  15. 物品生成系统
复制代码


python
  1. # 生成金币(有动画效果)
  2. for value5 in tiles.get_tiles_by_type(assets.tile("tile4")):
  3.     flower = sprites.create(金币图片, SpriteKind.Coin)
  4.     animation.run_image_animation(flower, 金币动画序列, 100, True)
  5.    
  6. # 生成花朵(特殊物品)
  7. for value6 in tiles.get_tiles_by_type(assets.tile("tile5")):
  8.     flower = sprites.create(花朵图片, SpriteKind.Flower)
  9. # 生成火球敌人
  10. for value7 in tiles.get_tiles_by_type(assets.tile("tile11")):
  11.     fireball = sprites.create(火球图片, SpriteKind.Fireball)
  12.     animation.run_movement_animation(fireball, "c 0 -100 0 100 0 0", 2000, True)  # 上下移动
复制代码

4. 玩家控制与物理系统
跳跃机制

python
  1. def on_a_pressed():
  2.     if Hops_and_Paw.vy == 0:  # 只有在地面上才能跳跃
  3.         Hops_and_Paw.vy = -150  # 向上速度
  4. controller.A.on_event(ControllerButtonEvent.PRESSED, on_a_pressed)
复制代码

角色动画系统 on_on_update()

python
  1. def on_on_update():
  2.     # 根据速度状态切换角色图像
  3.     if Hops_and_Paw.vy < 0:    # 上升状态
  4.         Hops_and_Paw.set_image(跳跃向上图片)
  5.     elif Hops_and_Paw.vy > 0:  # 下降状态
  6.         Hops_and_Paw.set_image(跳跃向下图片)
  7.     elif Hops_and_Paw.x % 2 == 0:  # 行走动画(交替图像)
  8.         Hops_and_Paw.set_image(行走图片1)
  9.     else:
  10.         Hops_and_Paw.set_image(行走图片2)
  11.         
  12.     # 物理系统
  13.     if 碰到左右墙壁且在下落:
  14.         Hops_and_Paw.vy = 0
  15.         Hops_and_Paw.ay = 0  # 取消重力
  16.     else:
  17.         Hops_and_Paw.ay = 350  # 重力加速度
  18.         
  19.     # 方向翻转
  20.     if 向左移动或碰到左墙:
  21.         Hops_and_Paw.image.flip_x()
复制代码


5. 碰撞检测系统
收集金币

python
  1. def on_on_overlap(sprite, otherSprite):
  2.     info.change_score_by(1)  # 得分+1
  3.     otherSprite.destroy()    # 金币消失
复制代码

碰到花朵生成蜜蜂敌人

python
  1. def on_on_overlap2(sprite4, otherSprite2):
  2.     otherSprite2.destroy()
  3.     bee = sprites.create(蜜蜂图片, SpriteKind.enemy)
  4.     bee.follow(Hops_and_Paw, 50)  # 蜜蜂会跟随玩家
复制代码

敌人碰撞逻辑

python
  1. def on_on_overlap4(sprite6, otherSprite4):
  2.     otherSprite4.destroy()
  3.     if Hops_and_Paw.y < otherSprite4.y:  # 从上方踩敌人
  4.         info.change_score_by(3)  # 奖励分数
  5.     else:  # 从侧面碰到敌人
  6.         info.change_life_by(-1)  # 扣血
复制代码


6. 关卡切换与游戏结束
通关条件

python
  1. def on_overlap_tile2(sprite3, location2):
  2. global current_level
  3. current_level += 1 # 进入下一关
  4. startLevel()
  5. # 检测通关瓷砖(tile2)
  6. scene.on_overlap_tile(SpriteKind.player, assets.tile("tile2"), on_overlap_tile2)
复制代码

死亡条件

python
  1. def on_overlap_tile(sprite2, location):
  2.     game.over(False, effects.melt)  # 融化效果
  3. # 检测危险瓷砖(tile3)
  4. scene.on_overlap_tile(SpriteKind.player, assets.tile("tile3"), on_overlap_tile)
复制代码


游戏特点
多关卡设计:包含3个不同难度的关卡
丰富的动画:角色移动、金币旋转、敌人移动都有动画效果
物理系统:重力、跳跃、碰撞检测完整
敌人AI:蜜蜂会跟踪玩家,火球会规律移动
生命值系统:玩家有5条生命,可以承受多次伤害
得分机制:收集金币和踩敌人都能获得分数
这是一个典型的平台跳跃游戏,具有完整的游戏机制和流畅的操作体验。



回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 5 小时前

【花雕动手做】基于Kitronik可编程开发板之猫吃金币游戏

图形编程参考实验程序

【花雕动手做】基于Kitronik可编程开发板之猫吃金币游戏图1

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

【花雕动手做】基于Kitronik可编程开发板之猫吃金币游戏图4

实验场景记录

【花雕动手做】基于Kitronik可编程开发板之猫吃金币游戏图3

【花雕动手做】基于Kitronik可编程开发板之猫吃金币游戏图5

【花雕动手做】基于Kitronik可编程开发板之猫吃金币游戏图2

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 5 小时前

【花雕动手做】基于Kitronik可编程开发板之猫吃金币游戏

【花雕动手做】基于Kitronik可编程开发板之猫吃金币游戏图1
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail