首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用16位无符号整数数组在C++中创建一个Maze类?

在C++中,创建一个Maze类,可以使用16位无符号整数数组来表示迷宫的结构和状态。以下是一个简单的示例:

代码语言:cpp
复制
#include<iostream>
#include<vector>

class Maze {
public:
    Maze(uint16_t width, uint16_t height)
        : width_(width), height_(height), maze_(width * height, 0) {}

    void setWall(uint16_t x, uint16_t y, bool isWall) {
        maze_[y * width_ + x] = isWall ? 1 : 0;
    }

    bool isWall(uint16_t x, uint16_t y) const {
        return maze_[y * width_ + x] == 1;
    }

    uint16_t width() const { return width_; }
    uint16_t height() const { return height_; }

private:
    uint16_t width_;
    uint16_t height_;
    std::vector<uint16_t> maze_;
};

int main() {
    Maze maze(5, 5);
    maze.setWall(1, 1, true);
    maze.setWall(1, 2, true);
    maze.setWall(2, 1, true);
    maze.setWall(2, 2, true);

    for (uint16_t y = 0; y < maze.height(); ++y) {
        for (uint16_t x = 0; x < maze.width(); ++x) {
            std::cout << (maze.isWall(x, y) ? "X" : " ");
        }
        std::cout<< std::endl;
    }

    return 0;
}

这个示例中,我们创建了一个Maze类,使用16位无符号整数数组表示迷宫的结构和状态。Maze类有一个构造函数,接受迷宫的宽度和高度作为参数,并初始化一个大小为宽度乘以高度的整数数组,用于表示迷宫的结构和状态。Maze类还有一个setWall函数,用于设置迷宫中指定位置的墙壁状态,以及一个isWall函数,用于检查迷宫中指定位置是否有墙壁。

在main函数中,我们创建了一个5x5的迷宫,并设置了一些墙壁的位置,然后使用嵌套循环遍历迷宫中的每个位置,输出迷宫的结构和状态。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券