Лабиринты Java, часть 2: класс Waypoint
Продолжим с лабиринтами. Сегодня мы напишем класс Waypoint. Этот класс представляет собой один шаг в пути, созданном поиском пути A* алгоритма. Путевые точки состоят из местоположения, предыдущей путевой точки в пути и некоторых значений стоимости, используемых для определения наилучшего пути.
Итак, код класса:
public class Waypoint { /** Локация этой путевой точки. **/ Location loc; /** * Предыдущая путевая точка на этом пути или <code> null </code>, если это * начало поиска A*. **/ Waypoint prevWaypoint; /** * В этом поле хранится общая предыдущая стоимость получения с начала * местоположения этой путевой точки через цепочку путевых точек. Это * фактическая стоимость следования по пути; он не включает никаких оценок. **/ private float prevCost; /** * В этом поле хранится оценка оставшейся стоимости поездки из * эта путевая точка до конечного пункта назначения. **/ private float remainingCost; /** * Конструктор для новой путевой точки для указанного местоположения. Предыдущая путевая точка * можно указать или ссылка может быть <code> null </code> что * будет указывать, что путевая точка является началом пути. **/ public Waypoint(Location loc, Waypoint prevWaypoint) { this.loc = loc; this.prevWaypoint = prevWaypoint; } /** Возвращает местоположение путевой точки. **/ public Location getLocation() { return loc; } /** * Возвращает предыдущую путевую точку в пути или <code> null </code>, если это * - начало пути. **/ public Waypoint getPrevious() { return prevWaypoint; } /** * Этот мутатор позволяет изменять как предыдущую, так и оставшуюся стоимость. * установить за один вызов метода. Обычно эти значения будут равны * в любом случае время. **/ public void setCosts(float prevCost, float remainingCost) { this.prevCost = prevCost; this.remainingCost = remainingCost; } /** * Возвращает фактическую стоимость перехода к этой точке с самого начала. * местоположение, через серию путевых точек в этой цепочке. **/ public float getPreviousCost() { return prevCost; } /** * Возвращает оценку оставшейся стоимости поездки из этого * указать конечный пункт назначения. **/ public float getRemainingCost() { return remainingCost; } /** * Возвращает оценку общей стоимости данной путевой точки. Это включает * фактическая стоимость проезда к этой точке от места старта плюс * оценка оставшейся стоимости поездки от этой точки до * пункта назначения. **/ public float getTotalCost() { return prevCost + remainingCost; } }
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.