From d3cc456ffe53a2423c80377d4d96b79459405e29 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期六, 09 九月 2023 16:21:09 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/utils/NavigateUtils.java | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/common/utils/NavigateUtils.java b/src/main/java/com/zy/common/utils/NavigateUtils.java index 16be082..e0a730d 100644 --- a/src/main/java/com/zy/common/utils/NavigateUtils.java +++ b/src/main/java/com/zy/common/utils/NavigateUtils.java @@ -223,6 +223,8 @@ * 鑾峰彇涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂� */ public static Integer getMiddleToDistDistance(List<NavigateNode> path, NavigateNode middlePath) { + //鏈�鍚庝竴鏉¤妭鐐逛笉璁$畻杩涜璧拌窛绂� + NavigateNode lastPath = path.get(path.size() - 1); //鎬昏窛绂� int allDistance = 0; boolean flag = false; @@ -231,6 +233,10 @@ flag = true; } + if (navigateNode.equals(lastPath)) { + continue;//鏈�鍚庝竴鏉¤妭鐐逛笉璁$畻杩涜璧拌窛绂� + } + if (flag) { allDistance += navigateNode.getMoveDistance(); } @@ -238,6 +244,21 @@ return allDistance; } + /** + * 妫�娴嬭矾寰勬槸鍚﹀彲鐢�(鍙蛋) + */ + public static boolean checkPathIsAvailable(List<NavigateNode> path, Integer shuttleNo, Integer lev) { + NavigateSolution solution = new NavigateSolution(NavigationMapType.DFX.id, lev, null, Utils.getShuttlePoints(shuttleNo, lev));//鑾峰彇鏃犵櫧鍚嶅崟鍦板浘(璇ュ湴鍥惧寘鍚皬杞﹀潗鏍�) + int[][] map = solution.map; + for (NavigateNode node : path) { + int value = map[node.getX()][node.getY()]; + if (value != 0 && value != 3) { + return false; + } + } + return true; + } + public static void main(String[] args) { //璁$畻璺緞 List<NavigateNode> calc = calc("1000901", "1800201", NavigationMapType.NONE.id, null); -- Gitblit v1.9.1