From d13a01d1769f29b336e5b9f8612c6d41aaabbbb1 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 22 十一月 2024 20:42:20 +0800
Subject: [PATCH] #读取地图文件优化

---
 src/main/java/com/zy/common/utils/NavigateSolution.java |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/common/utils/NavigateSolution.java b/src/main/java/com/zy/common/utils/NavigateSolution.java
index 89046a8..7956020 100644
--- a/src/main/java/com/zy/common/utils/NavigateSolution.java
+++ b/src/main/java/com/zy/common/utils/NavigateSolution.java
@@ -3,6 +3,7 @@
 import com.zy.common.model.NavigateNode;
 
 import java.util.ArrayList;
+import java.util.List;
 import java.util.PriorityQueue;
 
 /**
@@ -21,10 +22,13 @@
         this.map = data;
     }
 
-    public NavigateSolution(String mapType) {
-        //杞藉叆鍦板浘
-        NavigateMapData mapData = new NavigateMapData();
-        int[][] data = mapData.getData(mapType);
+    public NavigateSolution(Integer mapType, Integer lev, List<int[]> whitePoints, List<int[]> shuttlePoints) {
+        //杞藉叆鍦板浘鎸囧畾灞傞珮鍦板浘
+        NavigateMapData mapData = new NavigateMapData(lev);
+        int[][] data = mapData.getDataFromRedis(mapType, whitePoints, shuttlePoints);
+        if (data == null) {
+            data = mapData.getData(mapType, whitePoints, shuttlePoints);
+        }
         this.map = data;
     }
 
@@ -135,8 +139,8 @@
             }
         }
 
-        if (map[x][y] == 0 || map[x][y] == 3) {
-            //瀛愯建鍜屾瘝杞ㄦ墠鑳借繘琛屼笂涓嬬Щ鍔�
+        if (map[x][y] == 0 || map[x][y] == 3 || map[x][y] == 4 || map[x][y] == 5) {
+            //瀛愯建鍜屾瘝杞ㄣ�佽緭閫佺嚎銆佸厖鐢垫々鎵嶈兘杩涜涓婁笅绉诲姩
             if (is_valid(x + 1, y))
             {
                 NavigateNode node = new NavigateNode(x + 1, y);
@@ -204,7 +208,7 @@
         鎷垮埌鐖惰妭鐐瑰拰涓嬩竴鑺傜偣
         閫氳繃鍒ゆ柇鐖惰妭鐐瑰拰涓嬩竴鑺傜偣鐨剎鏁版嵁鍜寉鏁版嵁閮戒笉鐩稿悓鏃讹紝鍒欒〃鏄庡綋鍓嶅潗鏍囨槸涓�涓嫄鐐�
          */
-        return 2;
+        return 10;
     }
 
     //------------------A*鍚彂鍑芥暟-end------------------//

--
Gitblit v1.9.1