项目实现准备工作:
1.安装easyX,vs2010版本。
以下是自己写的代码
源代码:
#include#include #include #include #include #include "box_man.h" IMAGE img_res[ALL]; void changeMap(struct _POS *next_POS,enum _POR prop) { map[next_POS->x][next_POS->y]=prop; putimage(next_POS->y*RATIO+Shift_X,next_POS->x*RATIO+Shift_Y,&img_res[prop]); } void gameCotrol(enum _DIRECT direct) { struct _POS next_pos=man; struct _POS next_next_pos=man; switch(direct) { case UP: next_pos.x--; next_next_pos.x-=2; break; case DOWN: next_pos.x++; next_next_pos.x+=2; break; case LEFT: next_pos.y--; next_next_pos.y-=2; break; case RIGHT: next_pos.y++; next_next_pos.y+=2; break; } if(isValid(next_pos)&&map[next_pos.x][next_pos.y]==FLOOR) { changeMap(&next_pos,MAN); changeMap(&man,FLOOR); man=next_pos; }else if(isValid(next_pos)&&map[next_pos.x][next_pos.y]==BOX) { if(map[next_next_pos.x][next_next_pos.y]==BOX_DES) { changeMap(&next_next_pos,HIT); changeMap(&next_pos,MAN); changeMap(&man,FLOOR); man=next_pos; }else if(map[next_next_pos.x][next_next_pos.y]==FLOOR) { changeMap(&next_next_pos,BOX); changeMap(&next_pos,MAN); changeMap(&man,FLOOR); man=next_pos; } } } void gameOver(IMAGE *black_ground) { putimage(0,0,black_ground); settextcolor(YELLOW); RECT rec={0,0,WEIGHT,HEIGHT}; settextstyle(20,0,L"宋体"); drawtext(L"恭喜你通关~n",&rec,DT_CENTER|DT_VCENTER|DT_SINGLELINE); //&rec:参照这个矩形,DT_CENTER:水平居中,DT_VCENTER:垂直居中,DT_SINGLELINE:文字显示单行 } bool isGameOver() { for(int i=0;i 头文件:
#define LINE 9 #define COLUMN 12 #define RATIO 61 #define WEIGHT 960 #define HEIGHT 768 #define KEY_UP 'w' #define KEY_DOWN 's' #define KEY_LEFT 'a' #define KEY_RIGHT 'd' #define KEY_QUIT 'q' #define Shift_X 100 #define Shift_Y 150 #define isValid(pos) pos.x>=0&&pos.x=0&&pos.y 很简单有趣,初学者可以多试试。



