1 / 20
文档名称:

推箱子程序设计报告.docx

格式:docx   大小:364KB   页数:20页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

推箱子程序设计报告.docx

上传人:分享精品 2017/12/12 文件大小:364 KB

下载得到文件列表

推箱子程序设计报告.docx

文档介绍

文档介绍:程序设计报告



通信学院
电子信息1204工程班
1207050420
郝国成
设计思路
推箱子游戏是一款很有趣味的游戏,其开发过程有一定的技
巧和方法,其中涉及到二维数组、键盘操作以及图形化函数等方面的知识。
设计推箱子这个游戏,目的是将箱子推到指定的空位,以完成游戏。
首先,要在窗口上,绘制地图,画出墙和草地。
然后,要保证人和箱子可以移动,这个就用到了case WM_KEYDOWN函数去控制了。
下来,就是要制定游戏规则,根据游戏规则,箱子可以在空地之间、目的地之间、空地和目的地之间来回移动,。
最后,把全部箱子移动到指定位置才算完成本次游戏,因此箱子每移动一次都必须判断全部箱子当前位置是否到达指定坐标。而且,只要游戏没有结束,就没有时间的限制。
大体思路确定以后就是要去怎么做,怎么去实现自己的想法。
我是采用二维数组绘制地图的原理,把资源图片一张张绘制到窗口DC上,然后记录人物资源的坐标,通过方向键响应,改变人物坐标,达到控制人物移动的目的。箱子也同样是这个道理。
想好思路以后,就是动手写代码。这期间我又认识了好多新的Windows的函数,不断的修改,使我更能深刻理解到WIN 32 的作用,收获很大。
部分代码
// : Defines the entry point for the application.
#include ""
#include ""
//#include ""//导入声音头文件
//#ment(lib,"")//导入声音头文件库
#define MAX_LOADSTRING 100
#define width 48
#define heigth 48
typedef struct
{
int x;
int y;
}point;
char map1[10][10]= //地图二维数组
{
" ####",
" ### @#",
" # b #",
" ## # ###",
" # # #*#",
" # # b*#",
" # b *#",
" ########",
" "
};
char map2[10][10]= //地图二维数组
{
"nnnn#####",
"nnnn# @#",
"###n#bb #",
"#*#n# b #",
"#*### ###",
"#* ##n",
"# # #n",
"#### #",
"nnn#####",
" "
};
static int bStarted=0;
int a = 0;
int aimnum_qj=0;
int aimnum=0;
int boxoknum_qj=0;
char map_mid[10][10];
char map[10][10];
point man_mid;
RECT map_bg[10][10];
RECT ManDes;
void DrawMap(HWND hWnd,char **Dmap,int m,int n); //加载地图
void DrawPicture(HWND hWnd,HBITMAP hBmp,RECT spot);
void keydown_up(HWND hWnd);
void keydown_left(HWND hWnd);
void keydown_down(HWND hWnd);
void keydown_right(HWND hWnd);
void up_result();
void left_result();
void right_result();
void down_result();
LPCTSTR szFileName0="";
//HBITMAP hBmp_man=(HBITMAP)LoadImage(NULL,szFileName0,IMAGE_BITMAP,0,0,
// LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);
HBITMAP hBmp_man=(HBITMAP)LoadImage(NULL,szFileName0,IMAGE_BITMAP,0,0,
LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);
LPCTSTR szFileName1="";
HBITMAP hBmp_box=(HBITMAP)LoadImag