Итак, я пытаюсь создать программу для поиска лабиринтов, которая бы решала лабиринты X и O. Что я хотел бы сделать, так это создать класс точек, чтобы я мог создать двумерный массив точек, который позволял бы печатать на выходной странице, а также реализовывать стек сравнительно просто.
Простейший алгоритм общей идеи, который я хотел бы реализовать в самой программе, на мой взгляд, должен быть:
1) Move forward
2) Are you at a wall?
2a) If yes, turn left
3) Are you at the finish?
3a) If no, go to 1
3b) If yes, solved
Но у меня возникают проблемы при разработке более глубокого алгоритма, а также при размещении класса очков. Я знаю, что для Точек я должен был установить координату X и установить координату Y, а также получатели для двух. Как вы думаете, мне нужно больше методов, чем эти два? Например, я должен создать метод, который передает координаты x и координаты y в качестве параметров, чтобы я мог просто соединить их вместе как один, вместо того, чтобы устанавливать x и y по отдельности?
Вот как будет выглядеть примерный лабиринт, когда вы начнете в правом нижнем углу и попытаетесь перейти в верхний левый угол, где X - это стены, а O - открытые пространства в лабиринте:
O O O O O X O
X X O X O O X
O X O O X X X
X X X O O X O
X X X X O O X
O O O O O O O
X X O X X X O