当前位置: 首页>>代码示例>>C++>>正文


C++ Coord::get_col方法代码示例

本文整理汇总了C++中Coord::get_col方法的典型用法代码示例。如果您正苦于以下问题:C++ Coord::get_col方法的具体用法?C++ Coord::get_col怎么用?C++ Coord::get_col使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Coord的用法示例。


在下文中一共展示了Coord::get_col方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: blocked_with

	bool GameBoard::blocked_with(Coord coord) {
		bool visited [size_rows][size_cols];
		for (int r = 0; r < size_rows; ++r) {
			for (int c = 0; c < size_cols; ++c) {
				visited[r][c] = false;
			}
		}
		visited[coord.get_row()][coord.get_col()] = true;
		std::queue<Coord> queue;

		queue.push(Coord(0, size_cols-1));
		visited[0][size_cols-1] = true;

		Coord current;
		int r, c;
		while (!queue.empty()) {
			current = queue.front();
			queue.pop();
			r = current.get_row();
			c = current.get_col();

			if (c <= 0) {
				return false;
			}

			if (r+1 < size_rows &&
					!visited[r + 1][c] &&
					tman.get(Coord(r+1,c)) == nullptr) {
				visited[r + 1][c] = true;
				queue.push(Coord(r + 1, c));
			}
			if (r > 0 &&
					!visited[r - 1][c] &&
					tman.get(Coord(r-1,c)) == nullptr) {
				visited[r - 1][c] = true;
				queue.push(Coord(r - 1, c));
			}
			if (c+1 < size_cols &&
					!visited[r][c + 1] &&
					tman.get(Coord(r,c+1)) == nullptr) {
				visited[r][c + 1] = true;
				queue.push(Coord(r, c + 1));
			}
			if (c > 0 &&
					!visited[r][c - 1] &&
					tman.get(Coord(r,c-1)) == nullptr) {
				visited[r][c - 1] = true;
				queue.push(Coord(r, c - 1));
			}
		}

		return true;
	}
开发者ID:langest,项目名称:terminal_defense,代码行数:53,代码来源:gameboard.cpp


注:本文中的Coord::get_col方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。