在 STM32F103
STM32F103
STM32F103
STM32F103 上编写一个俄罗斯方块游戏
我手边有一块 STM32F103VB 的板子,在这个板子上有一个 LCD 显示屏和 5 个按键,
正好可以用来做俄罗斯方块这个游戏。
图 1 STM32F103VB 开发板
我先是在这块板子上写了一个实时嵌入式操作系统内核 —— Mindows , 当我完成了这个
操作系统的抢占式任务调度、信号量及队列等功能后,我想验证一下这个操作系统的功能
,
于是,就在这块板子上写了一个俄罗斯方块的游戏,在此介绍一下这个游戏的设计思路 , 并
提供源代码 , 你可以在本文后面看到这个游戏在单板上运行的截图 , 如果你想观看游戏过程
的视频或获取源代码,请登录我的新浪博客 blog.sina.com.cn/ifreecoding 获取。
俄罗斯方块的游戏我们应该都玩过 , 先将这个游戏的基本功能整理一下 。 我们最容易想
到的是按键功能 , 需要能控制图形向下 、 向左和向右移动 , 还需要能旋转图形 , 当我们不按
向下按键时图形还需要能自动向下走 , 当游戏结束时 , 我们需要一个按键可以重新开始游戏
。
在游戏过程中还需要遵守一些规则 , 比如说不同的图形互相之间不能重叠 , 图形不能移出屏
幕的范围,当屏幕的一行被图形填满时本行需要被删除,并且上面所有的图像向下移动 , 还
有最重要的一点,我们需要使用 LCD 将游戏的过程显示出来。
我们将这些需求做一个表格整理一下:
功能分类 子功能 描述
按键功能 开始键 按下开始键,游戏重新开始,所有状态归零
旋转键 按下旋转键,图形可以旋转
向下键 按下向下键,图形向下走
向左键 按下向左键,图形向左走
向右键 按下向右键,图形向右走
界面功能 全屏显示 需要能实时显示游戏画面
下个图形显示 将屏幕分为左右两部分,左侧为游戏空间,右侧显示下个出现的图形
游戏功能 自动走 在没有按向下键时,图形应以一定速率自动向下走
冲突检测 当图形移动、变形时不能与其它图形重叠
下个图形开始 当图形向下走会发生冲突时对本图形的操作结束,下个图形从屏幕顶端
进入屏幕,并更新屏幕右侧的下个图形
评论5
最新资源