资源描述:
《基于MSP430F5529俄罗斯方块游戏程序文件.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、/*基于MSP430F5529俄罗斯方块游戏程序*///作者: 詹磊//功能: 基于MSP430F5529俄罗斯方块游戏程序//说明: 运行环境:TI官方MSP-EXP5529开发板(外接4个带上拉电阻独立按键)// 非原创,思路是从51单片机上移植过来的// 底层液晶驱动是TI官方提供的LCDAPI// 游戏算法部分的底层程序多处已经修改,与原版会有较大的差别//版本: 测试版V1.0(基本能流畅运行,但需要进一步的美化和优化)#include"MSP430F5529.h"#include"LCD_102x64.h"#inc
2、lude"main.h"#include"Key.h"#defineMAXHANG20 //游戏显示行数#defineMAXLIE 16 //游戏显示列数#defineMapWide 48 //地图宽#defineMapHigh 60 //地图高#defineON 0#defineOFF 1#defineBIT(n) (1<<(n))volatileuin
3、tcubeMap[MAXHANG]; //地图显示存存typedefstruct{ ucharconst*box; //方块图形字模数据指针 ucharcube:4; //方块形态(占用4个位域) ucharstate:4; //方块状态(占用4个位域) charrow; //方块所在行 charcolumn;
4、 //方块所在列 }...block;blockthis;ucharliang=11;ucharSpeed=1,Score=0;uinttimeA=0;uchardownflag=0;ucharrandomNumber=0;constucharcube[]={/*■ ■■■*/0,4,0xe,0, 0,2,6,2, 0,7,2,0, 4,6,4,0,/*■ ■■■*/0,8,0xe,0, 0,4,4,0xc, 0,0,0xe,2, 0,6,4,4,/*■■■ ■*/0,0xe,8,0, 0,4,4,6, 0,1,7,0, 6,
5、2,2,0,/*■■ ■■*/0,0xc,6,0, 0,2,6,4, 0,6,3,0, 2,6,4,0,/* ■■ ■■*/0,6,0xc,0, 0,4,6,2, 0,3,6,0, 4,6,2,0,/*■■■■*/0,0xf,0,0, 4,4,4,4, 0,0,0xf,0, 2,2,2,2,/*■■ ■■*/0,6,6,0, 0,6,6,0, 0,6,6,0, 0,6,6,0};voiddelay_ms(uintz)//毫秒级延时函数{ uinti,m; for(i=z;i>0;i--) for(m=450
6、0;m>0;m--) { ..._NOP(); }}//-------------------------------------------////函数名:八位LED灯控制函数//入口:Number:Number哪位为一则哪位LED点亮//出口:Void//功能://-------------------------------------------//voidDigitalLedControl(ucharNumber){ if(Number&BIT7) P1OUT
7、=BIT0; else P1OU
8、T&=~BIT0; if(Number&BIT6) P8OUT
9、=BIT1; else P8OUT&=~BIT1; if(Number&BIT5) P8OUT
10、=BIT2; else P8OUT&=~BIT2; if(Number&BIT4) P1OUT
11、=BIT1; else P1OUT&