- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字系统课程设计--挑战迷宫小游戏
挑战迷宫
学号:61010XXX
姓名:XX
1、申请题目:挑战迷宫
题目,命题描述(5号宋体)
这是一个基于FPGA控制点阵板显示的益智趣味类小游戏,游戏中玩家通过键盘↑↓←→键控制控制人物上下左右移动,从起始点出发,目的是走到迷宫的出口。游戏有着友好的用户界面,而且有多种模式,多种地图供玩家选择。
1.普通不计时模式:玩家可以看到整个迷宫地图,游戏没有时间限制;
2.普通计时模式:玩家可以看到整个迷宫地图,必须在20秒内找到出口,否则游戏失败;
3.高级不计时模式:玩家并不能看到整个迷宫的地图,只能看到其周围的2步以内部分路径,其他路径需要靠自己移动来探索,这样就仿佛置身迷宫之中,更有可玩性,游戏没有时间限制;
4.高级计时模式:同样玩家:玩家并不能看到整个迷宫的地图,只能看到其周围的2步以内部分路径;必须在20秒内找到出口,否则游戏失败。
2、课题背景:
存在问题、应用背景
走迷宫是大家所非常熟悉的一款小游戏,规则简单,老少皆宜,可以段炼玩家的判断力和观察力;而且其不同于普通的走迷宫游戏,增加了一些趣味性玩法及创新点,可供人们平时娱乐所用。该游戏主要在LED点阵板上实现,做成电脑软件效果将更佳。
3、项目规划:
功能、指标、规模
功能:
游戏开始之前,玩家通过键盘选择游戏模式和游戏地图,然后启动游戏,其中有相应的指示灯提示;
2.点阵板显示中,以黄色表示玩家,绿色表示迷宫出口,红色表示迷宫墙壁;玩家通过键盘上相应的键控制人物的上下左右移动。胜利或失败后有相应的画面出现,能够通过按键重新启动游戏。
3.计时模式中,数码管显示倒计时;
指标:
游戏中主要采用16X16点阵板显示地图,计时模块中,时间限制为20秒比较合理。
规模:
由于涉及数据结构在硬件语言中的实现与优化,具有多种模式下点阵板的操作,本项目难度为中上。由于硬件语言中使用了大量矩阵,所有功能都实现后,占用的逻辑单元的总数在5000多左右。
面板(显示)、操作、规则
显示面板:
数码管:第一位表示关卡,后两位表示倒计时时间。
LED显示灯:
操作:
游戏规则:
本游戏的规则相对简单。玩家使用键盘操纵一个人,在规定的时间内走到迷宫出口即可胜利。
输入、输出接口
键盘输入输出接口;
点阵板扫描、显示接口。
4、实现方案:
核心问题
1. 多种模式下的选择和表示;
2.对LED点阵板中迷宫地图的显示和人物移动的显示控制;
3. 点阵中只显示人物周围的2步以内部分路径。
解决方案
对于多种模式,使用状态机的不同状态来表示,这样就可以通过状态来作为后面点阵显示模块的使能信号;
点阵板的显示:
点阵板的行采用扫描信号的形式扫描,16位行输出信号依次为:
”11110”,”11101”,”11011,10111,01111等(低电平使能);当相应的行选中时,输入相应的红灯16位列信号,绿灯16位列信号,这样红灯和绿灯的信号就有16X16个需要存储;
分别用两个16X16的矩阵存储红灯和绿灯的信号,当点阵板第一行选中时,输出矩阵第一行的16位信号;当点阵板第二行选中时,输出矩阵第二行的16位信号;以此类推。
采用一个16X16的矩阵显示人物的位置,事先知道人物点的位置坐标,当上下左右键按下后,就修改该矩阵中的值,最后把该矩阵和红灯信号的矩阵和绿灯信号的矩阵相与作为红灯和绿灯的输出。
定义一个初始化为全0的16X16的矩阵,当每次人物点移动时,把人物坐标周围2步以内的点对应的矩阵中的值修改为1;输出的红灯信号的矩阵和绿灯信号的矩阵与这个矩阵相与输出。
5、系统结构:
系统框图
模块功能描述
分频器模块fenping:
对输入的2MHz信号进行不同的分频,分别产生1KHz、100Hz、2Hz、1Hz的时钟信号。
键盘模块keyboard:
外接键盘,当键盘按下键时,输出按下的键值(用4位二进制数表示)和相应的按键脉冲。
状态机模块statemachine:
输入键盘按键信号,输出4位二进制数来表示不同的状态。
游戏关卡选择模块hard_setting:
当状态为关卡选择状态时,初始输出值为1,按下A键关卡加一,按下D键关卡减一。
倒计时模块daojishi:
当选中计时模式并游戏开始后,倒计时开始,共20秒,倒计时最后3秒时输出2Hz蜂鸣器信号,倒计时结束时输出timeover信号为1.
点阵控制模块maze:
存储着不同关卡的地图矩阵,游戏未开始时,用相应关卡的地图矩阵初始化输出矩阵;游戏开始后,检测上下左右键,若有键按下,修改人物矩阵中相应的值,输出红色和绿色点阵的矩阵值,供扫描显示模块使用。
点阵扫描显示模块display:
把输入的相
文档评论(0)