1、1.8*8点阵的选择2.保证游戏的流畅性和及时响应性3.游戏的设计应该接近人性化 贪吃蛇初始化子程序流程图 贪吃蛇运行子程序是整个程序设计的核心,首先由系统检测是否有按键按下,确定有按键按下后,外部中断程序自动执行,开始扫描矩阵键盘,得到键值,根据键值判断贪吃蛇要走的方向。在游戏运行的期间,系统不断检测蛇是否死亡,蛇是否已经最长,蛇是否吃到了食物。若蛇已经死亡,则蛇的死亡标记位被置位,跳转到死亡界面,检测是否有按键按下,有就跳转到游戏开始界面,重新开始游戏,无则等到有任意键按下。游戏的速度控制由延时程序决定,若延时程序延时短,则蛇移动得快,若延时比较长,则蛇移动得慢。若蛇已经吃到食物,则在放食
2、物的原来的坐标会消除显示,重新读取计数器的值,通过计算得到要放置食物的坐标,在该坐标上显示食物。1准备工作认真详细的阅读任务书,深刻了解主要的内容和要求。查阅与贪吃蛇相关的书籍,了解贪吃蛇的工作原理。了解历年全国大学生电子竞赛有关贪吃蛇的资料。根据控制要求初步确定所使用的元器件。2. 实施步骤明确控制要求,绘制电路连接图。参考文献,检查电路图的正确性。根据电路连接图焊接电路板,制作贪吃蛇模型。分析操作流程,绘制程序流程图。编写程序代码。运用电脑软件初步对程序进行调试。配合贪吃蛇硬件部分,并完善功能,达到设计要求。3设计方案(1)8*8点阵方案8X8点阵LED比LCD128X64结构更简单,不需
3、要任何的指令集,即对I/O口直接输出可以使用。若选用8X8点阵LED显示屏,8X8的 led 点阵能使用的范围很少,对增强游戏的功能方面加以限制,显然有点大,不美观,但取材容易。(2)电源单元方案采用usb供电,通过usb能使51单片机更加稳定在正常的工作范围内使得51更好的工作。(3)方向单元方案利用方向按键来引导蛇的移动方向到达用户所指定的地点。三:设计流程(重要)1:原理图(摘自互联网)2:单片机使用(如图)这次试验用到了P0.P2.P3口。P0,P2口作为点阵的输入口P3.4 P3.5 P3.6 P3.7作为上下左右下图为源程序控制定义3:原件清单4:关于焊接方面的问题和图解电源开关
4、3源程序#include #define uchar unsigned char#define SNAKE 20 /最大长度#define TIME 50 /显示延时时间#define SPEED 40 /速度控制/#define keyenable 1sbit keyenable=P36; /方向使能/*sbit keyx=P01; /左右sbit keyy=P02; /上下 */sbit up=P00;sbit up=P34; /downsbit down=P35;sbit right=P36;sbit left=P37;uchar xSNAKE+1;uchar ySNAKE+1;ucha
5、r time,n,i,e; /延时时间,当前蛇长,通用循环变量,当前速度 char addx,addy; /位移偏移量/*延时程序*/void delay(char MS)char us,usn;while(MS!=0)usn = 0;while(usn!us=0xff;while (us!=0)us-;usn-;MS-;/*判断碰撞*/bit knock()bit k;k=0;if(x17|y17)k=1; /撞墙for(i=2;i1;i-)xi=xi-1;yi=yi-1; x1=x2+addx;y1=y2+addy; /移动 四 :总结实话说来程序和想法是从网上看的,原件是从网上购买,不过这次设计还是让我受益匪浅,第一学习了点阵的扫描方法。第二也学习了键盘的动态扫描方法(不过这次设计没有涉及)。加深了对微型系统的理解也感觉到单片机的不足中断较少(也从未涉及过中断里面嵌套中断的程序和设计),希望以后学习能够涉及到的方面是中断嵌套中断的方法,和液晶显示屏的驱动方法。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1