基于STM32的贪吃蛇小游戏

初学32一个月,学的并不多,便想着做一个贪吃蛇小游戏,因为有51单片机做贪吃蛇的经验,所以实现出来并不困难。

作品简介

  1. 游戏面版将在4.3寸480*800)液晶上显示,初始为一个长度为二的小蛇,通过吃果子慢慢变大,当长度到长度时,赢得游戏。碰壁及碰到自己都会死亡,结束游戏
  2. 在游戏开始之前可以通过点击触摸屏中央的start字样开始游戏。游戏结束会出现胜利或死亡界面,并显示你的得分,死亡后点击again可再次游戏。
  3. 控制模式是通过点击触摸屏上的上下左右来控制小蛇的方向。
  4. 游戏过程中,可以看到屏幕右下的分数显示。还可以通过点击key0按键调节小蛇速度。
    元器件:
    1.STM32F1开发板;
    2.TFTLCD4.3寸电容触摸屏;
    软件:Keil uVision5
    先看看效果图:


    ``

设计思路:

  1. 关于小蛇的移动与显示:可以事先设定一个变量snake_len用来存放小蛇的长度,在定义两个数组,分别用来存放小蛇的各点x,y坐标,定义一个变量存放小蛇的运动方向。
  2. 每次小蛇的移动,通过运用定时器4来调节小蛇速度以及执行移动函数,移动函数的思想就是当每次要移动时都从蛇头坐标开始,依次赋予后面的坐标,然后蛇头坐标就按照小蛇的运动方向进行改变。
  3. 每次运动都进行是否成长,是否死亡或胜利的判定。
  4. 我将改变小蛇运动方向的方法就是点击触摸屏上的上下左右的图标,运用定时器3不停的判定是否点击触摸屏的某个位置。如果判断成功就会执行相应的动作。
  5. 我加了一个游戏过程中改变小蛇的运动速度,我想到的是运用定时器5,不停的判定key0按键是否被按下,如果按下就加快或剪短移动函数执行时间的间隔。
  6. 关于实时的分数显示,就是在每次成长函数触发后刷新,要先事先清除之前分数,避免数字重叠。

总结:

  1. 小蛇在吃完果子的移动的过程出现尾部闪烁,可以通过添加短时间的delay来消除,效果还不错。
  2. 游戏结束后,我加了一个返回重新开始的功能,我用的goto语句,确实不是很方便,极其容易出错,当时没用想到可以再在外面嵌套一个循环。
  3. 开始界面嫌麻烦,做的十分简陋,可以在加点东西。

代码

#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"
#include "24cxx.h"
#include "touch.h"

不知道为什么粘贴不了,我把代码用压缩包发出来。

基于STM32的贪吃蛇小游戏相关推荐

  1. 基于Stm32f407 的贪吃蛇小游戏【正点原子-探索者开发板】

    基于单片机stm32f407的单机小游戏----贪吃蛇小游戏 1.介绍 这是我花一个星期完成的一个简单地单机贪吃蛇小游戏项目,芯片是stm32f407,项目是基于正点原子-探索者开发板完成的,有需要的 ...

  2. STM32F407基于陀螺仪的贪吃蛇小游戏(全网最详细)

    一.前言 本次设计我用MPU6050在KEIL 5的环境下改进了贪吃蛇小游戏,用的开发板是STM32F407,本次设计综合利用多种ARM外设接口实现对外部设备信息的采集.处理及显示,实现了贪吃蛇游戏实 ...

  3. 【STM32】贪吃蛇小游戏

    这是一个几个星期之前的小项目,参考修改了一下网上和正点原子的例程. 点击下载源码 功能:贪吃蛇小游戏 单片机:stm32f103c8t6 用到的硬件资源: 1.LED指示灯 2.矩阵键盘 3.OLED ...

  4. 【精选】基于EasyX的贪吃蛇小游戏

    文章目录 前言 一.项目环境 1.Visual Studio 2019 2.EasyX 20200902 二.运行效果展示 0.加载游戏 1.主菜单 2.游戏设置 3.游戏说明 4.生存模式 5.无尽 ...

  5. 基于ncurse的贪吃蛇小游戏

    一.基本要求 C编程基础以及Linux基本操作 C编程基础:包括但不限于数据结构链表基础,C变量,流程控制,函数,指针,结构体等 Linux基本操作:包括但不限于 如何编写代码,如何编译代码,如何运行 ...

  6. 基于stm32、0.96寸OLED实现的贪吃蛇小游戏(详细源码注释)

    简介:本实验基于stm32最小系统.0.96寸OLED(68*128)和摇杆实现一个经典的贪吃蛇小游戏.项目源码地址:点击下载. 硬件设计: 普通摇杆,0.96寸OLED 单色屏幕(SPI协议通讯), ...

  7. 基于C语言Ncurse库和链表的简单贪吃蛇小游戏

    参考:基于C语言Ncurse库和链表的简单贪吃蛇小游戏 作者:三速何时sub20 发布时间:2020-09-29 10:23:51 网址:https://blog.csdn.net/weixin_44 ...

  8. STM32+LCD实现简单的贪吃蛇小游戏

    寒假放假回家,只能宅在家里,无聊之余,幸好带了一块开发板回来,以前做项目都是在网上找相似或者有关联的项目,把别人的代码拿过来,修改修改,拼拼凑凑出自己项目,既然无聊就自己动脑筋思考,自己动手写贪吃蛇的 ...

  9. 计算机毕业设计-基于Java的GUI实现贪吃蛇小游戏

    标题:基于Java多线程版本GUI贪吃蛇小游戏 1.项目技术点 1.多线程的运用. 2.JAVA的GUI的运用. 3.数据结构的灵活运用. 4.随机食物的生成. 5.关卡加速,随着蛇身增长,蛇的速度也 ...

最新文章

  1. 那些值得回味的MySQL的基础知识
  2. UC 伯克利华人一作:卷积让视觉 Transformer 性能更强,ImageNet 继续刷点!
  3. Debian和CentOS主流系统按包含文件名称搜索软件包
  4. 最简单的c语言的编程题目,编程列入考题
  5. js高级 — ES6
  6. 一套代码同时支持.NET Framework和.NET Core
  7. 02-普通轮播图-上下滚动
  8. 单列布局、两列布局、三列布局
  9. Java多线程详解(线程池)
  10. 中间件配置文件-nginx
  11. v4l2-ctl 控制命令
  12. Jaccard相似度和广义Jaccard相似度
  13. 用HTML创建幻灯片
  14. 将QLV 格式的视频转换为 mp4 格式
  15. 论文解读:《利用深度学习方法识别RNA伪尿苷位点》
  16. VMware虚拟机Ubuntu系统如何连接网络
  17. python自制linux桌面,自己动手写Python实现Ubuntu自动切换壁纸
  18. Centos配置iptables开放ftp服务
  19. 【前端html】html添加背景音乐
  20. 脉冲神经网络克服了类脑计算的硬件障碍,让AI更节能

热门文章

  1. 最简单的直播源抓取方法
  2. 前端js、功能性工具插件网站(持续更新,欢迎分享)
  3. i春秋第二届春秋欢乐赛登山者writeup
  4. 三分钟编程系列,教你用C++编写赛车游戏,有源代码 !
  5. 它来了!Flutter3.0新特性全接触
  6. 数控铣削图案及编程_数控铣床编程30例带图 急!!数控编程实例 带图案的
  7. 感情能慢慢磨合慢慢培养吗_电视慢慢学习如何在网络上玩得开心
  8. 前端基础学习笔记 背景 渐变 倒影 遮罩
  9. 上海计算机学业水平考试,上海信息科技学业水平考试复习资料整理——计算机系统.pdf...
  10. html网页设计一个简单的用户登录页面