новая папка / Java lab#3
.docxМинистерство цифрового развития, связи и массовых коммуникаций Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра «Математическая кибернетика и информационные технологии»
Лабораторная работа №3
«Алгоритм A*»
по дисциплине «Кроссплатформенные технологии»
Проверила:
Полянцева К.А.
Москва 2022
Содержание
3.1. Подготовка класса Location для совместного использования с классами коллекции Java 3
3.2. Завершение реализации класса AStarState 4
1. Цель работы: реализовать работу алгоритма по поиску пути от начального местоположения до пункта назначения с успешным преодолением препятствий.
2. Задание:
2.1 Подготовить класс Location для совместного использования с классами коллекции Java.
Задачи:
Обеспечить реализацию метода equals ()
Обеспечить реализацию метода hashcode().
2.2 Завершить реализацию класса AStarState
Задачи:
Добавить два (нестатических) поля в класс AStarState: одно для "открытых вершин" и другое для "закрытых вершин"
реализовать следующие методы в классе AStarState:
public int numOpenWaypoints(),
public Waypoint getMinOpenWaypoint(),
public boolean addOpenWaypoint(Waypoint newWP),
public boolean isLocationClosed(Location loc),
public void closeWaypoint(Location loc)
3. Ход выполнения лабораторной работы
3.1. Подготовка класса Location для совместного использования с классами коллекции Java
Код метода equals () с комментариями представлен на рисунке 1.
Рисунок 1 – Код метода equals ()
Код метода hashcode() с комментариями представлен на рисунке 2
Рисунок 2 – Код метода hashcode()
3.2. Завершение реализации класса AStarState
Добавление двух (нестатических) поля в класс AStarState (одно для "открытых вершин" и другое для "закрытых вершин") реализуется посредством кода, представленного на рисунке 3.
Рисунок 3 – Объявление полей для закрытых и открытых вершин
Код метода public int numOpenWaypoints(), возвращающего количество открытых вершин, в классе AStarState представлен на рисунке 4.
Рисунок 4 – Код метода public int numOpenWaypoints()
Код метода public Waypoint getMinOpenWaypoint() с комментариями в классе AStarState представлен на рисунке 5.
Рисунок 5 – Код метода public Waypoint getMinOpenWaypoint()
Код метода public boolean addOpenWaypoint(Waypoint newWP) с комментариями в классе AStarState представлен на рисунке 6.
Рисунок 6 – Код метода public boolean addOpenWaypoint(Waypoint newWP)
Код метода public boolean isLocationClosed(Location loc) с комментариями в классе AStarState представлен на рисунке 7.
Рисунок 7 – Код метода public boolean isLocationClosed(Location loc)
Код метода public void closeWaypoint(Location loc) с комментариями в классе AStarState представлен на рисунке 8.
Рисунок 7 – Код метода public void closeWaypoint(Location loc)
4. Ссылка на репозиторий гитхаба
https://github.com/TerraficMint/ssss
5. Вывод
Я реализовала работу алгоритма по поиску пути от начального местоположения до пункта назначения с успешным преодолением препятствий.
Список использованной литературы
Камаев В.А., Костерин В.В. Технологии программирования. М.: Высшая школа, 2006.
Жоголев Е.А.Технология программирования. – М.: Научный мир, 2004.
ГОСТ 7.32-2017 Система стандартов по информации, библиотечному и издательскому делу. Отчет о научно-исследовательской работе. Структура и правила оформления. - URL: https://files.stroyinf.ru/Index/655/65555.htm
Git:
Scott Chacon, Ben Straub «Pro Git»
git-scm.com