简单版俄罗斯方块程序代码c语言,俄罗斯方块C语言程序代码.DOC

俄罗斯方块C语言程序代码

/***********************************************************名称:推箱子游戏测试版V0.1 *编程:飞扬*说明:采用YM12864R-3的液晶(ST7920)+62256的RAM+PT6122的遥控*下一个版本增加音效,地图编辑功能,界面显示美化,撤销上一步!*主要是学习外扩展RAM才搞这个东东!**********************************************************/#include #include "MAIN.H"/****** 引脚定义 ******/sbit Beep = P3^3; //音频输出脚/****** 变量/数组定义 ******///定义数组,存放接收到的数据uchar KeyCoding[4]={0,0,0,0};//关卡设置uchar guanka = 0; //用1024个字节存放动态绘图数据,我叫它显存数据uchar xdata GamePic[1024]; //十字形(箱子推到圆形位置后变为十字形)uchar code shizi[8]={0x3c,0x3c,0xff,0xff,0xff,0xff,0x3c,0x3c};//圆形(箱子要推到的地方)uchar code yuan[8]={0x3c,0x66,0xc3,0x81,0x81,0xc3,0x66,0x3c};//箱子(推动的就是他)uchar code xiangzi[8]={0xff,0x81,0xbd,0xbd,0xbd,0xbd,0x81,0xff};//娃娃脸(用于推动箱子)uchar code lian[8]={0x7e,0xff,0xdb,0xff,0xff,0xc3,0xe7,0x7e};//墙壁uchar code qiang[8]={0x00,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00};//空(用于清空图形移动后的痕迹)uchar code kong[8]={0,0,0,0,0,0,0,0};//用于计算图形移动和放置的坐标//实际存放的是GamePic数组的相应下标uint code MoveData[64]={0,1,2,3,4,5,6,7,128,129,130,131,132,133,134,135,256,257,258,259,260,261,262,263,384,385,386,387,388,389,390,391,512,513,514,515,516,517,518,519,640,641,642,643,644,645,646,647,768,769,770,771,772,773,774,775,896,897,898,899,900,901,902,903};/*8X8的游戏地图数据,同时根据图形数据判断娃娃脸是否可以移动,*箱子是否可以推动,箱子推动的方向是否是墙和箱子,是则不*能推动!箱子推到的地方是圆形则用十字形替换(将该位置数据换成5),*推动十字形,则再恢复到箱子的形状(在换成3).*空(什么都不显示)=0,墙=1,圆=2,箱子=3,脸=4,十字=5 */uchar code GameMap[10][64]={//第一关{1,1,1,1,1,1,1,1,1,0,0,0,1,2,0,1,1,2,0,0,3,0,0,1,1,1,3,1,1,0,0,1,1,0,0,1,1,3,1,1,1,0,0,4,0,0,0,1,1,0,2,1,0,0,0,1,1,1,1,1,1,1,1,1},//第二关{1,1,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,2,0,3,2,0,1,1,1,3,1,1,0,0,1,1,0,0,1,1,3,1,1,1,0,0,4,0,2,0,1,1,0,0,1,0,0,0,1,1,1,1,1,1,1,1,1},//第三关{1,1,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,0,3,0,0,1,1,0,3,1,1,0,0,1,1,0,2,1,1,3,1,1,1,0,2,4,0,0,0,1,1,0,2,1,0,0,0,1,1,1,1,1,1,1,1,1},//第四关{1,1,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,2,0,3,2,0,1,1,1,3,1,1,0,0,1,1,0,0,1,1,3,1,1,1,0,2,4,0,0,0,1,1,0,0,1,0,0,0,1,1,1,1,1,1,1,1,1},//第五关{1,1,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,2,3,0,0,1,1,1,3,1,1,0,0,1,1,0,2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值