我真的需要帮助。我正在尝试创建一个机器人,以发现它走出迷宫的方式。我已经使用一系列角色创建了迷宫,但我实际上不知道如何解决这个问题。我真的很喜欢一些帮助。
我需要实现3个函数: •createMaze(char maze [] [columns],int columns,int rows) - 初始化您的迷宫•showMaze(char迷宫[] [列],int列,int行) - 显示迷宫机器人 •机器人(焦迷宫[] [列],INT lastColumn,诠释LASTROW,INT & nextColumn,诠释 & nextRow) - 机器人做随机移动我该如何制作一个机器人(用字符'X'表示),通过使用随机数生成的迷宫方式找到它
这里是我到目前为止的代码:
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
int main()
{
char maze [10][10] =
{ {'*','*','*','*','*','*','*','*','*','*',},
{'*', ' ', ' ', ' ',' ', ' ',' ', ' ',' ', ' ',},
{'*','*',' ','*','*','*','*',' ','*','*',},
{'*','*',' ','*',' ','*','*',' ','*','*',},
{'*','*',' ',' ','*','*','*',' ','*','*',},
{'*','*',' ','*','*','*','*','*',' ','*',},
{'*','*',' ',' ',' ','*',' ','*','*',' ',},
{'*','*','*','*',' ','*','*','*','*','*',},
{'*','*','*','*',' ','*','*','*','*',' ',},
{'*','*','*','*',' ','*',' ',' ','*','*',}
};
for (int row = 0; row < 10; row++)
{
for (int col = 0; col < 10; col++)
{
cout << maze[row][col];
}
cout << endl;
}
return 0;
}
cout << ================================= << endl;
/*
********** // robot enters from here
*
** **** **
** * ** **
** *** **
** ***** *
** * **
**** *****
**** ****
**** * **
// robot exits here
Program ended with exit code: 0
*/
你能提供一些更多的参数给你的问题吗?是否有确定的入口/出口点?还是机器人需要找到?机器人能够立即看到整个迷宫吗?或者只有它可以在任何给定步骤中移动的4个可能方向?如果机器人使用进入迷宫的相同入口退出迷宫,那么可以吗? – MikeMayer67
在“夜间狗的好奇事件”中有详细的算法。请参阅https://en.wikipedia.org/wiki/The_Curious_Incident_of_the_Dog_in_the_Night-Time – Bathsheba