admin 管理员组文章数量: 1086019
2024年3月10日发(作者:余弦定理所有公式)
c语言走迷宫代码
以下是一个简单的 C 语言走迷宫代码示例,使用了递归算法:
```c
#include
#include
int main() {
int size, row, col, choice, i, j;
maze[0][0] = "*";
maze[1][0] = "O";
maze[0][1] = "O";
maze[1][1] = "*";
size = 2;
row = 2;
col = 2;
while (1) {
printf("Enter row: ");
scanf("%d", &row);
printf("Enter col: ");
scanf("%d", &col);
if (row < 0 || row > size || col < 0 || col > size) {
printf("Invalid row or col. Try again.
");
continue;
}
if (maze[row][col] != "*") {
printf("Current cell is free. Try again.
");
continue;
}
maze[row][col] = "X";
printf("Enter a choice (1-6): ");
scanf("%d", &choice);
switch (choice) {
case 1:
row++;
col = 0;
break;
case 2:
row--;
col = 0;
break;
case 3:
col++;
break;
case 4:
col--;
break;
case 5:
row--;
col = 1;
break;
case 6:
row++;
col = 1;
break;
default:
printf("Invalid choice. Try again.
");
continue;
}
}
printf(" maze: ");
for (i = 0; i < size * size; i++) {
for (j = 0; j < size; j++) {
if (maze[i][j] == "*")
printf("*");
else
printf("%c", maze[i][j]);
}
printf("
");
}
return 0;
}
```
该程序首先初始化了一个 2x2 的迷宫,其中 `maze[0][0]` 和
`maze[1][0]` 分别标记为 `"O"` 和 `"*"`,其他地方都为空。然后
程序会要求用户输入行和列,然后根据输入更新迷宫。如果输入的行
和列不合法,程序会提示并重新输入。如果输入的行和列合法,程序
会更新迷宫,并让用户再次输入选择,以继续游戏。该程序使用了简
单的递归算法,每次根据当前迷宫状态更新,如果当前状态无法更新,
则递归到下一层。最终,程序会输出一个完整的迷宫,用户可以在其
中探索。
版权声明:本文标题:c语言走迷宫代码 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1710029355a554386.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论