C++ 如何让机器人(由角色';X';表示)找到它';使用随机数生成的s通过迷宫的方式
我真的需要帮助。我正试图创造一个机器人来找到走出迷宫的路。我已经用一组字符创建了迷宫,但我真的不知道如何解决这个问题。我真的需要一些帮助。C++ 如何让机器人(由角色';X';表示)找到它';使用随机数生成的s通过迷宫的方式,c++,maze,C++,Maze,我真的需要帮助。我正试图创造一个机器人来找到走出迷宫的路。我已经用一组字符创建了迷宫,但我真的不知道如何解决这个问题。我真的需要一些帮助。 我需要实现3个功能: •createMaze(字符迷宫[][列]、int列、int行)-初始化迷宫 •显示迷宫(字符迷宫[][列]、整数列、整数行)-显示迷宫和机器人 •机器人(字符迷宫[][列]、int lastColumn、int lastRow、int&nextColumn、int &下一步)–机器人进行随机移动 以下是我目前的代码: #include
我需要实现3个功能: •createMaze(字符迷宫[][列]、int列、int行)-初始化迷宫 •显示迷宫(字符迷宫[][列]、整数列、整数行)-显示迷宫和机器人 •机器人(字符迷宫[][列]、int lastColumn、int lastRow、int&nextColumn、int &下一步)–机器人进行随机移动 以下是我目前的代码:
#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
*/
#包括
#包括
#包括
使用名称空间std;
int main()
{
字符迷宫[10][10]=
{ {'*','*','*','*','*','*','*','*','*','*',},
{'*', ' ', ' ', ' ',' ', ' ',' ', ' ',' ', ' ',},
{'*','*',' ','*','*','*','*',' ','*','*',},
{'*','*',' ','*',' ','*','*',' ','*','*',},
{'*','*',' ',' ','*','*','*',' ','*','*',},
{'*','*',' ','*','*','*','*','*',' ','*',},
{'*','*',' ',' ',' ','*',' ','*','*',' ',},
{'*','*','*','*',' ','*','*','*','*','*',},
{'*','*','*','*',' ','*','*','*','*',' ',},
{'*','*','*','*',' ','*',' ',' ','*','*',}
};
对于(int行=0;行<10;行++)
{
for(int col=0;col<10;col++)
{
人们会说,始终沿着墙走,最终你会找到出路。我在我的代码中使用这种方式。从一开始就开始,并始终检查你周围的东西。选择一堵墙,左手边或右手边。让角色沿着墙走。它会找到出路。这就像你开始走路时把手滑到墙上一样你永远不会把手从墙上移开
例如,在下面的图片中,我放置了一个链接。打开链接,从起点开始,只沿着一堵墙走,左边的墙在起点或右边。你会找到出路。我尝试了一个机器人竞赛,就像我们在寻找房间一样,寻找一些东西。
你在这里的优势是知道迷宫的起始和结束位置。既然你知道这一点,你可以使用这里提到的A*搜索算法:
今年早些时候,我用它解决了Palo Alto Networks挑战赛中的一个迷宫问题,效果很好
我也尝试过随机行走,它可以解决迷宫问题,但是这种算法效率更高,因为你知道环境。你能为你的问题提供更多的参数吗?是否有一个定义的入口/出口点…或者机器人也需要找到它?机器人能一次看到整个迷宫还是只看到4个POS它可以在任何给定的步骤上移动到什么方向?如果机器人使用它进入迷宫的同一入口离开迷宫是否可以?有一个算法在“夜间狗的奇怪事件”中详细介绍。参见