astarvisualizer's People
astarvisualizer's Issues
Кнопка справки
Добавить кнопку справки редактирования графа.
Изменить цвет конечной вершины поиска
Перекрасить ядовито-жёлтый в более приятный оттенок.
Добавить панель меню с функциями сохранения и загрузки графа
HeuristicFactory: выбрасывание исключений
Выбрасывать исключение, в случае, если Фабричный метод не может подобрать нужный класс эфвристических функций для переданной строки-названия эвристики.
Избавиться от магических констант для размеров вершин в файле AStarVisualizer
Много всяких 30, 30, -15...
Сделать так, чтобы вершины появлялись с центром в месте, куда указывает курсор
Поручаю это задание Лящевской :)
Исправить баг с масштабированием графа
После отдаления и повторного приближении графа, вершины появляются в стороне от курсора. Расстояние от курсора до вершины как-то зависит от расстояния от левого верхнего угла до курсора.
Логирование
Найти место, и добавить компонент для отображения логов работы алгоритма.
Эвристические функции
Изменить сигнатуру метода интерфейса IHeuristic
: должен принимать 2 точки.
Написать реализации интерефейса для разных видов дистанций.
Избавиться от анонимных слушателей
В целях сокращения объёма кода в конструкторах классов необходимо избавить от анонимных слушателей в классах AStarInterface
и AStarVisulizer
. Для этого внутри соответствующих классов определяете в явном виде классы-слушателей: public class NextButtonListener implements ActionListener { ... }
. Соответственно при добавлении обработчика должно быть написано просто: nextButton.addActionListener(new NextButtonListener())
.
Устанавливать в качестве веса ребра по умолчанию расстояние между соединяемыми вершинами
В классе Point
реализовать метод distanceTo(Point point)
. При создании ребра выставлять вес через этот метод. Желательно развить идею: при перемещении вершины, все инцидентные ей рёбра должны в соответствии с новым расстоянием изменять веса.
Рефакторинг метода покраски вершины
Заменить метод покраски вершины setColor(Object vertex, String color)
на 3. Необходима окраска вершины в соответствии со статусами: не посещённая, посещаемая, посещённая. То есть не позволять AStarAlgorithm
самостоятельно выбирать цвет.
Заняться юнит-тестами
Хотя бы подготовить окружение и запилить демонстационный юнит-тест, чтоб под копирку можно было остальные написать.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.