From ebd2f4397a92c6a5096de1b86d59154363344720 Mon Sep 17 00:00:00 2001 From: vincentlu <t1341870251@gmail.com> Date: 星期二, 13 五月 2025 08:48:15 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/NavigateNode.java | 43 ++++++++++++++++--------------------------- 1 files changed, 16 insertions(+), 27 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/NavigateNode.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/NavigateNode.java index f3bab8b..d202df8 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/NavigateNode.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/NavigateNode.java @@ -3,10 +3,10 @@ import lombok.Data; import java.io.Serializable; -import java.util.Optional; +import java.util.Objects; /** - * A*瀵昏矾绠楁硶Node鑺傜偣 + * Node鑺傜偣 */ @Data public class NavigateNode implements Comparable<NavigateNode>, Cloneable, Serializable { @@ -18,14 +18,8 @@ private int z; //鍧愭爣z(楂樺害) private int F; //缁煎悎鑺辫垂鐨勬鏁� - private int G; //宸茬粡鑺辫垂鐨勬鏁� - private int H; //灏嗚鑺辫垂鐨勬鏁� private NavigateNode parent; //鐖惰妭鐐� - private Boolean turningPoint; //鏄惁涓烘嫄鐐� - private String direction; //琛岃蛋鏂瑰悜 - private Integer lastDistance; // 璺濈涓婁釜鑺傜偣璺濈 - private Integer moveDistance; // 鎬昏璧拌窛绂� private Integer weight; // G 鏉冮噸 private String codeData; @@ -39,25 +33,6 @@ this.x = x; this.y = y; this.codeData = codeData; - } - - //閫氳繃缁撶偣鐨勫潗鏍囧拰鐩爣缁撶偣鐨勫潗鏍囧彲浠ヨ绠楀嚭F锛� G锛� H涓変釜灞炴�� - //闇�瑕佷紶鍏ヨ繖涓妭鐐圭殑涓婁竴涓妭鐐瑰拰鏈�缁堢殑缁撶偣 - public void initNode(NavigateNode father, NavigateNode end) { - this.parent = father; - if (this.parent != null) { - //璧拌繃鐨勬鏁扮瓑浜庣埗鑺傜偣璧拌繃鐨勬鏁板姞涓� - this.G = father.G - + Optional.ofNullable(this.lastDistance).orElse(0) - + Optional.ofNullable(this.weight).orElse(0); - } else { //鐖惰妭鐐逛负绌轰唬琛ㄥ畠鏄涓�涓粨鐐� - this.G = 0; - } - - //浠ヤ笅璁$畻鏂规涓虹畻娉曞師濮嬫柟妗堬紝娌℃湁鍘绘嫄鐐规柟妗堛�傚凡琚玈olution璁$畻鏃惰嚜鍔ㄨ鐩栥�� - //璁$畻閫氳繃鐜板湪鐨勭粨鐐圭殑浣嶇疆鍜屾渶缁堢粨鐐圭殑浣嶇疆璁$畻H鍊�(鏇煎搱椤挎硶锛氬潗鏍囧垎鍒彇宸�肩浉鍔�) - this.H = Math.abs(this.x - end.x) + Math.abs(this.y - end.y); - this.F = this.G + this.H; } @Override @@ -74,4 +49,18 @@ } return null; } + + @Override + public boolean equals(Object obj) { + if (this == obj) return true; + if (!(obj instanceof NavigateNode)) return false; + NavigateNode that = (NavigateNode) obj; + return this.x == that.x && this.y == that.y; + } + + @Override + public int hashCode() { + return Objects.hash(x, y); + } + } -- Gitblit v1.9.1