- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
天津大学自动化级《嵌入式系统》设计报告
《嵌入式系统》设计报告
学院:电气与自动化工程学院
班级:自动化2班
年级:2010级
学号:3010203109
姓名:叶林奇
作品名称:贪吃蛇游戏
设计思路
贪吃蛇由一节一节的方块组成,初始长度为3,按下启动按钮(‘1’键),贪吃蛇前进。玩家通过方向键(‘2’上‘4’左‘5’下‘6’右)控制贪吃蛇的转弯。按下暂停键(‘1’),游戏暂停,再次按下暂停键继续游戏。游戏过程中若贪吃蛇撞到边界或自己,则游戏失败。贪吃蛇每吃一个食物,节数加1。玩家如果成功将节数增加到20,则获得胜利。胜利后播放音乐,按下重启键(‘3’)重新开始。
流程图:
主要代码:
char stop=0,restart=0,win1=0;
/* 标志位,stop:暂停键按下置1;restart:重启键按下1;win1:获胜置1 */
char length; /* 贪吃蛇长度 */
char snake[20][2]={0};
/* 贪吃蛇各节位置坐标;snake[0]为头部;snake[i][0]:x坐标(0~39);snake[i][1]:y坐标(0~29) */
void Refresh_Snake() /* 刷新贪吃蛇所有节 */
{
unsigned char i;
for(i=0;ilength;i++)
MX1_LCDC_DrawSquare(snake[i][0]*8,snake[i][1]*8, 8, 29, 50, LS_SOLID, FS_SOLID );
}
void Init() /* 初始化程序 */
{
restart=0; /* restart标志位初始状态置0 */
win1=0; /* win1标志位初始状态置0 */
stop=1; /* stop标志位初始状态置1 */
length=3; /* 初始长度设为3 */
snake[0][0]=20;snake[0][1]=14; /* 头部初始位置 */
snake[1][0]=20;snake[1][1]=15; /* 第二节初始位置 */
snake[2][0]=20;snake[2][1]=16; /* 第三节初始位置 */
MX1_LCDC_DrawRect( 0, 0, 319, 239, 15, 15, LS_SOLID, FS_SOLID );
/* 全屏用红色盖住 */
Refresh_Snake(); /* 在屏幕上显示贪吃蛇 */
Generate_food(); /* 生成食物 */
Turn_up();
}
char food[2]={0}; /* 食物坐标;food[0]:x坐标,food[1]y坐标 */
long w=0; /* 随机数种子变量 */
void Generate_food() /* 食物生成子程序 */
{
char x,y,i,ok=0;
srand(w); /* 随机数发生器的初始化函数 */
w++; /* 该子程序每执行一次随机数种子变量加1,保证随机数可以正常产生 */
while(ok==0)
{ x=rand()%40; /* 随机生成x(0~39) */
y=rand()%30; /* 随机生成y(0~29) */
for(i=0;ilength;i++)
{
if(x==snake[i][0]y==snake[i][1])break; /* 检验(x,y)是否与贪吃蛇的节重合 */
}
if(i==length)ok=1; /* 不重合时ok置1,退出循环 */
}
food[0]=x;food[1]=y; /* 用之前产生的坐标给food赋值 */
Refresh(food); /* 在屏幕上刷新食物位置 */
}
void Restart() /* 游戏失败时的重启操作,执行初始化程序 */
{
Init();
}
void win() /* 获胜子程序 */
{
win1=1; /* 胜利标志位置1 */
while( restart==0 )
{
WAVE_Play( ); /* 播放声音,直到重启键按下 */
}
Restart(); /* 重新开始游戏 */
}
char Get_direction() /* 获取当前前进方向;返回值0123分别代表下上左右 */
{
char i;
if(snake[0][0]==snake[1][0])
{
if(snake[0][1]snake[1][1]){i=0;}
else i=1;
}
您可能关注的文档
- 大学生应生求职优秀个人简历模板范文表格word免费下载大全集合孟孟副本.doc
- 大学生求职简历模板免积分下载.doc
- 大学生网上订餐系统的问卷调查.docx
- 大学生网上购物调查报告9.doc
- 大学生就业流程及注意事项.doc
- 大学大学论文超临界流体萃取技术在食品工业中的应用.doc
- 大学生电子设计大赛报告(C智能小车).doc
- 大学生网络购物调查报告默认报告.doc
- 大学各专业解读(免费的).doc
- 大学生BBS族的网路人际沟通初探.doc
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
最近下载
- 2024新沂市中小学教师招聘考试题库及答案.docx VIP
- 新人教版三年级数学上册教学课件《因数中间有0的乘法》.pptx VIP
- 田家四季歌教案.doc VIP
- 《GB 27955-2020过氧化氢气体等离子体低温灭菌器卫生要求》(2025版)深度解析.pptx
- 高级碳排放监测员理论考试复习题库资料(含答案).pdf VIP
- 外科学(总论) 清创术 清创术.pptx VIP
- 《文献检索》课程教学大纲.pdf VIP
- 前置胎盘临床诊断与处理指南课件.ppt VIP
- 事业单位考试公共基础知识考试试题精选3000题.pdf VIP
- 人教版四年级上册数学《平行四边形》(说课课件).pptx VIP
文档评论(0)