Мне нужно прочитать файл и решить лабиринт. Что мне нужно сделать, так это прочитать лабиринт и распечатать решение следующим образом.Java простой совет лабиринта
walls marked by '#'
passages marked by ' '
path marked by 'X'
start/end marked by 'S'/'E'
(x,y) location of the start. (0,0) is upper left and (width-1,height-1) is lower right
(x,y) location of the end
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 1
1 0 1 0 1 1 1 1 1 1
1 0 1 0 0 0 0 0 0 1
1 0 1 1 0 1 0 1 1 1
1 0 1 0 0 1 0 1 0 1
1 0 1 0 0 0 0 0 0 1
1 0 1 1 1 0 1 1 1 1
1 0 1 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1
OUTPUT:
##########
#SXX #
# #X######
# #XX #
# ##X# ###
# # X# # #
# # XX #
# ###X####
# # XXXE#
##########
Это просто пример, демонстрирующий, что я должен делать. Может ли кто-нибудь посоветовать мне, пожалуйста, на какой процедуре я должен следовать? Я не прошу какого-либо кода, мне просто нужна отправная точка для решения этого лабиринта.
Нужно ли просто проверить файл и заменить «1» на «#» и т. Д. Или мне нужно использовать какой-то алгоритм? Буду признателен за любую оказанную помощь.
рекурсия будет ключом, я думаю. –
Вам нужно будет перебирать строки за строкой через файл и создавать список из списка строк квадратов игры. Поиск маршрута - это совсем другая история, вам понадобится алгоритм поиска пути AI, если вы хотите, чтобы это работало с любой создаваемой вами картой. – dahui
Без заданной начальной и конечной точек существует множество решений. – rajah9