基于STM32F103的寒假在家一起练(5)贪吃蛇小游戏
用STM32F103实现的贪吃蛇经典游戏,并可用板上的4个按键操作改变方向,同时蜂鸣器能够发出声音,姿态传感器能够感知板子旋转的方向,自动将屏幕调整到合适观看的角度。
标签
嵌入式系统
STM32
fan
更新2021-02-27
1497

内容介绍

1.项目需求

  移植或自己编写一款经典的游戏,并可用板上的4个按键操作,同时蜂鸣器能够发出声音,姿态传感器能够感知板子旋转的方向,自动将屏幕调整到合适观看的角度。

  选择了贪吃蛇小游戏,通过四个按键分别控制射的不同方向上下左右移动来吃到食物,然后增加蛇身的长度,速度也会不断加快。当碰到墙壁或者蛇自身时,游戏结束。

FnEWqF7U4334j8irBSWE3fALI9Ak

2.实现的思路

 首先拿到STM32这块板子之后,要先知道它的具体配置和功能所用开发板资源,学习使用之后,找到合适的平台开始编译代码。这里使用的是keil5,有一个问题就是下载最好在官网使用最新版,确保能够顺利运行,否则可能无法与STM32F103进行匹配,会浪费很多时间。相关代码参考了“03-1.54IPS程序源码.zip,但是要修改一些引脚的差异。

 游戏界面主要的设计思路就是在连接完成开始之后先显示初始界面,任意按键后即可开始游戏,初始化后蛇开始朝着任意方向运动,食物的位置也是随机的。之后每走一步都要考虑蛇头朝向,并紧接着判断前方是食物还是墙还是身体或空白,进入不同分支判断,若是吃到食物则身体长度增加,速度加快,遇到墙或身体就game over,这样才能保证贪吃蛇的正常运行和结束,通过反复刷新屏幕就可以实现。

3.完成的功能及达到的性能

可以正常运行贪吃蛇游戏,并且每走一步蜂鸣器会发出声音,在引脚上设置电平改变的频率和持续时间即可,同时速度也会加快,即难度增加。通过姿态传感器mpu6050获得角速度和加速度的原始数据,并对其进行姿态解算,最后能够感知板子旋转的方向,自动将屏幕调整到合适观看的角度。

FqgiPqQGMfDpK6MbNO94IC_OFDfT

4.遇到的主要难题

主要还是对STM32和keil软件的初次使用不熟练,许多地方不太好理解。

5.代码参考

FtPn6EjsP764wRhX_SFYnLk3uvw6

主函数部分

FmHIJap5Ducc0wcZVsZxt6a-kkdB

通过start函数可以设计开始界面图案

FvyZLXS_0kQJxZ-_1lQedyCMU3OIFgbPWm4QTMgL-jFAA63PAeQGbG6p

6.感想

本次活动收获颇丰,了解了很多有新知识,非常感谢,希望以后还有这种机会探索更多相关的领域提升自己。

附件下载

STM32贪吃蛇.zip

团队介绍

北京理工大学电子信息专业
团队成员
杨一帆
电信大三学生

评论

0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号