我试图建立阻止“阻塞路径”的算法。我画随机iteams并打印上图: [...] 如何防止阻塞路径?
的 “X” 是球员。它可以在此地图上移动,但不能停留在“#”字段中。平局之后的路径被阻断(“X”不能移动,例如”,(3,2):
有人有想法,概念或材料怎么写算法,防止平局‘#’ ?当阻塞道路
这是一段我的代码:
void build_dungeon(MAP_GRID& map, int chance, string object)
{
int i, j;
for (i = 0; i < g_map_size; i++){
for (j = 0; j < g_map_size; j++){
if (rand() % 100 >= (100 - chance) && map[i][j] == "[ ]" && anti_stuck(map, i, j)){
map[i][j] = object;
print_map(map);
}
}
}
}
我想写anti_stuck功能
为什么算法的绘制代码的一部分?我会期待一个2维的int数组,其中数组中的每个点表示一个特定的状态。你想同时绘制和计算,这是一个错误的方法。 – PaulMcKenzie 2014-11-06 22:31:19
如果你写关于print_map(map) - 我只是为了调试才写的。 – Kulis 2014-11-06 22:33:56
但是你的if()语句包含了一个非常奇怪的“[]”测试。这就是我所指的。那甚至不应该在那里。如果下个星期,你决定做一个GUI游戏而不是文本游戏?或者你选择一组不同的字符来编写网格?该算法将保持完全相同,但绘图会有所不同。查看'Model-View-Controller'设计模式。 – PaulMcKenzie 2014-11-06 22:37:11