模块划分
地图初始化
台面搭建
地图表示
将上图划分为小的方格,使用二维数组代表每个方格,二维数组中存储不同的数字代表方格不同的功能,比如:墙、箱子、小人、目标位置、路
道具表示
墙: 0,地板: 1,箱子目的地: 2, 小人: 3, 箱子: 4, 箱子命中目标: 5
例如:
#include <graphics.h>
#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;
//使用宏定义,方便代码的后期维护
#define RATIO 61
#define SCREEN_WIDTH 960
#define SCREEN_HEIGHT 768
#define LINE 9
#define COLUMN 12
#define START_X 100
#define START_Y 150
IMAGE images[6];//全局变量设置图标种类数目
/*游戏地图*/
int map[LINE][COLUMN] = {
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0 },
{ 0, 1, 4, 1, 0, 2, 1, 0, 2, 1, 0, 0 },
{ 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0 },
{ 0, 1, 0, 2, 0, 1, 1, 4, 1, 1, 1, 0 },
{ 0, 1, 1, 1, 0, 3, 1, 1, 1, 4, 1, 0 },
{ 0, 1, 2, 1, 1, 4, 1, 1, 1, 1, 1, 0 },
{ 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
};
int main(void){
IMAGE bg_img;
//搭台
initgraph(SCREEN_WIDTH, SCREEN_HEIGHT);//创建画面,并设置其大小
loadimage(&bg_img, _T("blackground.bmp"), SCREEN_WIDTH,
SCREEN_HEIGHT, true);//加载画面背景图片
putimage(0, 0, &bg_img);//放置画面背景图片,并设置其位置
//加载道具图标
loadimage(&images[0], _T("wall.bmp"), RATIO, RATIO, true);
loadimage(&images[1], _T("floor.bmp"), RATIO, RATIO, true);
loadimage(&images[2], _T("des.bmp"), RATIO, RATIO, true);
loadimage(&images[3], _T("man.bmp"), RATIO, RATIO, true);
loadimage(&images[4], _T("box.bmp"), RATIO, RATIO, true);
loadimage(&images[5], _T("box.bmp"), RATIO, RATIO, true);
for(int i = 0; i< LINE; i++){
for(int j = 0; j < COLUMN; j++){
putimage(START_X+j*RATIO, START_Y+i*RATIO,
&images[map[i][j]]);//在对应位置放置道具图标
}
}
system("pause");
return 0;
}
备注:由于设备问题,上述代码未执行,仅供参考,后期会补充执行后的版本