1、推箱子游戏89C52 12864#include#define unchar unsigned char#define unint unsigned intunchar game = 0; /unchar renwu_x,renwu_y; /unchar map_ram88= 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*/unchar
2、 code map88= /*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
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
4、,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,
5、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
6、,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,;unchar code map0= ;/*/unchar code jingling78= 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,0x
7、FF,/ 0x00,0x3C,0x5A,0x66,0x66,0x5A,0x3C,0x00,/ 0xFF,0xBD,0xDB,0xE7,0xE7,0xDB,0xBD,0xFF,/ 0x3C,0x3C,0x18,0x7E,0x5A,0x24,0x42,0x81,/;/*/void init_0(void);/void delay(unint t);/void chk_busy(void);/void write_cmd(unchar cmd);/LCDvoid write_dat(unchar dat);/LCDvoid clear_map(void);/void lcd_init(void);/
8、void guoguan(void);/void print_title(unchar xx , unchar yy , unchar code *title1 , unchar code *title2);/titlevoid print_onetitle(unchar xx , unchar yy , unchar code *title);/titlevoid shuaxin(void);/void anjian(char sx,char zy);/*/sbit RS = P10;sbit RW = P12;sbit E = P11;sbit ok = P30;sbit shang =
9、P31;sbit xia = P32;sbit zuo = P33;sbit you = P34;void main() 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);
10、if(ok = 0) clear_map(); shuaxin(); void anjian(char sx,char zy) if(map_ramrenwu_xrenwu_y = 1) if(map_ramrenwu_x+sxrenwu_y+zy = 0) print_onetitle(renwu_x,renwu_y,jingling0); map_ramrenwu_xrenwu_y = 0; renwu_x = renwu_x + sx;renwu_y = renwu_y + zy; print_onetitle(renwu_x,renwu_y,jingling1); map_ramren
11、wu_xrenwu_y = 1; else if(map_ramrenwu_x+sxrenwu_y+zy = 4) print_onetitle(renwu_x,renwu_y,jingling0); map_ramrenwu_xrenwu_y = 0; renwu_x = renwu_x + sx;renwu_y = renwu_y + zy; print_onetitle(renwu_x,renwu_y,jingling6); map_ramrenwu_xrenwu_y = 6; else if(map_ramrenwu_x+sxrenwu_y+zy = 3) if(map_ramrenw
12、u_x+sx+sxrenwu_y+zy+zy = 0) print_onetitle(renwu_x,renwu_y,jingling0); map_ramrenwu_xrenwu_y = 0; renwu_x = renwu_x + sx;renwu_y = renwu_y + zy; print_onetitle(renwu_x,renwu_y,jingling1); map_ramrenwu_xrenwu_y = 1; print_onetitle(renwu_x+sx,renwu_y+zy,jingling3); map_ramrenwu_x+sxrenwu_y+zy = 3; els
13、e if(map_ramrenwu_x+sx+sxrenwu_y+zy+zy = 4) print_onetitle(renwu_x,renwu_y,jingling0); map_ramrenwu_xrenwu_y = 0; renwu_x = renwu_x + sx;renwu_y = renwu_y + zy; print_onetitle(renwu_x,renwu_y,jingling1); map_ramrenwu_xrenwu_y = 1; print_onetitle(renwu_x+sx,renwu_y+zy,jingling5); map_ramrenwu_x+sxren
14、wu_y+zy = 5; else if(map_ramrenwu_x+sxrenwu_y+zy = 5) if(map_ramrenwu_x+sx+sxrenwu_y+zy+zy = 0) print_onetitle(renwu_x,renwu_y,jingling0); map_ramrenwu_xrenwu_y = 0; renwu_x = renwu_x + sx;renwu_y = renwu_y + zy; print_onetitle(renwu_x,renwu_y,jingling6); map_ramrenwu_xrenwu_y = 6; print_onetitle(re
15、nwu_x+sx,renwu_y+zy,jingling3); map_ramrenwu_x+sxrenwu_y+zy = 3; else if(map_ramrenwu_x+sx+sxrenwu_y+zy+zy = 4) print_onetitle(renwu_x,renwu_y,jingling0); map_ramrenwu_xrenwu_y = 0; renwu_x = renwu_x + sx;renwu_y = renwu_y + zy; print_onetitle(renwu_x,renwu_y,jingling6); map_ramrenwu_xrenwu_y = 6; p
16、rint_onetitle(renwu_x+sx,renwu_y+zy,jingling5); map_ramrenwu_x+sxrenwu_y+zy = 5; else if(map_ramrenwu_xrenwu_y = 6) if(map_ramrenwu_x+sxrenwu_y+sx = 0) print_onetitle(renwu_x,renwu_y,jingling4); map_ramrenwu_xrenwu_y = 4; renwu_x = renwu_x + sx;renwu_y = renwu_y + zy; print_onetitle(renwu_x,renwu_y,
17、jingling1); map_ramrenwu_xrenwu_y = 1; else if(map_ramrenwu_x+sxrenwu_y+zy = 4) print_onetitle(renwu_x,renwu_y,jingling4); map_ramrenwu_xrenwu_y = 4; renwu_x = renwu_x + sx;renwu_y = renwu_y + zy; print_onetitle(renwu_x,renwu_y,jingling6); map_ramrenwu_xrenwu_y = 6; else if(map_ramrenwu_x+sxrenwu_y+
18、zy = 3) if(map_ramrenwu_x+sx+sxrenwu_y+zy+zy = 0) print_onetitle(renwu_x,renwu_y,jingling4); map_ramrenwu_xrenwu_y = 4; renwu_x = renwu_x + sx;renwu_y = renwu_y + zy; print_onetitle(renwu_x,renwu_y,jingling1); map_ramrenwu_xrenwu_y = 1; print_onetitle(renwu_x+sx,renwu_y+zy,jingling3); map_ramrenwu_x
19、+sxrenwu_y+zy = 3; else if(map_ramrenwu_x+sx+sxrenwu_y+zy+zy = 4) print_onetitle(renwu_x,renwu_y,jingling4); map_ramrenwu_xrenwu_y = 4; renwu_x = renwu_x + sx;renwu_y = renwu_y + zy; print_onetitle(renwu_x,renwu_y,jingling1); map_ramrenwu_xrenwu_y = 1; print_onetitle(renwu_x+sx,renwu_y+zy,jingling5)
20、; map_ramrenwu_x+sxrenwu_y+zy = 5; else if(map_ramrenwu_x+sxrenwu_y+zy = 5) if(map_ramrenwu_x+sx+sxrenwu_y+zy+zy = 0) print_onetitle(renwu_x,renwu_y,jingling4); map_ramrenwu_xrenwu_y = 4; renwu_x = renwu_x + sx;renwu_y = renwu_y + zy; print_onetitle(renwu_x,renwu_y,jingling6); map_ramrenwu_xrenwu_y
21、= 6; print_onetitle(renwu_x+sx,renwu_y+zy,jingling3); map_ramrenwu_x+sxrenwu_y+zy = 3; else if(map_ramrenwu_x+sx+sxrenwu_y+zy+zy = 4) print_onetitle(renwu_x,renwu_y,jingling4); map_ramrenwu_xrenwu_y = 4; renwu_x = renwu_x + sx;renwu_y = renwu_y + zy; print_onetitle(renwu_x,renwu_y,jingling6); map_ra
22、mrenwu_xrenwu_y = 6; print_onetitle(renwu_x+sx,renwu_y+zy,jingling5); map_ramrenwu_x+sxrenwu_y+zy = 5; /void init_0(void) unchar lala = 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; /void delay(unint t)
23、unint i,j; for(i=0;it;i+) for(j=0;j100;j+);/void chk_busy(void) RS=0; RW=1; E=1; P0=0xff; while(P0&0x80)=0x80); E=0;/LCDvoid write_cmd(unchar cmd) chk_busy(); RS=0; RW=0; E=1; P0=cmd; E=0;/LCDvoid write_dat(unchar dat) chk_busy(); RS=1; RW=0; E=1; P0=dat; E=0;/void lcd_init(void) unchar i; unchar co
24、de *p; p = map0; write_cmd(0x30); / write_cmd(0x0c); /() write_cmd(0x01); /00H write_cmd(0x06); / for(i=0;i64;i+) write_dat(*p); p+; /void clear_map(void) unchar x,y; write_cmd(0x34);/ for(y=0;y64;y+) for(x=0;x16;x+) write_cmd(y+0x80); / write_cmd(x+0x80); / write_dat(0x00); write_dat(0x00); /void guoguan(void) unchar i,j; clear_map(); clear_map(); for(i=0;i8;i+) for(j=0;j8;j+) map_ramij=mapgameji; if(map_ramij = 1) renwu_x = i; renwu_y = j; for(i=0;i4;i+) for(j=0;j8;j+) print_title(i,j,jinglingmap_ram2*ij,jinglingmap_ram2*i+1j); game+;/titlevoi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1