Я делаю 2D-игру на лабиринте на основе плитки, и я пытаюсь запрограммировать AI-плеер, который может найти свой путь через лабиринт. В отличие от обычного поиска путей, я хотел бы ограничить видение каждого игрока (включая игрока AI) на 2x2 вокруг них. То есть, ИИ должен знать только окружающую 5x5 сетку вокруг него и точные координаты в лабиринте, как:Поиск путей с ограниченным зрением
Tile mapRecord[MAP_SIZE][MAP_SIZE];
Direction FindPathAI(int row, int column, Tile surroundings[5][5]) {
int i, j;
int r = row - 3, c = column - 3;
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
r = (r + MAP_SIZE + 1) % MAP_SIZE; //wrap around
c = (c + MAP_SIZE + 1) % MAP_SIZE; //wrap around
mapRecord[r][c] = surroundings[i][j];
}
}
//FindPath
//return the direction to go
}
Что может быть возможный способ решить эту проблему? Я думаю, что могу объявить массив размера всей карты и записать видение игрока AI на карту. Но потом я застрял на том, что мне делать дальше ... любая идея? Спасибо.
Затем вы пишете код для поиска пути через лабиринт? – Manu