From d655e19ad18eea30f3627fc1c499ae9fe4200d92 Mon Sep 17 00:00:00 2001
From: 826220679@qq.com <826220679@qq.com>
Date: 星期六, 27 十二月 2025 09:16:35 +0800
Subject: [PATCH] 删除了一个没用文件夹
---
src/lujing/AoxinglujingHaveObstacel.java | 25 ++++++++++++++++++++++++-
1 files changed, 24 insertions(+), 1 deletions(-)
diff --git a/src/lujing/AoxinglujingHaveObstacel.java b/src/lujing/AoxinglujingHaveObstacel.java
index 5e2f046..ded40ab 100644
--- a/src/lujing/AoxinglujingHaveObstacel.java
+++ b/src/lujing/AoxinglujingHaveObstacel.java
@@ -182,7 +182,30 @@
private static List<Obstacle> parseObstacles(String obsStr, double margin) {
List<Obstacle> list = new ArrayList<>();
if (obsStr == null || obsStr.isEmpty()) return list;
- for (String part : obsStr.split("\\$")) {
+
+ // 鍏煎涓ょ鏍煎紡锛�
+ // 1. 鎷彿鍒嗛殧锛�(x1,y1;x2,y2)(x3,y3;x4,y4)
+ // 2. $鍒嗛殧锛歺1,y1;x2,y2$x3,y3;x4,y4
+
+ String[] groups;
+ if (obsStr.contains("(") && obsStr.contains(")")) {
+ // 澶勭悊鎷彿鏍煎紡
+ // 绉婚櫎鎵�鏈夌┖鐧藉瓧绗�
+ String cleanStr = obsStr.replaceAll("\\s+", "");
+ // 鎻愬彇鎷彿鍐呯殑鍐呭
+ List<String> parts = new ArrayList<>();
+ java.util.regex.Matcher m = java.util.regex.Pattern.compile("\\(([^)]+)\\)").matcher(cleanStr);
+ while (m.find()) {
+ parts.add(m.group(1));
+ }
+ groups = parts.toArray(new String[0]);
+ } else {
+ // 澶勭悊$鍒嗛殧鏍煎紡
+ groups = obsStr.split("\\$");
+ }
+
+ for (String part : groups) {
+ if (part == null || part.trim().isEmpty()) continue;
List<Point> pts = parseCoords(part);
if (pts.size() == 2) {
double r = dist(pts.get(0), pts.get(1));
--
Gitblit v1.10.0