c++做一个地图
下面是一个简单的C++代码示例,用于创建一个地图。
#include <iostream>
#include <vector>
using namespace std;
// 地图大小
const int ROWS = 5;
const int COLS = 5;
// 地图元素类型
enum MapElement {
WALL,
PATH,
START,
GOAL
};
// 地图类
class Map {
public:
Map() {
// 初始化地图
map.resize(ROWS, vector<MapElement>(COLS, WALL));
}
void setElement(int row, int col, MapElement element) {
map[row][col] = element;
}
void printMap() {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
switch (map[i][j]) {
case WALL:
cout << "# ";
break;
case PATH:
cout << ". ";
break;
case START:
cout << "S ";
break;
case GOAL:
cout << "G ";
break;
}
}
cout << endl;
}
}
private:
vector<vector<MapElement>> map;
};
int main() {
Map map;
// 设置地图元素
map.setElement(1, 1, START);
map.setElement(3, 3, GOAL);
// 打印地图
map.printMap();
return 0;
}
这个示例代码创建了一个5x5的地图,使用枚举类型MapElement表示地图元素,包括墙壁(WALL)、路径(PATH)、起点(START)和目标(GOAL)。Map类提供了设置地图元素和打印地图的功能。在main函数中,我们创建了一个地图对象map,设置起点和目标,并打印地图。
运行上述代码,输出结果如下:
# # # # #
# S # # #
# # # # #
# # # G #
# # # # #
这是一个简单的地图,起点用"S"表示,目标用"G"表示,墙壁用"#"表示,其他位置为空地。你可以根据自己的需求修改代码,创建更复杂的地图。
原文地址: https://www.cveoy.top/t/topic/i4UH 著作权归作者所有。请勿转载和采集!