你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32实现2048小游戏

[复制链接]
STMCU小助手 发布时间:2022-6-23 21:00
一. 简介
在stm32上已经实现过了贪吃蛇和俄罗斯方块这两款游戏。今天将实现第三款小游戏-----2048。将这三款游戏集中在一起,不就可以当做一个小课设嘛(#^.^#)。实现代码与硬件无关,显示部分和控制部分需要根据所使用的具体硬件来修改。界面图如下,字体使用的是55*55大小的图片。接下来调试读取SD播放视频,敬请期待。

Z45%4~UVV7E1QI17AJWA{CF.png

二. 核心过程

2048实现的核心过程,就是合并与移动,这两步完成后,其他的实现就是很容易的事情了,这里着重讲解这两步。这里以向上移动和合并为例来说明。

  • 合并

每一次移动只能合并两个一样的数,当满足合并条件的时候(两个数中间没有其他数)。这里利用冒泡排序的方法,依次比较当前位置的数,与后面位置的数,如果中间出现了与当前值不一样的,就返回,当前位置加一,继续操作。如果出现了与当前值一样的,就进行合并操作。当前位置的值乘以2,被比较的那个值设置为0。(我代码里面还进行了一次移动的操作)
2.  移动

每一次的移动,都需要将所有的方块移动到一起。简单来说,就是将下一个方块的值赋值给上一个方块的值(也不是完全这样,如果有0的话,就没了)。

也是利用冒泡的方法,如果当前方块为0,就将下一个方块赋值给当前方块,然后将下一个方块赋值为0。



三. 调用过程
    先调用一下_2048Init函数,初始化地图数组的值。然后根据捕获的按键的值,调用Merge函数并传递相应的参数就可以了。


`R30KGXOIMQ$VREF5S)T6TX.png

收藏 评论0 发布时间:2022-6-23 21:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版