基于单片机贪吃蛇设计模板.docx
《基于单片机贪吃蛇设计模板.docx》由会员分享,可在线阅读,更多相关《基于单片机贪吃蛇设计模板.docx(7页珍藏版)》请在课桌文档上搜索。
1、电气与信息工程学院单片机课程设计报告设计题目:基于单片机的贪吃蛇设计专业:-一学生姓名:班级:指导教师:-成绩:2016年11月22日一、设计任务及要求基本功能:制作一个8*8点阵的贪吃蛇游戏,系统以单片机的C语言的软件设计,系统通过LED点阵屏为载体显示数据,并用五个输入端表示五个控制键(上下左右及加速系统硬件局部由STC89C52RC单片机,8*8点阵屏,5个按键,软件局部在keil环境下用C51语言编写,包括游戏初始化蛇的节数,以及障碍墙壁,游戏完毕时自动复位。具体要求:1、用四个按钮控制贪吃蛇的行径,一个按钮控制贪吃蛇的加速,蛇的初始长度为2点,设置墙壁。2、蛇吃到长度为1点的食物时,
2、自身长度增加1点。2、速度按钮带有一次加速,按两下速度按钮蛇的行进速度回到初始值。3、当蛇碰到墙壁或自己的身体时游戏完毕。4、用ProteUS设计,仿真基于STC89C52RC单片机的8x8点阵贪吃蛇的硬件电路。5、游戏完毕,系统自动复位。二、硬件电路设计本系统以STC89C52RC为核心,设置12MHZ的晶振,使得单片机有合理的运行速度。LED点阵屏通过LED(发光二极管)组成,以灯珠亮灭来显示程序的运行情况,是模块化的显示组件,本设计采用8*8共阳红色点阵显示屏,用来显示贪吃蛇的游戏画面。五个独立按键控制蛇的游走方向(上下左右)和加速减速的功能。贪吃蛇是一款经典的小游戏,玩家通过按键操控贪
3、吃蛇不断地吃食物,蛇身逐渐伸长,当蛇碰到蛇身和墙壁时游戏完毕。需要注意的是实际元件中,点阵的封装不尽一样,因此需要测试出每个引脚的功能,以便正确连线。注意,每个像素点的额定电压在3v左右,电压过大将会彻底损坏。三、系统软件设计软件方面采用了C51编写代码,代码编写模块如以以下图:核心代码主要为游戏处理、信息处理和按键处理。编写游戏的功能代码,先定义游戏的数据构造和常量。其中食物的数据构造采用构造体定义,两个UnSignedChar变量分别定义为食物的横纵坐标;蛇的身体定义为长度最大值为20的数组,游戏中贪吃蛇长度到达39,游戏通关完毕。游戏处理模块为贪吃蛇在游玩过程中遇到的需要被处理的情况,主
4、要实现的功能包括以下四个方面,即移动、食物、死亡和加速。1、移动游戏开场后,贪吃蛇在固定的周期内会向前移动一格,此时“贪吃蛇身体从尾巴至头部每一个后序节点会向前序节点移动,后序节点移动完毕后,头部会根据此时按键的方向对相应的横纵坐标进展加减。2、食物放置贪吃蛇向前移动后,此时要判断蛇头是否与食物的横纵坐标一一对应,如果不是那么退出该模块,进入下一模块;如果是,那么贪吃蛇的节数增加一。随后将进入创立新的食物模块,为了防止食物与贪吃蛇的节点坐标重复,食物在创立后要与贪吃蛇的每个节点的坐标一一比较,如果重合那么重新创立食物的坐标,直到创立成功为止。3、加速处理开场在游戏过程中,贪吃蛇的初始速度很慢,
5、为了提高游戏娱乐性,设置独立按键加速键,当按下加速键,那么贪吃蛇的移动速度即时间间隔变短,使游戏更具有挑战性,当再按下那么恢复原来的速度。4、完毕贪吃蛇在向前移动后,有可能撞到墙壁或自己的身体,也有可能吃到食物,或者只是向前移动一格,移动完毕后如果吃到了食物,如果贪吃蛇的节数到达了最大值,那么玩家将会通关游戏,并且游戏退出,此时需要判断游戏是否完毕,一共有三种判别,前两种为失败结局,即撞到了墙壁或自己的身体,最后一种为通关结局,游戏将初始化。源代码如下:#include#defineucharunsignedchar#defineSNAKE20#defineTIME50#defineSPEED
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 贪吃 设计 模板
![提示](https://www.desk33.com/images/bang_tan.gif)
链接地址:https://www.desk33.com/p-1010664.html