Использование стека для прохождения и решения лабиринта - Java

Итак, я пытаюсь создать программу-решатель лабиринта, которая бы решала лабиринт из крестиков и ноликов. Что я хотел бы сделать, так это создать класс Points, чтобы я мог создать 2-мерный массив Points, который позволил бы печатать на страницу вывода, а также реализовать стек, чтобы он был относительно простым.

Простейший алгоритм общей идеи, которую я хотел бы реализовать в самой программе, я считаю, должен быть таким:

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

Но у меня возникают трудности с более глубоким алгоритмом, а также с расположением класса Points. Я знаю, что для Points нужно задать координату X и координату Y, а также геттеры для них. Как вы думаете, нужно ли мне больше методов, чем эти два? Например, должен ли я создать метод, передающий координаты x и y в качестве параметров, чтобы я мог просто соединить их вместе, вместо того, чтобы задавать x и y по отдельности?

Вот как будет выглядеть пример лабиринта, где вы начинаете в правом нижнем углу и пытаетесь пройти в левый верхний, с X's как стены, и O's как открытые пространства в лабиринте:

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
6
задан Bill the Lizard 26 September 2012 в 00:23
поделиться