推箱子游戏89C52 12864.docx

上传人:b****6 文档编号:3882716 上传时间:2022-11-26 格式:DOCX 页数:17 大小:17.04KB
下载 相关 举报
推箱子游戏89C52 12864.docx_第1页
第1页 / 共17页
推箱子游戏89C52 12864.docx_第2页
第2页 / 共17页
推箱子游戏89C52 12864.docx_第3页
第3页 / 共17页
推箱子游戏89C52 12864.docx_第4页
第4页 / 共17页
推箱子游戏89C52 12864.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

推箱子游戏89C52 12864.docx

《推箱子游戏89C52 12864.docx》由会员分享,可在线阅读,更多相关《推箱子游戏89C52 12864.docx(17页珍藏版)》请在冰豆网上搜索。

推箱子游戏89C52 12864.docx

推箱子游戏89C5212864

#include

#defineuncharunsignedchar

#defineunintunsignedint

unchargame=0;//µ±Ç°µÚ¼¸¹Ø

uncharrenwu_x,renwu_y;//ÈËËùÔÚλÖõÄ×ø±ê

uncharmap_ram[8][8]={

0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,

};

/*¹Ø¿¨8*8µãÕóÈËÎï1שͷ2Ïä×Ó3Ä¿µÄ4³É¹¦5ÈËÎïÄ¿µÄ6*/

uncharcodemap[][8][8]={

/*µÚ1¹Ø*/

2,2,2,2,2,2,2,2,

2,0,0,0,0,0,1,2,

2,0,0,0,5,0,0,2,

2,0,0,2,2,2,2,2,

2,2,0,0,2,0,0,0,

2,0,3,0,2,0,0,0,

2,0,0,4,2,0,0,0,

2,2,2,2,2,0,0,0,

/*µÚ2¹Ø*/

0,0,2,2,2,2,2,0,

2,2,2,0,0,0,2,0,

2,0,3,0,2,0,2,2,

2,0,2,0,0,4,0,2,

2,0,0,0,0,2,0,2,

2,2,0,2,0,0,0,2,

0,2,1,0,0,2,2,2,

0,2,2,2,2,2,0,0,

/*µÚ3¹Ø*/

0,0,2,2,2,2,2,0,

2,2,2,0,0,0,2,0,

2,0,3,0,2,0,2,2,

2,0,2,0,0,4,0,2,

2,0,0,0,0,2,0,2,

2,2,3,2,4,0,0,2,

0,2,1,0,0,2,2,2,

0,2,2,2,2,2,0,0,

/*µÚ4¹Ø*/

0,0,0,2,2,2,2,0,

0,2,2,2,0,1,2,0,

0,2,0,0,3,0,2,0,

2,2,0,2,0,2,2,2,

2,0,0,2,0,2,4,2,

2,0,2,0,0,0,0,2,

2,0,0,0,0,0,0,2,

2,2,2,2,2,2,2,2,

/*µÚ5¹Ø*/

0,0,0,2,2,2,2,0,

0,2,2,2,0,1,2,0,

0,2,0,0,3,0,2,0,

2,2,0,2,0,2,2,2,

2,0,0,2,0,2,4,2,

2,0,2,0,0,3,4,2,

2,0,0,0,0,0,0,2,

2,2,2,2,2,2,2,2,

/*µÚ6¹Ø*/

0,0,0,2,2,2,2,0,

0,2,2,2,0,1,2,0,

0,2,0,0,3,0,2,0,

2,2,0,2,0,2,2,2,

2,0,0,2,0,2,4,2,

2,0,2,0,0,3,4,2,

2,0,3,0,0,0,4,2,

2,2,2,2,2,2,2,2,

/*µÚ7¹Ø*/

0,2,2,2,2,0,0,0,

2,2,0,0,2,0,0,0,

2,1,3,0,2,0,0,0,

2,2,3,0,2,2,0,0,

2,2,0,3,0,2,0,0,

2,4,3,0,0,2,0,0,

2,4,4,5,4,2,0,0,

2,2,2,2,2,2,0,0,

/*µÚ8¹Ø*/

0,0,0,2,2,2,2,0,

0,2,2,2,0,0,2,0,

2,2,0,1,3,0,2,0,

2,0,4,3,0,0,2,0,

2,0,4,5,0,2,2,0,

2,0,4,3,0,2,0,0,

2,2,0,0,2,2,0,0,

0,2,2,2,2,0,0,0,

/*µÚ9¹Ø*/

0,0,2,2,2,2,0,0,

0,0,2,4,4,2,0,0,

0,2,2,0,4,2,2,0,

0,2,0,0,3,4,2,0,

2,2,0,3,0,0,2,2,

2,0,0,2,3,3,0,2,

2,0,0,1,0,0,0,2,

2,2,2,2,2,2,2,2,

};

uncharcodemap0[]={

""

"ÁõÕÜÖÆ×÷"

"ÍÆÏä×Ó"

""

};

/****************¾«ÁéͼÏñ*******************/

uncharcodejingling[7][8]={

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//¿Õ°×

0x3C,0x3C,0x18,0x7E,0x5A,0x24,0x42,0x81,//ÈËÎï

0x77,0x77,0x77,0x00,0xEE,0xEE,0xEE,0x00,//שͷ

0xFF,0xC3,0xA5,0x99,0x99,0xA5,0xC3,0xFF,//Ïä×Ó

0x00,0x3C,0x5A,0x66,0x66,0x5A,0x3C,0x00,//Ä¿µÄ

0xFF,0xBD,0xDB,0xE7,0xE7,0xDB,0xBD,0xFF,//³É¹¦

0x3C,0x3C,0x18,0x7E,0x5A,0x24,0x42,0x81,//ÈËÎïÄ¿µÄ

};

/****************¾«ÁéͼÏñ*******************/

voidinit_0(void);//³õʼ»¯¿ªÊ¼½çÃ棬µÈ´ý½øÈëÓÎÏ·

voiddelay(unintt);//ÑÓʱ×Ó³ÌÐò

voidchk_busy(void);//æ±ê־λ¼ì²é

voidwrite_cmd(uncharcmd);//дÃüÁîµ½LCD

voidwrite_dat(unchardat);//дÊý¾Ýµ½LCD

voidclear_map(void);//Çå³ýÏÔʾÕû¸öͼƬ

voidlcd_init(void);//³õʼ»¯½çÃæ

voidguoguan(void);//¹ý¹ØºóˢнçÃæ

voidprint_title(uncharxx,uncharyy,uncharcode*title1,uncharcode*title2);//ÔÚÖ¸¶¨Î»ÖÃÒ»´ÎÏÔʾÁ½¸ötitle

voidprint_onetitle(uncharxx,uncharyy,uncharcode*title);//ÔÚÖ¸¶¨Î»ÖôòÓ¡Ò»¸ötitle

voidshuaxin(void);//Ë¢ÐÂÆÁÄ»

voidanjian(charsx,charzy);

/********************************************************/

sbitRS=P1^0;

sbitRW=P1^2;

sbitE=P1^1;

sbitok=P3^0;

sbitshang=P3^1;

sbitxia=P3^2;

sbitzuo=P3^3;

sbityou=P3^4;

voidmain()

{

init_0();

while

(1)

{

if(shang==0)

{

delay(20);

if(shang==0)

{

anjian(1,0);

}

}

if(xia==0)

{

delay(20);

if(xia==0)

{

anjian(-1,0);

}

}

if(zuo==0)

{

delay(20);

if(zuo==0)

{

anjian(0,-1);

}

}

if(you==0)

{

delay(20);

if(you==0)

{

anjian(0,1);

}

}

if(ok==0)

{

delay(20);

if(ok==0)

{

clear_map();

shuaxin();

}

}

}

}

voidanjian(charsx,charzy)

{

if(map_ram[renwu_x][renwu_y]==1)

{

if(map_ram[renwu_x+sx][renwu_y+zy]==0)

{

print_onetitle(renwu_x,renwu_y,jingling[0]);

map_ram[renwu_x][renwu_y]=0;

renwu_x=renwu_x+sx;renwu_y=renwu_y+zy;

print_onetitle(renwu_x,renwu_y,jingling[1]);

map_ram[renwu_x][renwu_y]=1;

}

elseif(map_ram[renwu_x+sx][renwu_y+zy]==4)

{

print_onetitle(renwu_x,renwu_y,jingling[0]);

map_ram[renwu_x][renwu_y]=0;

renwu_x=renwu_x+sx;renwu_y=renwu_y+zy;

print_onetitle(renwu_x,renwu_y,jingling[6]);

map_ram[renwu_x][renwu_y]=6;

}

elseif(map_ram[renwu_x+sx][renwu_y+zy]==3)

{

if(map_ram[renwu_x+sx+sx][renwu_y+zy+zy]==0)

{

print_onetitle(renwu_x,renwu_y,jingling[0]);

map_ram[renwu_x][renwu_y]=0;

renwu_x=renwu_x+sx;renwu_y=renwu_y+zy;

print_onetitle(renwu_x,renwu_y,jingling[1]);

map_ram[renwu_x][renwu_y]=1;

print_onetitle(renwu_x+sx,renwu_y+zy,jingling[3]);

map_ram[renwu_x+sx][renwu_y+zy]=3;

}

elseif(map_ram[renwu_x+sx+sx][renwu_y+zy+zy]==4)

{

print_onetitle(renwu_x,renwu_y,jingling[0]);

map_ram[renwu_x][renwu_y]=0;

renwu_x=renwu_x+sx;renwu_y=renwu_y+zy;

print_onetitle(renwu_x,renwu_y,jingling[1]);

map_ram[renwu_x][renwu_y]=1;

print_onetitle(renwu_x+sx,renwu_y+zy,jingling[5]);

map_ram[renwu_x+sx][renwu_y+zy]=5;

}

}

elseif(map_ram[renwu_x+sx][renwu_y+zy]==5)

{

if(map_ram[renwu_x+sx+sx][renwu_y+zy+zy]==0)

{

print_onetitle(renwu_x,renwu_y,jingling[0]);

map_ram[renwu_x][renwu_y]=0;

renwu_x=renwu_x+sx;renwu_y=renwu_y+zy;

print_onetitle(renwu_x,renwu_y,jingling[6]);

map_ram[renwu_x][renwu_y]=6;

print_onetitle(renwu_x+sx,renwu_y+zy,jingling[3]);

map_ram[renwu_x+sx][renwu_y+zy]=3;

}

elseif(map_ram[renwu_x+sx+sx][renwu_y+zy+zy]==4)

{

print_onetitle(renwu_x,renwu_y,jingling[0]);

map_ram[renwu_x][renwu_y]=0;

renwu_x=renwu_x+sx;renwu_y=renwu_y+zy;

print_onetitle(renwu_x,renwu_y,jingling[6]);

map_ram[renwu_x][renwu_y]=6;

print_onetitle(renwu_x+sx,renwu_y+zy,jingling[5]);

map_ram[renwu_x+sx][renwu_y+zy]=5;

}

}

}

elseif(map_ram[renwu_x][renwu_y]==6)

{

if(map_ram[renwu_x+sx][renwu_y+sx]==0)

{

print_onetitle(renwu_x,renwu_y,jingling[4]);

map_ram[renwu_x][renwu_y]=4;

renwu_x=renwu_x+sx;renwu_y=renwu_y+zy;

print_onetitle(renwu_x,renwu_y,jingling[1]);

map_ram[renwu_x][renwu_y]=1;

}

elseif(map_ram[renwu_x+sx][renwu_y+zy]==4)

{

print_onetitle(renwu_x,renwu_y,jingling[4]);

map_ram[renwu_x][renwu_y]=4;

renwu_x=renwu_x+sx;renwu_y=renwu_y+zy;

print_onetitle(renwu_x,renwu_y,jingling[6]);

map_ram[renwu_x][renwu_y]=6;

}

elseif(map_ram[renwu_x+sx][renwu_y+zy]==3)

{

if(map_ram[renwu_x+sx+sx][renwu_y+zy+zy]==0)

{

print_onetitle(renwu_x,renwu_y,jingling[4]);

map_ram[renwu_x][renwu_y]=4;

renwu_x=renwu_x+sx;renwu_y=renwu_y+zy;

print_onetitle(renwu_x,renwu_y,jingling[1]);

map_ram[renwu_x][renwu_y]=1;

print_onetitle(renwu_x+sx,renwu_y+zy,jingling[3]);

map_ram[renwu_x+sx][renwu_y+zy]=3;

}

elseif(map_ram[renwu_x+sx+sx][renwu_y+zy+zy]==4)

{

print_onetitle(renwu_x,renwu_y,jingling[4]);

map_ram[renwu_x][renwu_y]=4;

renwu_x=renwu_x+sx;renwu_y=renwu_y+zy;

print_onetitle(renwu_x,renwu_y,jingling[1]);

map_ram[renwu_x][renwu_y]=1;

print_onetitle(renwu_x+sx,renwu_y+zy,jingling[5]);

map_ram[renwu_x+sx][renwu_y+zy]=5;

}

}

elseif(map_ram[renwu_x+sx][renwu_y+zy]==5)

{

if(map_ram[renwu_x+sx+sx][renwu_y+zy+zy]==0)

{

print_onetitle(renwu_x,renwu_y,jingling[4]);

map_ram[renwu_x][renwu_y]=4;

renwu_x=renwu_x+sx;renwu_y=renwu_y+zy;

print_onetitle(renwu_x,renwu_y,jingling[6]);

map_ram[renwu_x][renwu_y]=6;

print_onetitle(renwu_x+sx,renwu_y+zy,jingling[3]);

map_ram[renwu_x+sx][renwu_y+zy]=3;

}

elseif(map_ram[renwu_x+sx+sx][renwu_y+zy+zy]==4)

{

print_onetitle(renwu_x,renwu_y,jingling[4]);

map_ram[renwu_x][renwu_y]=4;

renwu_x=renwu_x+sx;renwu_y=renwu_y+zy;

print_onetitle(renwu_x,renwu_y,jingling[6]);

map_ram[renwu_x][renwu_y]=6;

print_onetitle(renwu_x+sx,renwu_y+zy,jingling[5]);

map_ram[renwu_x+sx][renwu_y+zy]=5;

}

}

}

}

//³õʼ»¯¿ªÊ¼½çÃ棬µÈ´ý½øÈëÓÎÏ·

voidinit_0(void)

{

uncharlala=0;

lcd_init();

delay(50);

while(lala==0)

{

if(ok==0)

{

delay(20);

if(ok==0)

{

write_cmd(0x01);

write_cmd(0x01);

clear_map();

guoguan();

lala=1;

}

}

}

}

//ÑÓʱ×Ó³ÌÐò

voiddelay(unintt)

{

uninti,j;

for(i=0;i

for(j=0;j<100;j++);

}

//æ±ê־λ¼ì²é

voidchk_busy(void)

{

RS=0;

RW=1;

E=1;

P0=0xff;

while((P0&0x80)==0x80);

E=0;

}

//дÃüÁîµ½LCD

voidwrite_cmd(uncharcmd)

{

chk_busy();

RS=0;

RW=0;

E=1;

P0=cmd;

E=0;

}

//дÊý¾Ýµ½LCD

voidwrite_dat(unchardat)

{

chk_busy();

RS=1;

RW=0;

E=1;

P0=dat;

E=0;

}

//³õʼ»¯½çÃæ

voidlcd_init(void)

{

unchari;

uncharcode*p;

p=map0;

write_cmd(0x30);//Ñ¡Ôñ»ù±¾Ö¸Á

write_cmd(0x0c);//¿ªÏÔʾ(ÎÞÓαꡢ²»·´°×)

write_cmd(0x01);//Çå³ýÏÔʾ£¬²¢ÇÒÉ趨µØÖ·Ö¸ÕëΪ00H

write_cmd(0x06);//Ö¸¶¨ÔÚ×ÊÁϵĶÁÈ¡¼°Ð´Èëʱ//×Ô¶¯ÓÒÒÆ

for(i=0;i<64;i++)

{

write_dat(*p);

p++;

}

}

//Çå³ýÏÔʾÕû¸öͼƬ

voidclear_map(void)

{

uncharx,y;

write_cmd(0x34);//ʹÓÃÀ©³äÖ¸Áî

for(y=0;y<64;y++)

for(x=0;x<16;x++)

{

write_cmd(y+0x80);//ÐеØÖ·

write_cmd(x+0x80);//ÁеØÖ·

write_dat(0x00);

write_dat(0x00);

}

}

//¹ý¹ØºóˢнçÃæ

voidguoguan(void)

{

unchari,j;

clear_map();

clear_map();

for(i=0;i<8;i++)

for(j=0;j<8;j++)

{

map_ram[i][j]=map[game][j][i];

if(map_ram[i][j]==1)

{

renwu_x=i;

renwu_y=j;

}

}

for(i=0;i<4;i++)

for(j=0;j<8;j++)

{

print_title(i,j,jingling[map_ram[2*i][j]],jingling[map_ram[2*i+1][j]]);

}

game++;

}

//ÔÚÖ¸¶¨Î»ÖÃÒ»´ÎÏÔʾÁ½¸ötitle

voi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1